bc358281d8a8d15f754929006c6d7876f93a73b5.svn-base 470 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467
  1. package QCM.QCM03.QCM0302;
  2. import CoreFS.SA01.CoreIComponent;
  3. import CoreFS.SA06.CoreReturnObject;
  4. import QCM.COMMUNAL.QCM02.SqlJoint;
  5. import QCM.COMMUNAL.ResultModel;
  6. import QCM.COMMUNAL.VO.*;
  7. import QCM.JHY01.JHY0101.DuplicateSample2;
  8. import QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl;
  9. import QCM.QCM03.QCM0307.QcmRejudgeApplyServiceImpl;
  10. import org.apache.commons.collections.CollectionUtils;
  11. import org.apache.commons.lang.StringUtils;
  12. import org.apache.ibatis.session.SqlSession;
  13. import org.apache.log4j.Logger;
  14. import pda.WebService1Impl;
  15. import com.alibaba.fastjson.JSONArray;
  16. import com.alibaba.fastjson.JSONObject;
  17. import java.sql.CallableStatement;
  18. import java.sql.Connection;
  19. import java.sql.ResultSet;
  20. import java.text.SimpleDateFormat;
  21. import java.util.ArrayList;
  22. import java.util.Date;
  23. import java.util.HashMap;
  24. import java.util.List;
  25. import java.util.regex.Matcher;
  26. import java.util.regex.Pattern;
  27. public class QcmJhyPhyresultServiceImpl extends CoreIComponent{
  28. CoreReturnObject cro = new CoreReturnObject();
  29. SqlSession SqlSession =
  30. QCM.COMMUNAL.SqlSessionBuilder.openSqlSession();
  31. QCM.COMMUNAL.OrderSqMapper mapper = SqlSession.getMapper(QCM.COMMUNAL.OrderSqMapper.class);
  32. Logger logger = Logger.getLogger(this.getClass().getName());
  33. public String StrSky(String begintime,String endtime){
  34. String sql = "select (to_date('"+endtime+"','yyyy-MM-dd') - to_date('"+begintime+"','yyyy-MM-dd')) SKY from dual";
  35. HashMap list = mapper.queryOne(sql);
  36. Double ble = Double.parseDouble(list.get("SKY").toString());
  37. String tstr="查询时间不能大于半年,请核实查询时间条件!";
  38. if(ble>=0 && ble <=185 ){
  39. tstr="TRUE";
  40. }
  41. return tstr;
  42. }
  43. /**
  44. * 查询待判信息(检验委托提供)
  45. */
  46. public CoreReturnObject getRejudgeInfo(String begintime,String endtime,String sbatchno,String ebatchno,String design_key,String psc_desc,String type,String prodline,String certinstname,String status,String time_type,String heat_no){
  47. try{
  48. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(sbatchno)) {
  49. String sky=StrSky(begintime,endtime);
  50. if(!sky.equals("TRUE")){
  51. SqlSession.close();
  52. cro.setV_errCode(-1);
  53. cro.setV_errMsg(sky);
  54. return cro;
  55. }
  56. }
  57. String swhere = " 1=1";
  58. String swhere1 = "";
  59. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)&& SqlJoint.IsNullOrSpace(sbatchno) && SqlJoint.IsNullOrSpace(ebatchno)) { //时间
  60. if(time_type.equals("0")){
  61. swhere += " and to_date(to_char(m.create_time,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  62. }else if(time_type.equals("1")){
  63. swhere1 += " and to_date(to_char(SEND_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  64. }
  65. }
  66. if (!SqlJoint.IsNullOrSpace(sbatchno)) { //轧批号
  67. swhere += " and o.batch_no >= '"+sbatchno+"'";
  68. }
  69. if (!SqlJoint.IsNullOrSpace(ebatchno)) { //板坯号
  70. swhere += " and o.batch_no <= '"+ebatchno+"'";
  71. }
  72. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  73. swhere += " and o.design_key like '%"+design_key+"%'";
  74. }
  75. if (!SqlJoint.IsNullOrSpace(psc_desc)) { //Psc
  76. swhere += " and o.psc_desc like '%"+psc_desc+"%'";
  77. }
  78. if(!SqlJoint.IsNullOrSpace(heat_no)){
  79. swhere += " and o.heat_no like '%"+heat_no+"%'";
  80. }
  81. if(!SqlJoint.IsNullOrSpace(type)){
  82. //卷板
  83. if(type.equals("0")){
  84. swhere += " and o.pline_code in ('LT1','SZ1','RZ1')";
  85. }
  86. //中厚板
  87. else if(type.equals("1")){
  88. swhere += " and o.pline_code in ('ZB1','HB1')";
  89. }
  90. //线棒
  91. else if(type.equals("2")){
  92. swhere += " and o.pline_code in ('GX1','BC1','BC2','GX2')";
  93. }
  94. }
  95. if(status.equals("有性能")){
  96. swhere1 += " and status IN ( '3','5') AND SMP_NO NOT IN (SELECT SMP_NO FROM qcm_jhy_sample_consign_d WHERE validflag = '1' and STATUS <> '3' AND STATUS <> '5')";
  97. }else if(status.equals("无性能")){
  98. swhere1 += " and status not in ('3','5')";
  99. }
  100. if(prodline.equals("中板线")){
  101. swhere += " and o.pline_code in ('ZB1') ";
  102. }else if(prodline.equals("厚板线")){
  103. swhere += " and o.pline_code in ('HB1') ";
  104. }else if(prodline.equals("热连轧")){
  105. swhere += " and o.pline_code in ('RZ1') ";
  106. }else if(prodline.equals("酸轧")){
  107. swhere += " and o.pline_code in ('SZ1') ";
  108. }else if(prodline.equals("连退")){
  109. swhere += " and o.pline_code in ('LT1') ";
  110. }else if(prodline.equals("高棒")){
  111. swhere += " and o.pline_code in ('GX1') ";
  112. }else if(prodline.equals("棒二")){
  113. swhere += " and o.pline_code in ('BC2') ";
  114. }else if(prodline.equals("高线")){
  115. swhere += " and o.pline_code in ('GX2') ";
  116. }
  117. if(!SqlJoint.IsNullOrSpace(certinstname) && !certinstname.equals("全部")){
  118. swhere += " and O.CERT_INST_NAME = '"+certinstname+"'";
  119. }
  120. //2023/3/6 委托部分发送查询优化更改
  121. String swhere3 = "and exists (select 1 from qcm_jhy_sample_consign_d t2 where t2.smp_no = o.smp_no and t2.status <> '0')";
  122. String sql = "SELECT O.BATCH_NO, "
  123. + " o.design_key, "
  124. + " o.smp_no, "
  125. + " O.CERT_INST_NAME,"
  126. + " O.SMP_TYPE_NAME, "
  127. + " o.steel_name, "
  128. + " o.prod_name, "
  129. + " o.std_name, "
  130. + " o.delivery_state_desc, "
  131. + " case when o.thick > -1 and o.thick < 1 and o.thick != 0 then '0' || round(o.thick,7) else '' || round(o.thick,7) end thick, "
  132. + " o.width, "
  133. + " o.length, "
  134. + " m.pline_name, "
  135. + " o.heat_no, "
  136. + " (select max(send_time) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) CREATE_TIME,"
  137. + "O.INSPECTION_LOT, "
  138. +" (select max(memo) from qcm_ord_design_memo a where a.design_key = o.design_key) memo, "
  139. +" (select max(material_no) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) material_no, "
  140. +" (select max(process_nos) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) ht_no, "
  141. + " (select case when max(a.Smp_Type_Code) = '3' then '件件取样' when max(a.Smp_Type_Code) = '4' then '按母板取样' when max(a.Smp_Type_Code) = '1' then '复样' "
  142. + " when max(a.Smp_Type_Code) = '0' and max(o.CERT_INST_CODE) in ('IC003', 'IC004','IC001', 'IC010', '5000') then "
  143. + " '初样' else '认证样' end from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) Smp_Type_Code ,\n" +
  144. " (select max( to_char(t.create_time,'yyyy-MM-dd hh24:mi:ss')) upload_time\n" +
  145. " from qcm_jhy_insp_physics t\n" +
  146. " where t.specimen_no in (select specimen_no from QCM_JHY_SAMPLE_CONSIGN_D where smp_no = o.smp_no)) upload_time,(select case when dbms_lob.substr(wmsys.wm_concat(DISTINCT t.SMP_RATE_DESC)) is null then '无取样要求' else dbms_lob.substr(wmsys.wm_concat(DISTINCT t.SMP_RATE_DESC)) end SMP_RATE_DESC from qcm_ord_design_std_pic_smp t where t.design_key = o.design_key) SMP_RATE_DESC"
  147. +" from QCM_JHY_SAMPLE_R_ORD o "
  148. + " inner join QCM_JHY_SAMPLE_CONSIGN_M m "
  149. + " on m.smp_no = o.smp_no "
  150. + " and o.judge_status = '0' "
  151. + " and m.smp_catg = 'B' AND O.SMP_NO IN (SELECT smp_no FROM qcm_jhy_sample_consign_d WHERE validflag = '1' and STATUS <> '0' "+swhere1+") " + swhere3 + "where "+swhere+" ORDER BY M.CREATE_TIME DESC";
  152. List<HashMap> listEle=mapper.query(sql);
  153. cro.setResult(listEle);
  154. }catch(Exception ex){
  155. cro.setV_errCode(-1);
  156. cro.setV_errMsg("获取材质待判信息出错"+ex.getMessage());
  157. logger.info(ex.getMessage());
  158. SqlSession.rollback();
  159. }
  160. SqlSession.close();
  161. return cro;
  162. }
  163. /**
  164. * 查询待判信息(检验委托提供)
  165. */
  166. public CoreReturnObject getRejudgeInfoZhb(String begintime,String endtime,String sbatchno,String ebatchno,String design_key,String psc_desc,String type,String prodline,String certinstname,String status,String time_type,String heat_no){
  167. try{
  168. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(sbatchno)) {
  169. String sky=StrSky(begintime,endtime);
  170. if(!sky.equals("TRUE")){
  171. SqlSession.close();
  172. cro.setV_errCode(-1);
  173. cro.setV_errMsg(sky);
  174. return cro;
  175. }
  176. }
  177. String swhere = " 1=1";
  178. String swhere1 = "";
  179. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)&& SqlJoint.IsNullOrSpace(sbatchno) && SqlJoint.IsNullOrSpace(ebatchno)) { //时间
  180. if(time_type.equals("0")){
  181. swhere += " and to_date(to_char(m.create_time,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  182. }else if(time_type.equals("1")){
  183. swhere1 += " and to_date(to_char(SEND_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  184. }
  185. }
  186. if (!SqlJoint.IsNullOrSpace(sbatchno)) { //轧批号
  187. swhere += " and o.batch_no >= '"+sbatchno+"'";
  188. }
  189. if (!SqlJoint.IsNullOrSpace(ebatchno)) { //板坯号
  190. swhere += " and o.batch_no <= '"+ebatchno+"'";
  191. }
  192. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  193. swhere += " and o.design_key like '%"+design_key+"%'";
  194. }
  195. if (!SqlJoint.IsNullOrSpace(psc_desc)) { //Psc
  196. swhere += " and o.psc_desc like '%"+psc_desc+"%'";
  197. }
  198. if(!SqlJoint.IsNullOrSpace(heat_no)){
  199. swhere += " and o.heat_no like '%"+heat_no+"%'";
  200. }
  201. if(!SqlJoint.IsNullOrSpace(type)){
  202. //卷板
  203. if(type.equals("0")){
  204. swhere += " and o.pline_code in ('LT1','SZ1','RZ1')";
  205. }
  206. //中厚板
  207. else if(type.equals("1")){
  208. swhere += " and o.pline_code in ('ZB1','HB1')";
  209. }
  210. //线棒
  211. else if(type.equals("2")){
  212. swhere += " and o.pline_code in ('GX1','BC1','BC2','GX2')";
  213. }
  214. }
  215. if(status.equals("有性能")){
  216. swhere1 += " and status IN ( '3','5') AND SMP_NO NOT IN (SELECT SMP_NO FROM qcm_jhy_sample_consign_d WHERE validflag = '1' and STATUS <> '3' AND STATUS <> '5')";
  217. }else if(status.equals("无性能")){
  218. swhere1 += " and status not in ('3','5')";
  219. }
  220. if(prodline.equals("中板线")){
  221. swhere += " and o.pline_code in ('ZB1') ";
  222. }else if(prodline.equals("厚板线")){
  223. swhere += " and o.pline_code in ('HB1') ";
  224. }else if(prodline.equals("热连轧")){
  225. swhere += " and o.pline_code in ('RZ1') ";
  226. }else if(prodline.equals("酸轧")){
  227. swhere += " and o.pline_code in ('SZ1') ";
  228. }else if(prodline.equals("连退")){
  229. swhere += " and o.pline_code in ('LT1') ";
  230. }else if(prodline.equals("高棒")){
  231. swhere += " and o.pline_code in ('GX1') ";
  232. }else if(prodline.equals("棒二")){
  233. swhere += " and o.pline_code in ('BC2') ";
  234. }else if(prodline.equals("高线")){
  235. swhere += " and o.pline_code in ('GX2') ";
  236. }
  237. if(!SqlJoint.IsNullOrSpace(certinstname) && !certinstname.equals("全部")){
  238. swhere += " and O.CERT_INST_NAME = '"+certinstname+"'";
  239. }
  240. //2023/3/6 委托部分发送查询优化更改
  241. String swhere3 = "and exists (select 1 from qcm_jhy_sample_consign_d t2 where t2.smp_no = o.smp_no and t2.status <> '0')";
  242. String sql = "SELECT O.BATCH_NO, "
  243. + " o.design_key, "
  244. + " o.smp_no, "
  245. + " O.CERT_INST_NAME,"
  246. + " O.SMP_TYPE_NAME, "
  247. + " o.steel_name, "
  248. + " o.prod_name, "
  249. + " o.std_name, "
  250. + " o.delivery_state_desc, "
  251. + " case when o.thick > -1 and o.thick < 1 and o.thick != 0 then '0' || round(o.thick,7) else '' || round(o.thick,7) end thick, "
  252. + " o.width, "
  253. + " o.length, "
  254. + " m.pline_name, "
  255. + " o.heat_no, "
  256. + " (select case when count(1) >0 then '预测' else 'lims' end rownum1 from QCM_JHY_SAMPLE_CONSIGN_D t,QCM_JHY_INSP_PHYSICS i "
  257. + " where t.specimen_no = i.specimen_no "
  258. + " and i.create_name = 'QMS' "
  259. + " and t.smp_no = o.smp_no) SOURCE,"
  260. + " (select max(send_time) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) CREATE_TIME,"
  261. + "O.INSPECTION_LOT, "
  262. +" (select max(memo) from qcm_ord_design_memo a where a.design_key = o.design_key) memo, "
  263. +" (select max(material_no) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) material_no, "
  264. +" (select max(process_nos) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) ht_no, "
  265. + " (select case when max(a.Smp_Type_Code) = '3' then '件件取样' when max(a.Smp_Type_Code) = '4' then '按母板取样' when max(a.Smp_Type_Code) = '1' then '复样' "
  266. + " when max(a.Smp_Type_Code) = '0' and max(o.CERT_INST_CODE) in ('IC003', 'IC004','IC001', 'IC010', '5000') then "
  267. + " '初样' else '认证样' end from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) Smp_Type_Code ,\n" +
  268. " (select max( to_char(t.create_time,'yyyy-MM-dd hh24:mi:ss')) upload_time\n" +
  269. " from qcm_jhy_insp_physics t\n" +
  270. " where t.specimen_no in (select specimen_no from QCM_JHY_SAMPLE_CONSIGN_D where smp_no = o.smp_no)) upload_time,(select case when dbms_lob.substr(wmsys.wm_concat(DISTINCT t.SMP_RATE_DESC)) is null then '无取样要求' else dbms_lob.substr(wmsys.wm_concat(DISTINCT t.SMP_RATE_DESC)) end SMP_RATE_DESC from qcm_ord_design_std_pic_smp t where t.design_key = o.design_key) SMP_RATE_DESC"
  271. +" from QCM_JHY_SAMPLE_R_ORD o "
  272. + " inner join QCM_JHY_SAMPLE_CONSIGN_M m "
  273. + " on m.smp_no = o.smp_no "
  274. + " and o.judge_status = '0' "
  275. + " and m.smp_catg = 'B' AND O.SMP_NO IN (SELECT smp_no FROM qcm_jhy_sample_consign_d WHERE validflag = '1' and STATUS <> '0' "+swhere1+") " + swhere3 + "where "+swhere+" ORDER BY M.CREATE_TIME DESC";
  276. List<HashMap> listEle=mapper.query(sql);
  277. cro.setResult(listEle);
  278. }catch(Exception ex){
  279. cro.setV_errCode(-1);
  280. cro.setV_errMsg("获取材质待判信息出错"+ex.getMessage());
  281. logger.info(ex.getMessage());
  282. SqlSession.rollback();
  283. }
  284. SqlSession.close();
  285. return cro;
  286. }
  287. /**
  288. * 查询卷板待判信息(检验委托提供)
  289. */
  290. public CoreReturnObject getRejudgeInfoJ(String begintime,String endtime,String sbatchno,String ebatchno,String design_key,String psc_desc,String type,String prodline,String certinstname,String status,String time_type,String material_no,String heat_no){
  291. try{
  292. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(sbatchno)) {
  293. String sky=StrSky(begintime,endtime);
  294. if(!sky.equals("TRUE")){
  295. SqlSession.close();
  296. cro.setV_errCode(-1);
  297. cro.setV_errMsg(sky);
  298. return cro;
  299. }
  300. }
  301. String swhere = " 1=1";
  302. String swhere1 = "";
  303. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)&& SqlJoint.IsNullOrSpace(sbatchno) && SqlJoint.IsNullOrSpace(ebatchno)) { //时间
  304. if(time_type.equals("0")){
  305. swhere += " and to_date(to_char(m.create_time,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  306. }else if(time_type.equals("1")){
  307. swhere1 += " and to_date(to_char(SEND_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  308. }
  309. }
  310. if (!SqlJoint.IsNullOrSpace(sbatchno)) { //轧批号
  311. swhere += " and o.batch_no >= '"+sbatchno+"'";
  312. }
  313. if (!SqlJoint.IsNullOrSpace(ebatchno)) { //板坯号
  314. swhere += " and o.batch_no <= '"+ebatchno+"'";
  315. }
  316. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  317. swhere += " and o.design_key like '%"+design_key+"%'";
  318. }
  319. if (!SqlJoint.IsNullOrSpace(psc_desc)) { //Psc
  320. swhere += " and o.psc_desc like '%"+psc_desc+"%'";
  321. }
  322. if(!SqlJoint.IsNullOrSpace(heat_no)){
  323. swhere += " and o.heat_no like '%"+heat_no+"%'";
  324. }
  325. if(!SqlJoint.IsNullOrSpace(type)){
  326. //卷板
  327. if(type.equals("0")){
  328. swhere += " and o.pline_code in ('LT1','SZ1','RZ1')";
  329. }
  330. //中厚板
  331. else if(type.equals("1")){
  332. swhere += " and o.pline_code in ('ZB1','HB1')";
  333. }
  334. //线棒
  335. else if(type.equals("2")){
  336. swhere += " and o.pline_code in ('GX1','BC1','BC2','GX2')";
  337. }
  338. }
  339. if(status.equals("有性能")){
  340. swhere1 += " and status IN ( '3','5') AND SMP_NO NOT IN (SELECT SMP_NO FROM qcm_jhy_sample_consign_d WHERE validflag = '1' and STATUS <> '3' AND STATUS <> '5')";
  341. }else if(status.equals("无性能")){
  342. swhere1 += " and status not in ('3','5')";
  343. }
  344. if(prodline.equals("热连轧")){
  345. swhere += " and o.pline_code in ('RZ1') ";
  346. }else if(prodline.equals("酸轧")){
  347. swhere += " and o.pline_code in ('SZ1') ";
  348. }else if(prodline.equals("连退")){
  349. swhere += " and o.pline_code in ('LT1') ";
  350. }
  351. if(!SqlJoint.IsNullOrSpace(certinstname) && !certinstname.equals("全部")){
  352. swhere += " and O.CERT_INST_NAME = '"+certinstname+"'";
  353. }
  354. String swhere3 = "and not exists (select 1 from qcm_jhy_sample_consign_d t2 where t2.smp_no = o.smp_no and t2.status = '0')";
  355. String swhere2 = " 1=1 and material_no like '"+material_no+"' || '%'";
  356. String sql = "select * from (SELECT O.BATCH_NO, "
  357. + " o.design_key, "
  358. + " o.smp_no, "
  359. + " O.CERT_INST_NAME,"
  360. + " O.SMP_TYPE_NAME, "
  361. + " o.steel_name, "
  362. + " o.prod_name, "
  363. + " o.std_name, "
  364. + " o.delivery_state_desc, "
  365. + " case when o.thick > -1 and o.thick < 1 and o.thick != 0 then '0' || round(o.thick,7) else '' || round(o.thick,7) end thick, "
  366. + " o.width, "
  367. + " o.length, "
  368. + " m.pline_name, "
  369. + " o.heat_no, "
  370. + " (select max(send_time) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) CREATE_TIME,"
  371. + "O.INSPECTION_LOT, "
  372. +" (select max(memo) from qcm_ord_design_memo a where a.design_key = o.design_key) memo, "
  373. +" (select max(material_no) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) material_no, "
  374. + " (select decode( max(a.Smp_Type_Code),'3','件件取样','1','复样','0','初样') from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) Smp_Type_Code ,\n" +
  375. " (select max( to_char(t.create_time,'yyyy-MM-dd hh24:mi:ss')) upload_time\n" +
  376. " from qcm_jhy_insp_physics t\n" +
  377. " where t.specimen_no in (select specimen_no from QCM_JHY_SAMPLE_CONSIGN_D where smp_no = o.smp_no)) upload_time,(select case when dbms_lob.substr(wmsys.wm_concat(DISTINCT t.SMP_RATE_DESC)) is null then '无取样要求' else dbms_lob.substr(wmsys.wm_concat(DISTINCT t.SMP_RATE_DESC)) end SMP_RATE_DESC from qcm_ord_design_std_pic_smp t where t.design_key = o.design_key) SMP_RATE_DESC"
  378. +" from QCM_JHY_SAMPLE_R_ORD o "
  379. + " inner join QCM_JHY_SAMPLE_CONSIGN_M m "
  380. + " on m.smp_no = o.smp_no "
  381. + " and o.judge_status = '0' "
  382. + " and m.smp_catg = 'B' AND O.SMP_NO IN (SELECT smp_no FROM qcm_jhy_sample_consign_d WHERE validflag = '1' and STATUS <> '0' "+swhere1+") " + swhere3 + "where "+swhere+" ORDER BY M.CREATE_TIME DESC) where "+swhere2+"";
  383. List<HashMap> listEle=mapper.query(sql);
  384. cro.setResult(listEle);
  385. }catch(Exception ex){
  386. cro.setV_errCode(-1);
  387. cro.setV_errMsg("获取材质待判信息出错"+ex.getMessage());
  388. logger.info(ex.getMessage());
  389. SqlSession.rollback();
  390. }
  391. SqlSession.close();
  392. return cro;
  393. }
  394. /**
  395. * 查询卷板待判信息(检验委托提供)
  396. */
  397. public CoreReturnObject getRejudgeInfoY(String begintime,String endtime,String sbatchno,String ebatchno,String design_key,String psc_desc,String type,String prodline,String certinstname,String status,String time_type,String material_no,String heat_no){
  398. try{
  399. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(sbatchno)) {
  400. String sky=StrSky(begintime,endtime);
  401. if(!sky.equals("TRUE")){
  402. SqlSession.close();
  403. cro.setV_errCode(-1);
  404. cro.setV_errMsg(sky);
  405. return cro;
  406. }
  407. }
  408. String swhere = " 1=1";
  409. String swhere1 = "";
  410. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)&& SqlJoint.IsNullOrSpace(sbatchno) && SqlJoint.IsNullOrSpace(ebatchno)) { //时间
  411. if(time_type.equals("0")){
  412. swhere += " and to_date(to_char(m.create_time,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  413. }else if(time_type.equals("1")){
  414. swhere1 += " and to_date(to_char(SEND_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  415. }
  416. }
  417. if (!SqlJoint.IsNullOrSpace(sbatchno)) { //轧批号
  418. swhere += " and o.batch_no >= '"+sbatchno+"'";
  419. }
  420. if (!SqlJoint.IsNullOrSpace(ebatchno)) { //板坯号
  421. swhere += " and o.batch_no <= '"+ebatchno+"'";
  422. }
  423. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  424. swhere += " and o.design_key like '%"+design_key+"%'";
  425. }
  426. if (!SqlJoint.IsNullOrSpace(psc_desc)) { //Psc
  427. swhere += " and o.psc_desc like '%"+psc_desc+"%'";
  428. }
  429. if(!SqlJoint.IsNullOrSpace(heat_no)){
  430. swhere += " and o.heat_no like '%"+heat_no+"%'";
  431. }
  432. /*if(!SqlJoint.IsNullOrSpace(type)){
  433. //卷板
  434. if(type.equals("0")){
  435. swhere += " and o.pline_code in ('LT1','SZ1','RZ1')";
  436. }
  437. //中厚板
  438. else if(type.equals("1")){
  439. swhere += " and o.pline_code in ('ZB1','HB1')";
  440. }
  441. //线棒
  442. else if(type.equals("2")){
  443. swhere += " and o.pline_code in ('GX1','BC1','BC2','GX2')";
  444. }
  445. }*/
  446. if(status.equals("有性能")){
  447. swhere1 += " and status IN ( '3','5') AND SMP_NO NOT IN (SELECT SMP_NO FROM qcm_jhy_sample_consign_d WHERE validflag = '1' and STATUS <> '3' AND STATUS <> '5')";
  448. }else if(status.equals("无性能")){
  449. swhere1 += " and status not in ('3','5')";
  450. }
  451. swhere += " and o.pline_code in ('YT1') ";
  452. if(!SqlJoint.IsNullOrSpace(certinstname) && !certinstname.equals("全部")){
  453. swhere += " and O.CERT_INST_NAME = '"+certinstname+"'";
  454. }
  455. String swhere3 = "and not exists (select 1 from qcm_jhy_sample_consign_d t2 where t2.smp_no = o.smp_no and t2.status = '0')";
  456. String swhere2 = " 1=1 and material_no like '"+material_no+"' || '%'";
  457. String sql = "select * from (SELECT O.BATCH_NO, "
  458. + " o.design_key, "
  459. + " o.smp_no, "
  460. + " O.CERT_INST_NAME,"
  461. + " O.SMP_TYPE_NAME, "
  462. + " o.steel_name, "
  463. + " o.prod_name, "
  464. + " o.std_name, "
  465. + " o.delivery_state_desc, "
  466. + " case when o.thick > -1 and o.thick < 1 and o.thick != 0 then '0' || round(o.thick,7) else '' || round(o.thick,7) end thick, "
  467. + " o.width, "
  468. + " o.length, "
  469. + " m.pline_name, "
  470. + " o.heat_no, "
  471. + " (select max(send_time) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) CREATE_TIME,"
  472. + "O.INSPECTION_LOT, "
  473. +" (select max(memo) from qcm_ord_design_memo a where a.design_key = o.design_key) memo, "
  474. +" (select max(material_no) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) material_no, "
  475. + " (select decode( max(a.Smp_Type_Code),'3','件件取样','1','复样','0','初样') from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) Smp_Type_Code ,\n" +
  476. " (select max( to_char(t.create_time,'yyyy-MM-dd hh24:mi:ss')) upload_time\n" +
  477. " from qcm_jhy_insp_physics t\n" +
  478. " where t.specimen_no in (select specimen_no from QCM_JHY_SAMPLE_CONSIGN_D where smp_no = o.smp_no)) upload_time,(select case when dbms_lob.substr(wmsys.wm_concat(DISTINCT t.SMP_RATE_DESC)) is null then '无取样要求' else dbms_lob.substr(wmsys.wm_concat(DISTINCT t.SMP_RATE_DESC)) end SMP_RATE_DESC from qcm_ord_design_std_pic_smp t where t.design_key = o.design_key) SMP_RATE_DESC"
  479. +" from QCM_JHY_SAMPLE_R_ORD o "
  480. + " inner join QCM_JHY_SAMPLE_CONSIGN_M m "
  481. + " on m.smp_no = o.smp_no "
  482. + " and o.judge_status = '0' "
  483. + " and m.smp_catg = 'B' AND O.SMP_NO IN (SELECT smp_no FROM qcm_jhy_sample_consign_d WHERE validflag = '1' and STATUS <> '0' "+swhere1+") " + swhere3 + "where "+swhere+" ORDER BY M.CREATE_TIME DESC) where "+swhere2+"";
  484. List<HashMap> listEle=mapper.query(sql);
  485. cro.setResult(listEle);
  486. }catch(Exception ex){
  487. cro.setV_errCode(-1);
  488. cro.setV_errMsg("获取材质待判信息出错"+ex.getMessage());
  489. logger.info(ex.getMessage());
  490. SqlSession.rollback();
  491. }
  492. SqlSession.close();
  493. return cro;
  494. }
  495. /**
  496. * 查询待判信息(检验委托提供)
  497. */
  498. public CoreReturnObject getPRejudgeInfo(String batchno){
  499. try{
  500. String sql = "select billetid from zj_result_all@xgcx a where a.billetid like '"+batchno+"'|| '%' and a.physresult = '0'";
  501. List<HashMap> listEle=mapper.query(sql);
  502. cro.setResult(listEle);
  503. }catch(Exception ex){
  504. cro.setV_errCode(-1);
  505. cro.setV_errMsg("获取材质待判信息出错"+ex.getMessage());
  506. logger.info(ex.getMessage());
  507. SqlSession.rollback();
  508. }
  509. SqlSession.close();
  510. return cro;
  511. }
  512. /**
  513. * 质量判定-材质判定管理-人工干预判定 线棒
  514. * List<QcmJhySampleConsignDItem>
  515. * */
  516. @SuppressWarnings("unchecked")
  517. public CoreReturnObject JudgeByHuman2(String smp_no,ArrayList<List> specimen_no,String username,String smp_type_code,String steelname) throws Exception{
  518. String staus="";
  519. String inspection_lot = "";
  520. ArrayList arrayList = new ArrayList();//高线判废传参
  521. try{
  522. //获取未判定的数据
  523. String condition=" Judge_status='0' ";
  524. QcmJhySampleROrd qjsr=new QcmJhySampleROrd();
  525. List<QcmJhySampleROrd> listqjsr=new ArrayList<QcmJhySampleROrd>();
  526. String status="";
  527. List<String> lists=new ArrayList<String>();//异常材料处理用,用于不合格项目的备注
  528. List<QcmJhySampleROrd> listx=mapper.GetSamplePhyInfo1(condition,smp_no);
  529. if(listx.size() == 0){
  530. throw new Exception("该产品已判或者未处于待判状态");
  531. }
  532. List<QcmJhySampleROrd> listOrd=new ArrayList<QcmJhySampleROrd>();
  533. List<QcmJhySampleConsignDItem> qjscList = new ArrayList<QcmJhySampleConsignDItem>(); // 存放不合格的项目,用于自动复样
  534. List<String> w=new ArrayList<String>();
  535. for (QcmJhySampleROrd o : listx) {
  536. boolean flag=true;//判定试样号向下的取样编号是否都是已完成状态;
  537. List<QcmJhySampleConsignD> listd = mapper.findQcmJhySampleConsignD2(o.getSmp_no());
  538. for (QcmJhySampleConsignD d : listd) {
  539. if (!d.getStatus().equals("3") && !d.getStatus().equals("5") ) {
  540. flag=false;
  541. throw new Exception("该试样号向下的取样编号存在未完成的!");
  542. }
  543. }
  544. if (flag) {
  545. listOrd.add(o);
  546. }
  547. }
  548. String pic_id="";
  549. QcmJhySampleConsignD _consignD=new QcmJhySampleConsignD();
  550. for (QcmJhySampleROrd qcmJhySampleROrd : listOrd) {
  551. _consignD.setSmp_no(qcmJhySampleROrd.getSmp_no());
  552. _consignD.setInspection_lot(qcmJhySampleROrd.getInspection_lot());
  553. _consignD.setHeat_no(qcmJhySampleROrd.getHeat_no());
  554. //获取取样编号
  555. List<QcmJhySampleConsignD> listConsignD=mapper.findQcmJhySampleConsignD(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getInspection_lot(), qcmJhySampleROrd.getHeat_no());
  556. //上面listConsignD 只会查出一条数据,如果有多条数据需要跟设计确认是如何进行关联的
  557. List<QcmJhyPhyresult> listResult=new ArrayList<QcmJhyPhyresult>();
  558. //获取检验信息QcmJhyPhyresultServiceImpl
  559. for (QcmJhySampleConsignD d : listConsignD) {
  560. QcmJhyPhyresult _result=new QcmJhyPhyresult();
  561. List<QcmJhyPhyresult> listqjp=mapper.findphyresult(d.getSpecimen_no());
  562. if (listqjp.size()<1) {
  563. continue;
  564. }
  565. for (QcmJhyPhyresult q : listqjp) {
  566. String s = (q.getSpecimen_no()==null?"":q.getSpecimen_no()) + (q.getSeq()==null?"":q.getSeq()) + (q.getPhy_code_l()==null?"":q.getPhy_code_l()) + (q.getPhy_code_m()==null?"":q.getPhy_code_m()) + (q.getPhy_code_s()==null?"":q.getPhy_code_s()) + (q.getItem_code_d()==null?"":q.getItem_code_d())
  567. + (q.getItem_code_s()==null?"":q.getItem_code_s()) + (q.getItem_code_t()==null?"":q.getItem_code_t());
  568. if(specimen_no.contains(s)){
  569. listResult.add(q);
  570. continue;
  571. }
  572. }
  573. List<QcmJhySampleConsignDItem> listi=mapper.findQcmJhySampleConsignDItem(d.getSpecimen_no());
  574. if(listi.size()<=0){
  575. throw new Exception("未找到数据!");
  576. }
  577. }
  578. //获取标准和实测值(调用zj书写的接口)
  579. CoreReturnObject r =querryJudgetItemInfo(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getDesign_key(),steelname,qcmJhySampleROrd.getPline_code());
  580. List<QcmJhySampleConsignDItem> listd=(List<QcmJhySampleConsignDItem>) r.getResult();
  581. List<QcmOrdDesignStdPic> listp = mapper.queryQCMOrdDesignStdPic("SELECT distinct a.phy_code_l,a.phy_code_m,a.phy_code_s,a.item_code_d,a.item_code_t,a.item_desc_s,a.item_code_l FROM qcm_ord_design_std_pic a WHERE DESIGN_KEY = '"+qcmJhySampleROrd.getDesign_key()+"'");
  582. boolean pass=true;//是否合格
  583. boolean judge = true;
  584. if(listResult.size() == 0){
  585. throw new Exception("所选检验项目不全!");
  586. }
  587. /*if(listResult.size() < listp.size()){
  588. throw new Exception("所选检验项目不全!");
  589. }*/
  590. for (QcmJhySampleConsignDItem sod : listd) {
  591. boolean pass1 = false;
  592. //List<QcmJhyPhyresult> listqjp=mapper.findphyresult(sod.getSpecimen_no());
  593. String s = (sod.getSpecimen_no()==null?"":sod.getSpecimen_no()) + (sod.getSeq()==null?"":sod.getSeq()) + (sod.getPhy_code_l()==null?"":sod.getPhy_code_l()) + (sod.getPhy_code_m()==null?"":sod.getPhy_code_m()) + (sod.getPhy_code_s()==null?"":sod.getPhy_code_s()) + (sod.getItem_code_d()==null?"":sod.getItem_code_d())
  594. + (sod.getItem_code_s()==null?"":sod.getItem_code_s()) + (sod.getItem_code_t()==null?"":sod.getItem_code_t());
  595. if(specimen_no.contains(s)){
  596. pass1 = true;
  597. }
  598. if(!pass1){
  599. continue;
  600. }
  601. if(SqlJoint.IsNullOrSpace(sod.getVal1()) && SqlJoint.IsNullOrSpace(sod.getVal2()) && SqlJoint.IsNullOrSpace(sod.getVal3()) && SqlJoint.IsNullOrSpace(sod.getAvg_val()) && sod.getIsjudge().equals("1")){
  602. throw new Exception("获取实绩为空!");
  603. }
  604. String bool0="";
  605. String bool1="";
  606. String bool2="";
  607. String bool3="";
  608. String bool4="";
  609. String bool5="";
  610. String bool6="";
  611. String bool7="";
  612. pass = true;
  613. //if(pass){
  614. //最小值判定
  615. if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("A")&&"1".equals(sod.getIsjudge())) {
  616. String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),sod.getJudge_basis());
  617. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null);
  618. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  619. lists.add(sod.getPhy_name_l()+":"+min);
  620. sod.setStdmin(sod.getJf_stdmin());
  621. sod.setStdmin_sign(sod.getJf_stdmin_sign());
  622. }
  623. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null);
  624. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  625. lists.add(sod.getPhy_name_l()+":"+min);
  626. sod.setStdmax(sod.getJf_stdmax());
  627. sod.setStdmax_sign(sod.getJf_stdmax_sign());
  628. }
  629. bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null);
  630. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  631. lists.add(sod.getPhy_name_l()+":"+min);
  632. sod.setStdmin(sod.getKh_stdmin());
  633. sod.setStdmin_sign(sod.getKh_stdmin_sign());
  634. }
  635. bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null);
  636. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  637. lists.add(sod.getPhy_name_l()+":"+min);
  638. sod.setStdmax(sod.getKh_stdmax());
  639. sod.setStdmax_sign(sod.getKh_stdmax_sign());
  640. }
  641. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null);
  642. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  643. lists.add(sod.getPhy_name_l()+":"+min);
  644. sod.setStdmin(sod.getNk_stdmin());
  645. sod.setStdmin_sign(sod.getNk_stdmin_sign());
  646. }
  647. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null);
  648. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  649. lists.add(sod.getPhy_name_l()+":"+min);
  650. sod.setStdmax(sod.getNk_stdmax());
  651. sod.setStdmax_sign(sod.getNk_stdmax_sign());
  652. }
  653. bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),min,null,null,null,null,null,null,null,null);
  654. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  655. lists.add(sod.getPhy_name_l()+":"+min);
  656. sod.setStdmin(sod.getFx_stdmin());
  657. sod.setStdmin_sign(sod.getFx_stdmin_sign());
  658. }
  659. bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),min,null,null,null,null,null,null,null,null);
  660. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  661. lists.add(sod.getPhy_name_l()+":"+min);
  662. sod.setStdmax(sod.getFx_stdmax());
  663. sod.setStdmax_sign(sod.getFx_stdmax_sign());
  664. }
  665. if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) {
  666. if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差
  667. //通过国家标准判断
  668. if("2".equals(bool0)||"2".equals(bool1)) {
  669. pass=false;
  670. sod.setIsbz("0");
  671. qjscList.add(sod);
  672. }
  673. } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && ((StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin())) || (StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())))) {//判断是否复样&屈服强度&螺纹钢牌号
  674. //通过放行标准判断
  675. if("2".equals(bool6)||"2".equals(bool7)) {
  676. pass=false;
  677. sod.setIsbz("0");
  678. qjscList.add(sod);
  679. }
  680. } else {
  681. pass=false;
  682. sod.setIsbz("0");
  683. qjscList.add(sod);
  684. }
  685. }
  686. }
  687. //最大值判定
  688. if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("B")&&"1".equals(sod.getIsjudge())) {
  689. String min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),sod.getJudge_basis());
  690. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null);
  691. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  692. lists.add(sod.getPhy_name_l()+":"+min);
  693. sod.setStdmin(sod.getJf_stdmin());
  694. sod.setStdmin_sign(sod.getJf_stdmin_sign());
  695. }
  696. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null);
  697. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  698. lists.add(sod.getPhy_name_l()+":"+min);
  699. sod.setStdmax(sod.getJf_stdmax());
  700. sod.setStdmax_sign(sod.getJf_stdmax_sign());
  701. }
  702. bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null);
  703. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  704. lists.add(sod.getPhy_name_l()+":"+min);
  705. sod.setStdmin(sod.getKh_stdmin());
  706. sod.setStdmin_sign(sod.getKh_stdmin_sign());
  707. }
  708. bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null);
  709. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  710. lists.add(sod.getPhy_name_l()+":"+min);
  711. sod.setStdmax(sod.getKh_stdmax());
  712. sod.setStdmax_sign(sod.getKh_stdmax_sign());
  713. }
  714. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null);
  715. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  716. lists.add(sod.getPhy_name_l()+":"+min);
  717. sod.setStdmin(sod.getNk_stdmin());
  718. sod.setStdmin_sign(sod.getNk_stdmin_sign());
  719. }
  720. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null);
  721. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  722. lists.add(sod.getPhy_name_l()+":"+min);
  723. sod.setStdmax(sod.getNk_stdmax());
  724. sod.setStdmax_sign(sod.getNk_stdmax_sign());
  725. }
  726. bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),min,null,null,null,null,null,null,null,null);
  727. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  728. lists.add(sod.getPhy_name_l()+":"+min);
  729. sod.setStdmin(sod.getFx_stdmin());
  730. sod.setStdmin_sign(sod.getFx_stdmin_sign());
  731. }
  732. bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),min,null,null,null,null,null,null,null,null);
  733. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  734. lists.add(sod.getPhy_name_l()+":"+min);
  735. sod.setStdmax(sod.getFx_stdmax());
  736. sod.setStdmax_sign(sod.getFx_stdmax_sign());
  737. }
  738. if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) {
  739. if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差
  740. //通过国家标准判断
  741. if("2".equals(bool0)||"2".equals(bool1)) {
  742. pass=false;
  743. sod.setIsbz("0");
  744. qjscList.add(sod);
  745. }
  746. } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin()) && StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())) {//判断是否复样&屈服强度&螺纹钢牌号
  747. //通过放行标准判断
  748. if("2".equals(bool6)||"2".equals(bool7)) {
  749. pass=false;
  750. sod.setIsbz("0");
  751. qjscList.add(sod);
  752. }
  753. } else {
  754. pass=false;
  755. sod.setIsbz("0");
  756. qjscList.add(sod);
  757. }
  758. }
  759. }
  760. //平均值判定
  761. if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("C")&&"1".equals(sod.getIsjudge())) {
  762. String min="";
  763. if (!SqlJoint.IsNullOrSpace(sod.getAvg_val())) {
  764. min=sod.getVal1();
  765. }else {
  766. min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis());
  767. }
  768. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null);
  769. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  770. lists.add(sod.getPhy_name_l()+":"+min);
  771. sod.setStdmin(sod.getJf_stdmax());
  772. sod.setStdmin_sign(sod.getJf_stdmax_sign());
  773. }
  774. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null);
  775. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  776. lists.add(sod.getPhy_name_l()+":"+min);
  777. sod.setStdmax(sod.getJf_stdmax());
  778. sod.setStdmax_sign(sod.getJf_stdmax_sign());
  779. }
  780. bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null);
  781. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  782. lists.add(sod.getPhy_name_l()+":"+min);
  783. sod.setStdmin(sod.getKh_stdmax());
  784. sod.setStdmin_sign(sod.getKh_stdmax_sign());
  785. }
  786. bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null);
  787. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  788. lists.add(sod.getPhy_name_l()+":"+min);
  789. sod.setStdmax(sod.getKh_stdmax());
  790. sod.setStdmax_sign(sod.getKh_stdmax_sign());
  791. }
  792. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null);
  793. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  794. lists.add(sod.getPhy_name_l()+":"+min);
  795. sod.setStdmin(sod.getNk_stdmin());
  796. sod.setStdmin_sign(sod.getNk_stdmin_sign());
  797. }
  798. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null);
  799. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  800. lists.add(sod.getPhy_name_l()+":"+min);
  801. sod.setStdmax(sod.getNk_stdmax());
  802. sod.setStdmax_sign(sod.getNk_stdmax_sign());
  803. }
  804. bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),min,null,null,null,null,null,null,null,null);
  805. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  806. lists.add(sod.getPhy_name_l()+":"+min);
  807. sod.setStdmin(sod.getFx_stdmin());
  808. sod.setStdmin_sign(sod.getFx_stdmin_sign());
  809. }
  810. bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),min,null,null,null,null,null,null,null,null);
  811. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  812. lists.add(sod.getPhy_name_l()+":"+min);
  813. sod.setStdmax(sod.getFx_stdmax());
  814. sod.setStdmax_sign(sod.getFx_stdmax_sign());
  815. }
  816. if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) {
  817. if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差
  818. //通过国家标准判断
  819. if("2".equals(bool0)||"2".equals(bool1)) {
  820. pass=false;
  821. sod.setIsbz("0");
  822. qjscList.add(sod);
  823. }
  824. } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin()) && StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())) {//判断是否复样&屈服强度&螺纹钢牌号
  825. //通过放行标准判断
  826. if("2".equals(bool6)||"2".equals(bool7)) {
  827. pass=false;
  828. sod.setIsbz("0");
  829. qjscList.add(sod);
  830. }
  831. } else {
  832. pass=false;
  833. sod.setIsbz("0");
  834. qjscList.add(sod);
  835. }
  836. }
  837. }
  838. //逐项值判定
  839. if (SqlJoint.IsNullOrSpace(sod.getJudge_basis())||sod.getJudge_basis().equalsIgnoreCase("D")&&"1".equals(sod.getIsjudge())) {
  840. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  841. String str=connectVal(sod.getPhy_name_l(), sod.getVal1(),sod.getVal2(),sod.getVal3());
  842. if ("2".equals(bool0)&&!lists.contains(str)) {
  843. lists.add(str);
  844. sod.setStdmin(sod.getJf_stdmin());
  845. sod.setStdmin_sign(sod.getJf_stdmin_sign());
  846. }
  847. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  848. if ("2".equals(bool1)&&!lists.contains(str)) {
  849. lists.add(str);
  850. sod.setStdmax(sod.getJf_stdmax());
  851. sod.setStdmax_sign(sod.getJf_stdmax_sign());
  852. }
  853. bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  854. if ("2".equals(bool2)&&!lists.contains(str)) {
  855. lists.add(str);
  856. sod.setStdmin(sod.getKh_stdmin());
  857. sod.setStdmin_sign(sod.getKh_stdmin_sign());
  858. }
  859. bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  860. if ("2".equals(bool3)&&!lists.contains(str)) {
  861. lists.add(str);
  862. sod.setStdmax(sod.getKh_stdmax());
  863. sod.setStdmax_sign(sod.getKh_stdmax_sign());
  864. }
  865. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  866. if ("2".equals(bool4)&&!lists.contains(str)) {
  867. lists.add(str);
  868. sod.setStdmin(sod.getNk_stdmin());
  869. sod.setStdmin_sign(sod.getNk_stdmin_sign());
  870. }
  871. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  872. if ("2".equals(bool5)&&!lists.contains(str)) {
  873. lists.add(str);
  874. sod.setStdmax(sod.getNk_stdmax());
  875. sod.setStdmax_sign(sod.getNk_stdmax_sign());
  876. }
  877. bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  878. if ("2".equals(bool4)&&!lists.contains(str)) {
  879. lists.add(str);
  880. sod.setStdmin(sod.getFx_stdmin());
  881. sod.setStdmin_sign(sod.getFx_stdmin_sign());
  882. }
  883. bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  884. if ("2".equals(bool5)&&!lists.contains(str)) {
  885. lists.add(str);
  886. sod.setStdmax(sod.getFx_stdmax());
  887. sod.setStdmax_sign(sod.getFx_stdmax_sign());
  888. }
  889. if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) {
  890. if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差
  891. //通过国家标准判断
  892. if("2".equals(bool0)||"2".equals(bool1)) {
  893. pass=false;
  894. sod.setIsbz("0");
  895. qjscList.add(sod);
  896. }
  897. } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && ((StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin())) || (StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())))) {//判断是否复样&屈服强度&螺纹钢牌号
  898. //通过放行标准判断
  899. if("2".equals(bool6)||"2".equals(bool7)) {
  900. pass=false;
  901. sod.setIsbz("0");
  902. qjscList.add(sod);
  903. }
  904. } else {
  905. pass=false;
  906. sod.setIsbz("0");
  907. qjscList.add(sod);
  908. }
  909. }
  910. }
  911. if((pass && !SqlJoint.IsNullOrSpace(sod.getAddcondition()) && sod.getAddcondition().equals("1")) || (!pass && !SqlJoint.IsNullOrSpace(sod.getAddcondition()) && sod.getAddcondition().equals("0"))){
  912. pass = true;
  913. int count = 0;
  914. qjscList.remove(sod);
  915. sod.setIsbz("1");
  916. //允许一个值
  917. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("A")&&"1".equals(sod.getIsjudge())) {
  918. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal1(),null,null,null,null,null,null,null,null);
  919. if(bool0.equals("2")){
  920. count ++;
  921. }else{
  922. bool0=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal1(),null,null,null,null,null,null,null,null);
  923. if(bool0.equals("2")){
  924. count ++;
  925. }
  926. else{
  927. bool0=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),sod.getVal1(),null,null,null,null,null,null,null,null);
  928. if(bool0.equals("2")){
  929. count ++;
  930. }
  931. }
  932. }
  933. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal1(),null,null,null,null,null,null,null,null);
  934. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) {
  935. lists.add(sod.getPhy_name_l()+":"+sod.getVal1());
  936. }
  937. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal1(),null,null,null,null,null,null,null,null);
  938. if(bool1.equals("2")){
  939. count ++;
  940. }else{
  941. bool1=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal1(),null,null,null,null,null,null,null,null);
  942. if(bool1.equals("2")){
  943. count ++;
  944. }else{
  945. bool1=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),sod.getVal1(),null,null,null,null,null,null,null,null);
  946. if(bool1.equals("2")){
  947. count ++;
  948. }
  949. }
  950. }
  951. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal1(),null,null,null,null,null,null,null,null);
  952. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) {
  953. lists.add(sod.getPhy_name_l()+":"+sod.getVal1());
  954. }
  955. bool2=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal2(),null,null,null,null,null,null,null,null);
  956. if(bool2.equals("2")){
  957. count ++;
  958. }else{
  959. bool2=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal2(),null,null,null,null,null,null,null,null);
  960. if(bool2.equals("2")){
  961. count ++;
  962. }else{
  963. bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),sod.getVal2(),null,null,null,null,null,null,null,null);
  964. if(bool2.equals("2")){
  965. count ++;
  966. }
  967. }
  968. }
  969. bool2=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal2(),null,null,null,null,null,null,null,null);
  970. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) {
  971. lists.add(sod.getPhy_name_l()+":"+sod.getVal2());
  972. }
  973. bool3=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal2(),null,null,null,null,null,null,null,null);
  974. if(bool3.equals("2")){
  975. count ++;
  976. }else{
  977. bool3=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal2(),null,null,null,null,null,null,null,null);
  978. if(bool3.equals("2")){
  979. count ++;
  980. }else{
  981. bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),sod.getVal2(),null,null,null,null,null,null,null,null);
  982. if(bool3.equals("2")){
  983. count ++;
  984. }
  985. }
  986. }
  987. bool3=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal2(),null,null,null,null,null,null,null,null);
  988. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) {
  989. lists.add(sod.getPhy_name_l()+":"+sod.getVal2());
  990. }
  991. bool4=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal3(),null,null,null,null,null,null,null,null);
  992. if(bool4.equals("2")){
  993. count ++;
  994. }else{
  995. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal3(),null,null,null,null,null,null,null,null);
  996. if(bool4.equals("2")){
  997. count ++;
  998. }else{
  999. bool4=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),sod.getVal3(),null,null,null,null,null,null,null,null);
  1000. if(bool4.equals("2")){
  1001. count ++;
  1002. }
  1003. }
  1004. }
  1005. bool4=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal3(),null,null,null,null,null,null,null,null);
  1006. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) {
  1007. lists.add(sod.getPhy_name_l()+":"+sod.getVal3());
  1008. }
  1009. bool5=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal3(),null,null,null,null,null,null,null,null);
  1010. if(bool5.equals("2")){
  1011. count ++;
  1012. }else{
  1013. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal3(),null,null,null,null,null,null,null,null);
  1014. if(bool5.equals("2")){
  1015. count ++;
  1016. }else{
  1017. bool5=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),sod.getVal3(),null,null,null,null,null,null,null,null);
  1018. if(bool5.equals("2")){
  1019. count ++;
  1020. }
  1021. }
  1022. }
  1023. bool5=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal3(),null,null,null,null,null,null,null,null);
  1024. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) {
  1025. lists.add(sod.getPhy_name_l()+":"+sod.getVal3());
  1026. }
  1027. if(count > 1){
  1028. pass=false;
  1029. sod.setIsbz("1");
  1030. qjscList.add(sod);
  1031. }else{
  1032. if ("2".equals(bool0)||"2".equals(bool1) || "2".equals(bool2)||"2".equals(bool3) || "2".equals(bool4)||"2".equals(bool5) ){
  1033. pass=false;
  1034. sod.setIsbz("1");
  1035. qjscList.add(sod);
  1036. }
  1037. }
  1038. }
  1039. //最大最小差值
  1040. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("B")&&"1".equals(sod.getIsjudge())) {
  1041. String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), "D");
  1042. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null);
  1043. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1044. lists.add(sod.getPhy_name_l()+":"+min);
  1045. }
  1046. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null);
  1047. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1048. lists.add(sod.getPhy_name_l()+":"+min);
  1049. }
  1050. if ("2".equals(bool0)||"2".equals(bool1)) {
  1051. pass=false;
  1052. sod.setIsbz("1");
  1053. qjscList.add(sod);
  1054. }
  1055. }
  1056. //平均值
  1057. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("C")&&"1".equals(sod.getIsjudge())) {
  1058. String min="";
  1059. if (!SqlJoint.IsNullOrSpace(sod.getAvg_val())) {
  1060. min=sod.getVal1();
  1061. }else {
  1062. min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis());
  1063. }
  1064. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null);
  1065. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1066. lists.add(sod.getPhy_name_l()+":"+min);
  1067. }
  1068. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null);
  1069. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1070. lists.add(sod.getPhy_name_l()+":"+min);
  1071. }
  1072. if ("2".equals(bool0)||"2".equals(bool1)) {
  1073. pass=false;
  1074. sod.setIsbz("1");
  1075. qjscList.add(sod);
  1076. }
  1077. }
  1078. //最小值
  1079. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("D")&&"1".equals(sod.getIsjudge())) {
  1080. String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),"A");
  1081. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null);
  1082. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1083. lists.add(sod.getPhy_name_l()+":"+min);
  1084. }
  1085. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null);
  1086. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1087. lists.add(sod.getPhy_name_l()+":"+min);
  1088. }
  1089. if ("2".equals(bool0)||"2".equals(bool1)) {
  1090. pass=false;
  1091. sod.setIsbz("1");
  1092. qjscList.add(sod);
  1093. }
  1094. }
  1095. //最大值
  1096. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("E")&&"1".equals(sod.getIsjudge())) {
  1097. String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), "B");
  1098. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null);
  1099. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1100. lists.add(sod.getPhy_name_l()+":"+min);
  1101. }
  1102. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null);
  1103. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1104. lists.add(sod.getPhy_name_l()+":"+min);
  1105. }
  1106. if ("2".equals(bool0)||"2".equals(bool1)) {
  1107. pass=false;
  1108. sod.setIsbz("1");
  1109. qjscList.add(sod);
  1110. }
  1111. }
  1112. //所有值
  1113. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("E")&&"1".equals(sod.getIsjudge())) {
  1114. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal1(),null,null,null,null,null,null,null,null);
  1115. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) {
  1116. lists.add(sod.getPhy_name_l()+":"+sod.getVal1());
  1117. }
  1118. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal1(),null,null,null,null,null,null,null,null);
  1119. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) {
  1120. lists.add(sod.getPhy_name_l()+":"+sod.getVal1());
  1121. }
  1122. bool2=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal2(),null,null,null,null,null,null,null,null);
  1123. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) {
  1124. lists.add(sod.getPhy_name_l()+":"+sod.getVal2());
  1125. }
  1126. bool3=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal2(),null,null,null,null,null,null,null,null);
  1127. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) {
  1128. lists.add(sod.getPhy_name_l()+":"+sod.getVal2());
  1129. }
  1130. bool4=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal3(),null,null,null,null,null,null,null,null);
  1131. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) {
  1132. lists.add(sod.getPhy_name_l()+":"+sod.getVal3());
  1133. }
  1134. bool5=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal3(),null,null,null,null,null,null,null,null);
  1135. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) {
  1136. lists.add(sod.getPhy_name_l()+":"+sod.getVal3());
  1137. }
  1138. if ("2".equals(bool0)||"2".equals(bool1) ||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) {
  1139. pass=false;
  1140. sod.setIsbz("1");
  1141. qjscList.add(sod);
  1142. }
  1143. }
  1144. }
  1145. if(sod.getDefect_flag()!= null){
  1146. if(sod.getDefect_flag().equals("1")){
  1147. pass = false;
  1148. }
  1149. }
  1150. if(!pass){
  1151. judge = false;
  1152. }
  1153. }
  1154. //判断初样和牌号
  1155. if("初样".equals(smp_type_code)) {
  1156. if(judge && "SWRH82B-YL".equals(steelname)) {
  1157. steelname = "SWRH82B-YL-Ⅰ";
  1158. }
  1159. }
  1160. qjsr=UpdateData(qjscList,listResult,qcmJhySampleROrd,judge,username,steelname,"");
  1161. String sql = "select * from zj_result_all@xgcx where BILLETID_JY = '"+qcmJhySampleROrd.getInspection_lot()+"' and judgeresult = '0'";
  1162. List<HashMap> list1 = mapper.query(sql);
  1163. sql = "select * from QCM_JUDGE_COIL_RESULT where INSPECTION_LOT = '"+qcmJhySampleROrd.getInspection_lot()+"' and judgeresult = '0'";
  1164. List<HashMap> list2 = mapper.query(sql);
  1165. if(!judge){
  1166. //更新材料异常处理表
  1167. QCMJudgeLocking qjb=new QCMJudgeLocking();
  1168. if(list1.size() >0 || list2.size() >0){
  1169. if(list1.size()>0){
  1170. for(HashMap list:list1){
  1171. List<HashMap> hashmap = mapper.doQueryMaterialInfoHB(list.get("BILLETID").toString());
  1172. if(hashmap.size() == 0){
  1173. hashmap = mapper.doQueryMaterialInfoZB(list.get("BILLETID").toString());
  1174. }
  1175. if(hashmap.size() == 0){
  1176. hashmap = mapper.doQueryMaterialInfoX(list.get("BILLETID").toString());
  1177. }
  1178. if(hashmap.size()==0){
  1179. throw new Exception("未找到库存信息");
  1180. }
  1181. int count=0;
  1182. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  1183. String date=sdf.format(new Date());
  1184. condition = " and MATERIAL_NO = '"+list.get("BILLETID").toString()+"' order by LOCK_SEQ desc ";
  1185. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  1186. if(qjl.size() > 0){
  1187. count=qjl.get(0).getLock_seq();
  1188. }
  1189. count++;
  1190. //锁定记录号
  1191. int lock_seq=count;
  1192. qjb.setMaterial_no(list.get("BILLETID").toString());
  1193. qjb.setLock_id(qjsr.getPhy_id());
  1194. qjb.setLock_type_code("P");
  1195. qjb.setLock_type_desc("材质判定");
  1196. qjb.setLock_seq(lock_seq);
  1197. qjb.setBoard_no(list.get("BILLETID").toString());
  1198. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString());
  1199. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString());
  1200. qjb.setLock_name(username.equals("system")?"系统自动判定":username);
  1201. qjb.setCic_locking("1");
  1202. qjb.setLock_time(new Date());
  1203. qjb.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString());
  1204. qjb.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString());
  1205. qjb.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString());
  1206. qjb.setPlan_no(hashmap.get(0).get("PLAN_NO")==null?"":hashmap.get(0).get("PLAN_NO").toString());
  1207. qjb.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString());
  1208. qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString());
  1209. qjb.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString());
  1210. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  1211. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString());
  1212. qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  1213. qjb.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString());
  1214. qjb.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString());
  1215. qjb.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  1216. qjb.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  1217. qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString());
  1218. qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString());
  1219. qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString());
  1220. List<QcmJudgePhysical> qjc = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where INSPECTION_LOT = '"+list.get("BILLETID_JY").toString()+"' order by JUDGE_TTIME desc");
  1221. int seq1 = 1;
  1222. //插入判定原因表
  1223. String memo = "";
  1224. for(QcmJhySampleConsignDItem listz : qjscList){
  1225. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  1226. if(listz.getPhy_name_s()!=null){
  1227. memo = listz.getPhy_name_s();
  1228. }
  1229. if(listz.getItem_name_d()!=null){
  1230. memo += "-"+listz.getItem_name_d();
  1231. }
  1232. if(listz.getItem_name_t()!=null){
  1233. memo += "-"+listz.getItem_name_t();
  1234. }
  1235. if(listz.getItem_name_s()!=null){
  1236. memo += "-"+listz.getItem_name_s();
  1237. }
  1238. if(listz.getItem_desc_l()!=null){
  1239. memo += "-"+listz.getItem_desc_l();
  1240. }
  1241. if(listz.getDefect_flag()!= null && listz.getDefect_flag().equals("1")){
  1242. memo += "-"+"分层、起皮";
  1243. }
  1244. if(listz.getVal1()!=null){
  1245. memo += "-"+listz.getVal1();
  1246. }
  1247. if(listz.getVal2()!=null){
  1248. memo += "-"+listz.getVal2();
  1249. }
  1250. if(listz.getVal3()!=null){
  1251. memo += "-"+listz.getVal3();
  1252. }
  1253. /*if(memo == ""){
  1254. memo = listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val();
  1255. }else{
  1256. memo += ","+listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val();
  1257. }*/
  1258. qjr.setMaterial_no(list.get("BILLETID").toString());
  1259. qjr.setType_code("P");
  1260. qjr.setRecord_id(qjc.get(0).getPhy_id());
  1261. qjr.setSeq(seq1);
  1262. qjr.setPhy_code_l(listz.getPhy_code_l()==null?"":listz.getPhy_code_l().toString());
  1263. qjr.setPhy_name_l(listz.getPhy_name_l()==null?"":listz.getPhy_name_l().toString());
  1264. qjr.setPhy_code_m(listz.getPhy_code_m()==null?"":listz.getPhy_code_m().toString());
  1265. qjr.setPhy_name_m(listz.getPhy_name_m()==null?"":listz.getPhy_name_m().toString());
  1266. qjr.setPhy_code_s(listz.getPhy_code_s()==null?"":listz.getPhy_code_s().toString());
  1267. qjr.setPhy_name_s(listz.getPhy_name_s()==null?"":listz.getPhy_name_s().toString());
  1268. qjr.setItem_code_d(listz.getItem_code_d()==null?"":listz.getItem_code_d().toString());
  1269. qjr.setItem_name_d(listz.getItem_name_d()==null?"":listz.getItem_name_d().toString());
  1270. qjr.setItem_code_s(listz.getItem_code_s()==null?"":listz.getItem_code_s().toString());
  1271. qjr.setItem_name_s(listz.getItem_name_s()==null?"":listz.getItem_name_s().toString());
  1272. qjr.setItem_code_t(listz.getItem_code_t()==null?"":listz.getItem_code_t().toString());
  1273. qjr.setItem_name_t(listz.getItem_name_t()==null?"":listz.getItem_name_t().toString());
  1274. qjr.setItem_code_l(listz.getItem_code_l()==null?"":listz.getItem_code_l().toString());
  1275. qjr.setItem_desc_l(listz.getItem_desc_l()==null?"":listz.getItem_desc_l().toString());
  1276. qjr.setVal1(listz.getVal1());
  1277. qjr.setVal2(listz.getVal2());
  1278. qjr.setVal3(listz.getVal3());
  1279. qjr.setAvg_val(listz.getAvg_val());
  1280. if(listz.getIsbz().equals("0")){
  1281. qjr.setStdmax(listz.getStdmax());
  1282. qjr.setStdmax_sign(listz.getStdmax_sign());
  1283. qjr.setStdmin(listz.getStdmin());
  1284. qjr.setStdmin_sign(listz.getStdmin_sign());
  1285. }else{
  1286. qjr.setStdmax(listz.getAddstd_max());
  1287. qjr.setStdmax_sign(listz.getAdd_std_max_sign());
  1288. qjr.setStdmin(listz.getAddstd_min());
  1289. qjr.setStdmin_sign(listz.getAddstd_min_sign());
  1290. }
  1291. qjr.setCreate_name(username);
  1292. qjr.setCreate_time(new Date());
  1293. seq1++;
  1294. mapper.insertQcmJudgeUltimateReason(qjr);
  1295. }
  1296. //插入异常锁定表
  1297. qjb.setLock_memo(memo);
  1298. mapper.insertQCMJudgeLocking(qjb);
  1299. //高线且判定不通过,调用异常处理判废且取样材料号为委托明细中的取样材料号
  1300. /*if("GX2".equals(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString()) && "初样".equals(smp_type_code) && listConsignD.get(0).getMaterial_no().equals(list.get("BILLETID").toString()) && !hashmap.get(0).get("STEEL_NAME").toString().equals("SWRH82B-YL")) {
  1301. arrayList.add(list.get("BILLETID").toString());
  1302. arrayList.add(lock_seq);
  1303. arrayList.add("P");
  1304. arrayList.add("5");
  1305. arrayList.add("");
  1306. arrayList.add("system");
  1307. arrayList.add(qjsr.getPhy_id());
  1308. arrayList.add("");
  1309. }*/
  1310. }
  1311. }else{
  1312. for(HashMap list:list2){
  1313. List<HashMap> hashmap = mapper.doQueryMaterialInfoJ(list.get("COIL_NO").toString());
  1314. if(hashmap.size()==0){
  1315. throw new Exception("未找到库存信息");
  1316. }
  1317. int count=0;
  1318. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  1319. String date=sdf.format(new Date());
  1320. condition = " and MATERIAL_NO = '"+list.get("COIL_NO").toString()+"' order by LOCK_SEQ desc ";
  1321. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  1322. if(qjl.size() > 0){
  1323. count=qjl.get(0).getLock_seq();
  1324. }
  1325. count++;
  1326. //锁定记录号
  1327. int lock_seq=count;
  1328. qjb.setLock_id(qjsr.getPhy_id());
  1329. qjb.setMaterial_no(list.get("COIL_NO").toString());
  1330. qjb.setLock_type_code("P");
  1331. qjb.setLock_type_desc("材质判定");
  1332. qjb.setLock_seq(lock_seq);
  1333. qjb.setBoard_no(list.get("COIL_NO").toString());
  1334. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString());
  1335. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString());
  1336. qjb.setLock_name(username.equals("system")?"系统自动判定":username);
  1337. qjb.setCic_locking("1");
  1338. qjb.setLock_time(new Date());
  1339. qjb.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString());
  1340. qjb.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString());
  1341. qjb.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString());
  1342. qjb.setPlan_no(hashmap.get(0).get("PLAN_NO")==null?"":hashmap.get(0).get("PLAN_NO").toString());
  1343. qjb.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString());
  1344. qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString());
  1345. qjb.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString());
  1346. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  1347. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString());
  1348. qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  1349. qjb.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString());
  1350. qjb.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString());
  1351. qjb.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  1352. qjb.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  1353. qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString());
  1354. qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString());
  1355. qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString());
  1356. List<QcmJudgePhysical> qjc = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where INSPECTION_LOT = '"+list.get("INSPECTION_LOT").toString()+"' order by JUDGE_TTIME desc");
  1357. int seq1 = 1;
  1358. //插入判定原因表
  1359. String memo = "";
  1360. for(QcmJhySampleConsignDItem listz : qjscList){
  1361. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  1362. if(memo == ""){
  1363. memo = listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val();
  1364. }else{
  1365. memo += ","+listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val();
  1366. }
  1367. qjr.setMaterial_no(list.get("COIL_NO").toString());
  1368. qjr.setType_code("P");
  1369. qjr.setRecord_id(qjc.get(0).getPhy_id());
  1370. qjr.setSeq(seq1);
  1371. qjr.setPhy_code_l(listz.getPhy_code_l()==null?"":listz.getPhy_code_l().toString());
  1372. qjr.setPhy_name_l(listz.getPhy_name_l()==null?"":listz.getPhy_name_l().toString());
  1373. qjr.setPhy_code_m(listz.getPhy_code_m()==null?"":listz.getPhy_code_m().toString());
  1374. qjr.setPhy_name_m(listz.getPhy_name_m()==null?"":listz.getPhy_name_m().toString());
  1375. qjr.setPhy_code_s(listz.getPhy_code_s()==null?"":listz.getPhy_code_s().toString());
  1376. qjr.setPhy_name_s(listz.getPhy_name_s()==null?"":listz.getPhy_name_s().toString());
  1377. qjr.setItem_code_d(listz.getItem_code_d()==null?"":listz.getItem_code_d().toString());
  1378. qjr.setItem_name_d(listz.getItem_name_d()==null?"":listz.getItem_name_d().toString());
  1379. qjr.setItem_code_s(listz.getItem_code_s()==null?"":listz.getItem_code_s().toString());
  1380. qjr.setItem_name_s(listz.getItem_name_s()==null?"":listz.getItem_name_s().toString());
  1381. qjr.setItem_code_t(listz.getItem_code_t()==null?"":listz.getItem_code_t().toString());
  1382. qjr.setItem_name_t(listz.getItem_name_t()==null?"":listz.getItem_name_t().toString());
  1383. qjr.setItem_code_l(listz.getItem_code_l()==null?"":listz.getItem_code_l().toString());
  1384. qjr.setItem_desc_l(listz.getItem_desc_l()==null?"":listz.getItem_desc_l().toString());
  1385. qjr.setVal1(listz.getVal1());
  1386. qjr.setVal2(listz.getVal2());
  1387. qjr.setVal3(listz.getVal3());
  1388. qjr.setAvg_val(listz.getAvg_val());
  1389. if(listz.getIsbz().equals("0")){
  1390. qjr.setStdmax(listz.getStdmax());
  1391. qjr.setStdmax_sign(listz.getStdmax_sign());
  1392. qjr.setStdmin(listz.getStdmin());
  1393. qjr.setStdmin_sign(listz.getStdmin_sign());
  1394. }else{
  1395. qjr.setStdmax(listz.getAddstd_max());
  1396. qjr.setStdmax_sign(listz.getAdd_std_max_sign());
  1397. qjr.setStdmin(listz.getAddstd_min());
  1398. qjr.setStdmin_sign(listz.getAddstd_min_sign());
  1399. }
  1400. qjr.setCreate_name(username);
  1401. qjr.setCreate_time(new Date());
  1402. seq1++;
  1403. mapper.insertQcmJudgeUltimateReason(qjr);
  1404. }
  1405. //插入异常锁定表
  1406. qjb.setLock_memo(memo);
  1407. mapper.insertQCMJudgeLocking(qjb);
  1408. }
  1409. }
  1410. }
  1411. //异常材处置
  1412. //MaterialAbnormalTreatment(qjscList,qcmJhySampleROrd.getInspection_lot(),username,qjsr.getPhy_id());
  1413. }
  1414. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  1415. qjog.setOperate_name(username);
  1416. qjog.setOperate_type("判定");
  1417. qjog.setParams(smp_no);
  1418. qjog.setProd_line(listOrd.get(0).getPline_code());
  1419. qjog.setBatchno(listOrd.get(0).getBatch_no());
  1420. qjog.setJudge_result(!judge?"2":"1");
  1421. mapper.insertQcmJudgeOperateLog(qjog);
  1422. //调用熔炼成分判定 RlChemAutoJudgeByHuman
  1423. //判断试样号是否都已经判定完
  1424. List<String> listphy = new ArrayList<String>();
  1425. List<QcmJhySampleROrd> listor = mapper.findInfo(qcmJhySampleROrd.getDesign_key(), "B",qcmJhySampleROrd.getInspection_lot());
  1426. List<String> lstr=new ArrayList<String>();
  1427. for (QcmJhySampleROrd l : listor) {
  1428. if (!SqlJoint.IsNullOrSpace(l.getJudge_result_desc())) {
  1429. lstr.add(l.getJudge_result_desc());
  1430. }
  1431. /*else if ("0".equals(l.getJudge_result_desc()) || "2".equals(l.getJudge_result_desc())) {
  1432. lstr.add("待判");
  1433. }*/
  1434. else {
  1435. lstr.add("null");
  1436. }
  1437. List<QcmJudgePhysicalResult> qjpr1 = new ArrayList<QcmJudgePhysicalResult>();
  1438. String phy_id = l.getPhy_id()==null?"":l.getPhy_id();
  1439. sql = "select * from qcm_judge_physical_result where phy_id = '"+phy_id+"'";
  1440. qjpr1 = mapper.queryQcmJudgePhysicalResult(sql);
  1441. for(QcmJudgePhysicalResult y:qjpr1)
  1442. {
  1443. String s = (y.getPhy_code_l()==null?"":y.getPhy_code_l()) + (y.getPhy_code_m()==null?"":y.getPhy_code_m()) + (y.getPhy_code_s()==null?"":y.getPhy_code_s()) + (y.getItem_code_d()==null?"":y.getItem_code_d())
  1444. + (y.getItem_code_s()==null?"":y.getItem_code_s()) + (y.getItem_code_t()==null?"":y.getItem_code_t());
  1445. listphy.add(s);
  1446. }
  1447. }
  1448. List<QcmOrdDesignStdPic> qrdsp = new ArrayList<QcmOrdDesignStdPic>();
  1449. sql = "select * from qcm_ord_design_std_pic where design_key = '"+qcmJhySampleROrd.getDesign_key()+"'";
  1450. qrdsp = mapper.queryQCMOrdDesignStdPic(sql);
  1451. for(QcmOrdDesignStdPic x:qrdsp){
  1452. String z = (x.getPhy_code_l()==null?"":x.getPhy_code_l()) + (x.getPhy_code_m()==null?"":x.getPhy_code_m()) + (x.getPhy_code_s()==null?"":x.getPhy_code_s()) + (x.getItem_code_d()==null?"":x.getItem_code_d())
  1453. + (x.getItem_code_s()==null?"":x.getItem_code_s()) + (x.getItem_code_t()==null?"":x.getItem_code_t());
  1454. if(!listphy.contains(z)&& (qcmJhySampleROrd.getPline_code().equals("ZB1") || qcmJhySampleROrd.getPline_code().equals("HB1"))){
  1455. lstr.add("待判");
  1456. }
  1457. }
  1458. QcmJudgePhysicalUtmM qpu=new QcmJudgePhysicalUtmM();
  1459. QcmJudgePhysicalUtmD qpd=new QcmJudgePhysicalUtmD();
  1460. if (!lstr.contains("待判")) {
  1461. if (!lstr.contains("null")) {
  1462. if (lstr.contains("不合格")) {
  1463. qpu.setPic_result_desc("不合格");
  1464. qpu.setPic_result_code("2");
  1465. }else if(lstr.contains("判次")){
  1466. qpu.setPic_result_desc("判次");
  1467. qpu.setPic_result_code("3");
  1468. }else if(lstr.contains("判废")){
  1469. qpu.setPic_result_desc("判废");
  1470. qpu.setPic_result_code("4");
  1471. }else{
  1472. qpu.setPic_result_desc("合格");
  1473. qpu.setPic_result_code("1");
  1474. }
  1475. //把对应的数据加入qcm_judge_Physical_Utm_M表中
  1476. int a=0;
  1477. for (QcmJhySampleROrd q : listor) {
  1478. //获取当日最大编号
  1479. if (a==0) {
  1480. int count=0;
  1481. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  1482. String date=sdf.format(new Date());
  1483. // 获取材质结果集编号最大值
  1484. List<QcmJudgePhysicalUtmM> qrlist=mapper.queryQcmJudgePhysicalUtmM("select * from QCM_JUDGE_PHYSICAL_UTM_M where PIC_ID like 'PIC%"+date+"%' order by PIC_ID DESC");
  1485. if(qrlist!=null&&qrlist.size()>0){
  1486. String s=qrlist.get(0).getPic_id();
  1487. count=Integer.parseInt(s.substring(s.length()-4, s.length()));
  1488. }
  1489. count++;
  1490. pic_id="PIC"+sdf.format(new Date())+String.format("%04d",count);
  1491. qpu.setPic_id(pic_id);
  1492. qpu.setInspection_lot(q.getInspection_lot());
  1493. qpu.setDesign_key(q.getDesign_key());
  1494. mapper.insertQcmJudgePhysicalUtmM(qpu);
  1495. a++;
  1496. }
  1497. qpd.setPic_id(pic_id);
  1498. qpd.setPsc_desc(q.getPsc_desc());
  1499. qpd.setSteel_code(q.getSteel_code());
  1500. qpd.setSteel_name(q.getSteel_name());
  1501. qpd.setStd_code(q.getStd_code());
  1502. qpd.setStd_name(q.getStd_name());
  1503. qpd.setProd_code(q.getProd_code());
  1504. qpd.setProd_name(q.getProd_name());
  1505. qpd.setSmp_no(q.getSmp_no());
  1506. qpd.setHeat_no(q.getHeat_no());
  1507. qpd.setBatch_no(q.getBatch_no());
  1508. qpd.setInspection_lot(q.getInspection_lot());
  1509. qpd.setDesign_key(q.getDesign_key());
  1510. qpd.setPsc(q.getPsc());
  1511. qpd.setCert_inst_code(q.getCert_inst_code());
  1512. qpd.setCert_inst_name(q.getCert_inst_name());
  1513. qpd.setSmp_type_code(q.getSmp_type_code());
  1514. qpd.setSmp_type_name(q.getSmp_type_name());
  1515. qpd.setJudge_result_code(q.getJudge_result_code());
  1516. qpd.setJudge_result_desc(q.getJudge_result_desc());
  1517. qpd.setPhy_id(q.getPhy_id());
  1518. qpd.setJudge_ttime(new Date());
  1519. qpd.setJudge_name("system");
  1520. //pme.setPhysresult_id(pic_id);
  1521. mapper.insertQcmJudgePhysicalUtmD(qpd);
  1522. if(list1.size() >0 || list2.size() >0){
  1523. if(list1.size()>0){
  1524. // 更新库存表材质判定结果
  1525. ZjResultAll zra = new ZjResultAll();
  1526. zra.setBilletid_jy(qcmJhySampleROrd.getInspection_lot());
  1527. zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0");
  1528. zra.setPhysid(pic_id);
  1529. zra.setPhysresult(qpu.getPic_result_code());
  1530. zra.setPhysresult_desc(qpu.getPic_result_desc());
  1531. mapper.UpdateJugeResultB(zra);
  1532. }else{
  1533. // 更新库存表材质判定结果
  1534. QcmJudgeCoilResult zra = new QcmJudgeCoilResult();
  1535. zra.setInspection_lot(qcmJhySampleROrd.getInspection_lot());
  1536. zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0");
  1537. zra.setPhysid(pic_id);
  1538. zra.setPhysresult(qpu.getPic_result_code());
  1539. zra.setPhysresult_desc(qpu.getPic_result_desc());
  1540. mapper.UpdateJugeResultJ(zra);
  1541. }
  1542. }else{
  1543. throw new Exception("未找到该检验号下的库存信息!");
  1544. }
  1545. //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS
  1546. if(list2.size() > 0) {
  1547. for (HashMap hashMap : list2) {
  1548. List<HashMap> hashmap2 = mapper.doQueryMaterialInfoJ(hashMap.get("COIL_NO").toString());
  1549. if (hashmap2.size() > 0) {
  1550. coiljudge_status_call(hashmap2.get(0).get("PLINE_CODE").toString(), hashMap.get("COIL_NO").toString(), null, judge ? "1" : "2", null, null, null, null, null,"");
  1551. }
  1552. }
  1553. }
  1554. }
  1555. }
  1556. }
  1557. QcmJudgeLog qjl = new QcmJudgeLog();
  1558. qjl.setJudge_type("R");
  1559. qjl.setMaterial_no(qcmJhySampleROrd.getInspection_lot());
  1560. qjl.setCreate_name("system");
  1561. qjl.setMaterial_type("1");
  1562. qjl.setProd_line(listOrd.get(0).getPline_code());
  1563. mapper.insertQcmJudgeLog(qjl);
  1564. /*inspection_lot = qcmJhySampleROrd.getInspection_lot();
  1565. status = qpu.getPic_result_code();*/
  1566. }
  1567. SqlSession.commit();
  1568. /*//调用熔炼成分判定 RlChemAutoJudgeByHuman
  1569. QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl();
  1570. qje.RlChemAutoJudgeByHuman2(inspection_lot);
  1571. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  1572. if(status.equals("1")){
  1573. qjpc.ultimateJudgeAutoBySystemB(inspection_lot, username );
  1574. }*/
  1575. }catch(Exception e){
  1576. cro.setV_errCode(-1);
  1577. cro.setV_errMsg(e.getMessage());
  1578. SqlSession.rollback();
  1579. logger.info(new Date().toString() + " QCM.QCM03.QCM0302.QcmJhyPhyresultServiceImpl.JudgeByHuman2:【" + smp_no + "," + specimen_no.toString() + "," + username + "," + smp_type_code + "," + steelname + "】" + e);
  1580. }
  1581. SqlSession.close();
  1582. //高线且判定不通过,调用异常处理判废
  1583. if(CollectionUtils.isNotEmpty(arrayList)) {
  1584. QcmRejudgeApplyServiceImpl qcmRejudgeApplyService = new QcmRejudgeApplyServiceImpl();
  1585. qcmRejudgeApplyService.doInformationSure(arrayList);
  1586. }
  1587. /*final String inspection_lot1 = inspection_lot;
  1588. Thread t2 = new Thread(){
  1589. @Override
  1590. public void run(){
  1591. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  1592. try {
  1593. qjpc.ultimateJudgeAutoBySystemB(inspection_lot1, "system" );
  1594. } catch (Exception e) {
  1595. // TODO Auto-generated catch block
  1596. e.printStackTrace();
  1597. }
  1598. }
  1599. };
  1600. t2.start();*/
  1601. return cro;
  1602. }
  1603. /**
  1604. * 质量判定-材质判定管理-人工干预判定
  1605. * List<QcmJhySampleConsignDItem>
  1606. * */
  1607. @SuppressWarnings("unchecked")
  1608. public CoreReturnObject JudgeByHuman(String smp_no,ArrayList<List> specimen_no,String username,String steelname) throws Exception{
  1609. String staus="";
  1610. String inspection_lot = "";
  1611. String Fcqp = "";
  1612. try{
  1613. //获取未判定的数据
  1614. List<ArrayList> listS = new ArrayList<ArrayList>();
  1615. String condition=" Judge_status='0' ";
  1616. QcmJhySampleROrd qjsr=new QcmJhySampleROrd();
  1617. List<QcmJhySampleROrd> listqjsr=new ArrayList<QcmJhySampleROrd>();
  1618. List<HashMap> listYc = new ArrayList<HashMap>();
  1619. String status="";
  1620. List<String> lists=new ArrayList<String>();//异常材料处理用,用于不合格项目的备注
  1621. List<QcmJhySampleROrd> listx=mapper.GetSamplePhyInfo1(condition,smp_no);
  1622. if(listx.size() == 0){
  1623. throw new Exception("该产品已判或者未处于待判状态");
  1624. }
  1625. List<QcmJhySampleROrd> listOrd=new ArrayList<QcmJhySampleROrd>();
  1626. List<QcmJhySampleConsignDItem> qjscList = new ArrayList<QcmJhySampleConsignDItem>(); // 存放不合格的项目,用于自动复样
  1627. List<String> w=new ArrayList<String>();
  1628. List<QcmJhySampleConsignD> listv = new ArrayList<QcmJhySampleConsignD>();
  1629. for (QcmJhySampleROrd o : listx) {
  1630. boolean flag=true;//判定试样号向下的取样编号是否都是已完成状态;
  1631. listv = mapper.findQcmJhySampleConsignD2(o.getSmp_no());
  1632. for (QcmJhySampleConsignD d : listv) {
  1633. if (!d.getStatus().equals("3") && !d.getStatus().equals("5")) {
  1634. flag=false;
  1635. throw new Exception("该试样号向下的取样编号存在未完成的!");
  1636. }
  1637. //中厚板性能预测
  1638. /* if(d.getPline_code().contains("HB1") || d.getPline_code().contains("ZB1")){
  1639. if(d.getRz_mixroll()!= null && d.getRz_old_sampl_no()!= null){
  1640. if(!d.getSpecimen_no().equals(d.getRz_old_sampl_no())){
  1641. String sql = "select count(1) count from qcm_jhy_sample_r_ord z where z.inspection_lot in (select inspection_lot from qcm_jhy_sample_consign_d where specimen_no = '"+d.getRz_old_sampl_no()+"')";
  1642. listYc = mapper.query(sql);
  1643. if(listYc.get(0).get("COUNT").equals("0")){
  1644. throw new Exception("该试样号向下的抽样物料试样号不存在!");
  1645. }
  1646. sql = "select count(1) count from qcm_jhy_sample_r_ord z where z.inspection_lot in (select inspection_lot from qcm_jhy_sample_consign_d where specimen_no = '"+d.getRz_old_sampl_no()+"') and (judge_result_code <> '1' or judge_result_code is null)";
  1647. listYc = mapper.query(sql);
  1648. if(!listYc.get(0).get("COUNT").equals("0")){
  1649. throw new Exception("该试样号向下的抽样物料材质判定不合格!");
  1650. }
  1651. }
  1652. }
  1653. }*/
  1654. }
  1655. if (flag) {
  1656. listOrd.add(o);
  1657. }
  1658. }
  1659. String pic_id="";
  1660. QcmJhySampleConsignD _consignD=new QcmJhySampleConsignD();
  1661. for (QcmJhySampleROrd qcmJhySampleROrd : listOrd) {
  1662. _consignD.setSmp_no(qcmJhySampleROrd.getSmp_no());
  1663. _consignD.setInspection_lot(qcmJhySampleROrd.getInspection_lot());
  1664. _consignD.setHeat_no(qcmJhySampleROrd.getHeat_no());
  1665. //获取取样编号
  1666. List<QcmJhySampleConsignD> listConsignD=mapper.findQcmJhySampleConsignD(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getInspection_lot(), qcmJhySampleROrd.getHeat_no());
  1667. //上面listConsignD 只会查出一条数据,如果有多条数据需要跟设计确认是如何进行关联的
  1668. List<QcmJhyPhyresult> listResult=new ArrayList<QcmJhyPhyresult>();
  1669. //获取检验信息
  1670. for (QcmJhySampleConsignD d : listConsignD) {
  1671. QcmJhyPhyresult _result=new QcmJhyPhyresult();
  1672. List<QcmJhyPhyresult> listqjp=mapper.findphyresult(d.getSpecimen_no());
  1673. if (listqjp.size()<1) {
  1674. continue;
  1675. }
  1676. for (QcmJhyPhyresult q : listqjp) {
  1677. String s = (q.getSpecimen_no()==null?"":q.getSpecimen_no()) + (q.getSeq()==null?"":q.getSeq()) + (q.getPhy_code_l()==null?"":q.getPhy_code_l()) + (q.getPhy_code_m()==null?"":q.getPhy_code_m()) + (q.getPhy_code_s()==null?"":q.getPhy_code_s()) + (q.getItem_code_d()==null?"":q.getItem_code_d())
  1678. + (q.getItem_code_s()==null?"":q.getItem_code_s()) + (q.getItem_code_t()==null?"":q.getItem_code_t());
  1679. if(specimen_no.contains(s)){
  1680. listResult.add(q);
  1681. continue;
  1682. }
  1683. }
  1684. List<QcmJhySampleConsignDItem> listi=mapper.findQcmJhySampleConsignDItem(d.getSpecimen_no());
  1685. if(listi.size()<=0){
  1686. throw new Exception("未找到数据!");
  1687. }
  1688. }
  1689. //获取标准和实测值(调用zj书写的接口)
  1690. CoreReturnObject r =querryJudgetItemInfo(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getDesign_key(),steelname,qcmJhySampleROrd.getPline_code());
  1691. List<QcmJhySampleConsignDItem> listd=(List<QcmJhySampleConsignDItem>) r.getResult();
  1692. List<QcmOrdDesignStdPic> listp = mapper.queryQCMOrdDesignStdPic("SELECT distinct a.phy_code_l,a.phy_code_m,a.phy_code_s,a.item_code_d,a.item_code_t,a.item_desc_s,a.item_code_l FROM qcm_ord_design_std_pic a WHERE DESIGN_KEY = '"+qcmJhySampleROrd.getDesign_key()+"'");
  1693. boolean pass=true;//是否合格
  1694. boolean judge = true;
  1695. int t = 0;
  1696. boolean pass2=true;
  1697. int k= 0;
  1698. if(listResult.size() == 0){
  1699. throw new Exception("所选检验项目不全!");
  1700. }
  1701. /*if(listResult.size() < listp.size()){
  1702. throw new Exception("所选检验项目不全!");
  1703. }*/
  1704. for (QcmJhySampleConsignDItem sod : listd) {
  1705. boolean pass1 = false;
  1706. //List<QcmJhyPhyresult> listqjp=mapper.findphyresult(sod.getSpecimen_no());
  1707. String s = (sod.getSpecimen_no()==null?"":sod.getSpecimen_no()) + (sod.getSeq()==null?"":sod.getSeq())+ (sod.getPhy_code_l()==null?"":sod.getPhy_code_l()) + (sod.getPhy_code_m()==null?"":sod.getPhy_code_m()) + (sod.getPhy_code_s()==null?"":sod.getPhy_code_s()) + (sod.getItem_code_d()==null?"":sod.getItem_code_d())
  1708. + (sod.getItem_code_s()==null?"":sod.getItem_code_s()) + (sod.getItem_code_t()==null?"":sod.getItem_code_t());
  1709. if(specimen_no.contains(s)){
  1710. pass1 = true;
  1711. }
  1712. if(!pass1){
  1713. continue;
  1714. }
  1715. if(SqlJoint.IsNullOrSpace(sod.getVal1()) && SqlJoint.IsNullOrSpace(sod.getVal2()) && SqlJoint.IsNullOrSpace(sod.getVal3()) && SqlJoint.IsNullOrSpace(sod.getAvg_val()) && sod.getIsjudge().equals("1")){
  1716. throw new Exception("获取实绩为空!");
  1717. }
  1718. String bool0="";
  1719. String bool1="";
  1720. String bool2="";
  1721. String bool3="";
  1722. String bool4="";
  1723. String bool5="";
  1724. String bool6="";
  1725. String bool7="";
  1726. pass = true;
  1727. //if(pass){
  1728. //最小值判定
  1729. if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("A")&&"1".equals(sod.getIsjudge())) {
  1730. String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),sod.getJudge_basis());
  1731. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null);
  1732. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1733. lists.add(sod.getPhy_name_l()+":"+min);
  1734. sod.setStdmin(sod.getJf_stdmin());
  1735. sod.setStdmin_sign(sod.getJf_stdmin_sign());
  1736. }
  1737. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null);
  1738. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1739. lists.add(sod.getPhy_name_l()+":"+min);
  1740. sod.setStdmax(sod.getJf_stdmax());
  1741. sod.setStdmax_sign(sod.getJf_stdmax_sign());
  1742. }
  1743. bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null);
  1744. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1745. lists.add(sod.getPhy_name_l()+":"+min);
  1746. sod.setStdmin(sod.getKh_stdmin());
  1747. sod.setStdmin_sign(sod.getKh_stdmin_sign());
  1748. }
  1749. bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null);
  1750. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1751. lists.add(sod.getPhy_name_l()+":"+min);
  1752. sod.setStdmax(sod.getKh_stdmax());
  1753. sod.setStdmax_sign(sod.getKh_stdmax_sign());
  1754. }
  1755. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null);
  1756. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1757. lists.add(sod.getPhy_name_l()+":"+min);
  1758. sod.setStdmin(sod.getNk_stdmin());
  1759. sod.setStdmin_sign(sod.getNk_stdmin_sign());
  1760. }
  1761. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null);
  1762. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1763. lists.add(sod.getPhy_name_l()+":"+min);
  1764. sod.setStdmax(sod.getNk_stdmax());
  1765. sod.setStdmax_sign(sod.getNk_stdmax_sign());
  1766. }
  1767. bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),min,null,null,null,null,null,null,null,null);
  1768. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1769. lists.add(sod.getPhy_name_l()+":"+min);
  1770. sod.setStdmin(sod.getFx_stdmin());
  1771. sod.setStdmin_sign(sod.getFx_stdmin_sign());
  1772. }
  1773. bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),min,null,null,null,null,null,null,null,null);
  1774. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1775. lists.add(sod.getPhy_name_l()+":"+min);
  1776. sod.setStdmax(sod.getFx_stdmax());
  1777. sod.setStdmax_sign(sod.getFx_stdmax_sign());
  1778. }
  1779. if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) {
  1780. if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差
  1781. //通过国家标准判断
  1782. if("2".equals(bool0)||"2".equals(bool1)) {
  1783. pass=false;
  1784. sod.setIsbz("0");
  1785. qjscList.add(sod);
  1786. }
  1787. } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin()) && StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())) {//判断是否复样&屈服强度&螺纹钢牌号
  1788. //通过放行标准判断
  1789. if("2".equals(bool6)||"2".equals(bool7)) {
  1790. pass=false;
  1791. sod.setIsbz("0");
  1792. qjscList.add(sod);
  1793. }
  1794. } else {
  1795. pass=false;
  1796. sod.setIsbz("0");
  1797. qjscList.add(sod);
  1798. }
  1799. }
  1800. }
  1801. //最大值判定
  1802. if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("B")&&"1".equals(sod.getIsjudge())) {
  1803. String min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),sod.getJudge_basis());
  1804. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null);
  1805. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1806. lists.add(sod.getPhy_name_l()+":"+min);
  1807. sod.setStdmin(sod.getJf_stdmin());
  1808. sod.setStdmin_sign(sod.getJf_stdmin_sign());
  1809. }
  1810. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null);
  1811. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1812. lists.add(sod.getPhy_name_l()+":"+min);
  1813. sod.setStdmax(sod.getJf_stdmax());
  1814. sod.setStdmax_sign(sod.getJf_stdmax_sign());
  1815. }
  1816. bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null);
  1817. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1818. lists.add(sod.getPhy_name_l()+":"+min);
  1819. sod.setStdmin(sod.getKh_stdmin());
  1820. sod.setStdmin_sign(sod.getKh_stdmin_sign());
  1821. }
  1822. bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null);
  1823. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1824. lists.add(sod.getPhy_name_l()+":"+min);
  1825. sod.setStdmax(sod.getKh_stdmax());
  1826. sod.setStdmax_sign(sod.getKh_stdmax_sign());
  1827. }
  1828. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null);
  1829. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1830. lists.add(sod.getPhy_name_l()+":"+min);
  1831. sod.setStdmin(sod.getNk_stdmin());
  1832. sod.setStdmin_sign(sod.getNk_stdmin_sign());
  1833. }
  1834. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null);
  1835. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1836. lists.add(sod.getPhy_name_l()+":"+min);
  1837. sod.setStdmax(sod.getNk_stdmax());
  1838. sod.setStdmax_sign(sod.getNk_stdmax_sign());
  1839. }
  1840. bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),min,null,null,null,null,null,null,null,null);
  1841. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1842. lists.add(sod.getPhy_name_l()+":"+min);
  1843. sod.setStdmin(sod.getFx_stdmin());
  1844. sod.setStdmin_sign(sod.getFx_stdmin_sign());
  1845. }
  1846. bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),min,null,null,null,null,null,null,null,null);
  1847. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1848. lists.add(sod.getPhy_name_l()+":"+min);
  1849. sod.setStdmax(sod.getFx_stdmax());
  1850. sod.setStdmax_sign(sod.getFx_stdmax_sign());
  1851. }
  1852. if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) {
  1853. if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差
  1854. //通过国家标准判断
  1855. if("2".equals(bool0)||"2".equals(bool1)) {
  1856. pass=false;
  1857. sod.setIsbz("0");
  1858. qjscList.add(sod);
  1859. }
  1860. } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin()) && StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())) {//判断是否复样&屈服强度&螺纹钢牌号
  1861. //通过放行标准判断
  1862. if("2".equals(bool6)||"2".equals(bool7)) {
  1863. pass=false;
  1864. sod.setIsbz("0");
  1865. qjscList.add(sod);
  1866. }
  1867. } else {
  1868. pass=false;
  1869. sod.setIsbz("0");
  1870. qjscList.add(sod);
  1871. }
  1872. }
  1873. }
  1874. //平均值判定
  1875. if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("C")&&"1".equals(sod.getIsjudge())) {
  1876. String min="";
  1877. if (!SqlJoint.IsNullOrSpace(sod.getAvg_val())) {
  1878. min=sod.getVal1();
  1879. }else {
  1880. min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis());
  1881. }
  1882. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null);
  1883. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1884. lists.add(sod.getPhy_name_l()+":"+min);
  1885. sod.setStdmin(sod.getJf_stdmax());
  1886. sod.setStdmin_sign(sod.getJf_stdmax_sign());
  1887. }
  1888. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null);
  1889. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1890. lists.add(sod.getPhy_name_l()+":"+min);
  1891. sod.setStdmax(sod.getJf_stdmax());
  1892. sod.setStdmax_sign(sod.getJf_stdmax_sign());
  1893. }
  1894. bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null);
  1895. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1896. lists.add(sod.getPhy_name_l()+":"+min);
  1897. sod.setStdmin(sod.getKh_stdmax());
  1898. sod.setStdmin_sign(sod.getKh_stdmax_sign());
  1899. }
  1900. bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null);
  1901. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1902. lists.add(sod.getPhy_name_l()+":"+min);
  1903. sod.setStdmax(sod.getKh_stdmax());
  1904. sod.setStdmax_sign(sod.getKh_stdmax_sign());
  1905. }
  1906. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null);
  1907. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1908. lists.add(sod.getPhy_name_l()+":"+min);
  1909. sod.setStdmin(sod.getNk_stdmin());
  1910. sod.setStdmin_sign(sod.getNk_stdmin_sign());
  1911. }
  1912. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null);
  1913. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1914. lists.add(sod.getPhy_name_l()+":"+min);
  1915. sod.setStdmax(sod.getNk_stdmax());
  1916. sod.setStdmax_sign(sod.getNk_stdmax_sign());
  1917. }
  1918. bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),min,null,null,null,null,null,null,null,null);
  1919. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1920. lists.add(sod.getPhy_name_l()+":"+min);
  1921. sod.setStdmin(sod.getFx_stdmin());
  1922. sod.setStdmin_sign(sod.getFx_stdmin_sign());
  1923. }
  1924. bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),min,null,null,null,null,null,null,null,null);
  1925. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  1926. lists.add(sod.getPhy_name_l()+":"+min);
  1927. sod.setStdmax(sod.getFx_stdmax());
  1928. sod.setStdmax_sign(sod.getFx_stdmax_sign());
  1929. }
  1930. if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) {
  1931. if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差
  1932. //通过国家标准判断
  1933. if("2".equals(bool0)||"2".equals(bool1)) {
  1934. pass=false;
  1935. sod.setIsbz("0");
  1936. qjscList.add(sod);
  1937. }
  1938. } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin()) && StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())) {//判断是否复样&屈服强度&螺纹钢牌号
  1939. //通过放行标准判断
  1940. if("2".equals(bool6)||"2".equals(bool7)) {
  1941. pass=false;
  1942. sod.setIsbz("0");
  1943. qjscList.add(sod);
  1944. }
  1945. } else {
  1946. pass=false;
  1947. sod.setIsbz("0");
  1948. qjscList.add(sod);
  1949. }
  1950. }
  1951. }
  1952. //逐项值判定
  1953. if (SqlJoint.IsNullOrSpace(sod.getJudge_basis())||sod.getJudge_basis().equalsIgnoreCase("D")&&"1".equals(sod.getIsjudge())) {
  1954. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  1955. String str=connectVal(sod.getPhy_name_l(), sod.getVal1(),sod.getVal2(),sod.getVal3());
  1956. if ("2".equals(bool0)&&!lists.contains(str)) {
  1957. lists.add(str);
  1958. sod.setStdmin(sod.getJf_stdmin());
  1959. sod.setStdmin_sign(sod.getJf_stdmin_sign());
  1960. }
  1961. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  1962. if ("2".equals(bool1)&&!lists.contains(str)) {
  1963. lists.add(str);
  1964. sod.setStdmax(sod.getJf_stdmax());
  1965. sod.setStdmax_sign(sod.getJf_stdmax_sign());
  1966. if(sod.getPhy_name_l().contains("硬度")){
  1967. k++;
  1968. }
  1969. }
  1970. bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  1971. if ("2".equals(bool2)&&!lists.contains(str)) {
  1972. lists.add(str);
  1973. sod.setStdmin(sod.getKh_stdmin());
  1974. sod.setStdmin_sign(sod.getKh_stdmin_sign());
  1975. }
  1976. bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  1977. if ("2".equals(bool3)&&!lists.contains(str)) {
  1978. lists.add(str);
  1979. sod.setStdmax(sod.getKh_stdmax());
  1980. sod.setStdmax_sign(sod.getKh_stdmax_sign());
  1981. if(sod.getPhy_name_l().contains("硬度")){
  1982. k++;
  1983. }
  1984. }
  1985. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  1986. if ("2".equals(bool4)&&!lists.contains(str)) {
  1987. lists.add(str);
  1988. sod.setStdmin(sod.getNk_stdmin());
  1989. sod.setStdmin_sign(sod.getNk_stdmin_sign());
  1990. }
  1991. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  1992. if ("2".equals(bool5)&&!lists.contains(str)) {
  1993. lists.add(str);
  1994. sod.setStdmax(sod.getNk_stdmax());
  1995. sod.setStdmax_sign(sod.getNk_stdmax_sign());
  1996. if(sod.getPhy_name_l().contains("硬度")){
  1997. k++;
  1998. }
  1999. }
  2000. bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  2001. if ("2".equals(bool4)&&!lists.contains(str)) {
  2002. lists.add(str);
  2003. sod.setStdmin(sod.getFx_stdmin());
  2004. sod.setStdmin_sign(sod.getFx_stdmin_sign());
  2005. }
  2006. bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  2007. if ("2".equals(bool5)&&!lists.contains(str)) {
  2008. lists.add(str);
  2009. sod.setStdmax(sod.getFx_stdmax());
  2010. sod.setStdmax_sign(sod.getFx_stdmax_sign());
  2011. if(sod.getPhy_name_l().contains("硬度")){
  2012. k++;
  2013. }
  2014. }
  2015. if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) {
  2016. if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差
  2017. //通过国家标准判断
  2018. if("2".equals(bool0)||"2".equals(bool1)) {
  2019. pass=false;
  2020. sod.setIsbz("0");
  2021. qjscList.add(sod);
  2022. }
  2023. } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin()) && StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())) {//判断是否复样&屈服强度&螺纹钢牌号
  2024. //通过放行标准判断
  2025. if("2".equals(bool6)||"2".equals(bool7)) {
  2026. pass=false;
  2027. sod.setIsbz("0");
  2028. qjscList.add(sod);
  2029. }
  2030. } else {
  2031. pass=false;
  2032. sod.setIsbz("0");
  2033. qjscList.add(sod);
  2034. }
  2035. }
  2036. }
  2037. if((pass && !SqlJoint.IsNullOrSpace(sod.getAddcondition()) && sod.getAddcondition().equals("1")) || (!pass && !SqlJoint.IsNullOrSpace(sod.getAddcondition()) && sod.getAddcondition().equals("0"))){
  2038. pass = true;
  2039. int count = 0;
  2040. int b = 0;
  2041. qjscList.remove(sod);
  2042. sod.setIsbz("1");
  2043. //允许一个值
  2044. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("A")&&"1".equals(sod.getIsjudge())) {
  2045. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal1(),null,null,null,null,null,null,null,null);
  2046. if(bool0.equals("2")){
  2047. count ++;
  2048. b++;
  2049. }else{
  2050. bool0=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal1(),null,null,null,null,null,null,null,null);
  2051. if(bool0.equals("2")){
  2052. count ++;
  2053. b++;
  2054. }else{
  2055. bool0=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),sod.getVal1(),null,null,null,null,null,null,null,null);
  2056. if(bool0.equals("2")){
  2057. count ++;
  2058. b++;
  2059. }
  2060. }
  2061. }
  2062. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal1(),null,null,null,null,null,null,null,null);
  2063. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) {
  2064. lists.add(sod.getPhy_name_l()+":"+sod.getVal1());
  2065. t++;
  2066. }
  2067. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal1(),null,null,null,null,null,null,null,null);
  2068. if(bool1.equals("2")){
  2069. count ++;
  2070. b++;
  2071. }else{
  2072. bool1=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal1(),null,null,null,null,null,null,null,null);
  2073. if(bool1.equals("2")){
  2074. count ++;
  2075. b++;
  2076. }else{
  2077. bool1=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),sod.getVal1(),null,null,null,null,null,null,null,null);
  2078. if(bool1.equals("2")){
  2079. count ++;
  2080. b++;
  2081. }
  2082. }
  2083. }
  2084. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal1(),null,null,null,null,null,null,null,null);
  2085. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) {
  2086. lists.add(sod.getPhy_name_l()+":"+sod.getVal1());
  2087. t++;
  2088. }
  2089. bool2=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal2(),null,null,null,null,null,null,null,null);
  2090. if(bool2.equals("2")){
  2091. count ++;
  2092. b++;
  2093. }else{
  2094. bool2=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal2(),null,null,null,null,null,null,null,null);
  2095. if(bool2.equals("2")){
  2096. count ++;
  2097. b++;
  2098. }else{
  2099. bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),sod.getVal2(),null,null,null,null,null,null,null,null);
  2100. if(bool2.equals("2")){
  2101. count ++;
  2102. b++;
  2103. }
  2104. }
  2105. }
  2106. bool2=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal2(),null,null,null,null,null,null,null,null);
  2107. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) {
  2108. lists.add(sod.getPhy_name_l()+":"+sod.getVal2());
  2109. t++;
  2110. }
  2111. bool3=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal2(),null,null,null,null,null,null,null,null);
  2112. if(bool3.equals("2")){
  2113. count ++;
  2114. b++;
  2115. }else{
  2116. bool3=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal2(),null,null,null,null,null,null,null,null);
  2117. if(bool3.equals("2")){
  2118. count ++;
  2119. b++;
  2120. }else{
  2121. bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),sod.getVal2(),null,null,null,null,null,null,null,null);
  2122. if(bool3.equals("2")){
  2123. count ++;
  2124. b++;
  2125. }
  2126. }
  2127. }
  2128. bool3=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal2(),null,null,null,null,null,null,null,null);
  2129. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) {
  2130. lists.add(sod.getPhy_name_l()+":"+sod.getVal2());
  2131. t++;
  2132. }
  2133. bool4=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal3(),null,null,null,null,null,null,null,null);
  2134. if(bool4.equals("2")){
  2135. count ++;
  2136. b++;
  2137. }else{
  2138. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal3(),null,null,null,null,null,null,null,null);
  2139. if(bool4.equals("2")){
  2140. count ++;
  2141. b++;
  2142. }else{
  2143. bool4=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),sod.getVal3(),null,null,null,null,null,null,null,null);
  2144. if(bool4.equals("2")){
  2145. count ++;
  2146. b++;
  2147. }
  2148. }
  2149. }
  2150. bool4=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal3(),null,null,null,null,null,null,null,null);
  2151. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) {
  2152. lists.add(sod.getPhy_name_l()+":"+sod.getVal3());
  2153. t++;
  2154. }
  2155. bool5=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal3(),null,null,null,null,null,null,null,null);
  2156. if(bool5.equals("2")){
  2157. count ++;
  2158. b++;
  2159. }else{
  2160. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal3(),null,null,null,null,null,null,null,null);
  2161. if(bool5.equals("2")){
  2162. count ++;
  2163. b++;
  2164. }else{
  2165. bool5=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),sod.getVal3(),null,null,null,null,null,null,null,null);
  2166. if(bool5.equals("2")){
  2167. count ++;
  2168. b++;
  2169. }
  2170. }
  2171. }
  2172. bool5=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal3(),null,null,null,null,null,null,null,null);
  2173. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) {
  2174. lists.add(sod.getPhy_name_l()+":"+sod.getVal3());
  2175. t++;
  2176. }
  2177. if(count > 1){
  2178. pass=false;
  2179. sod.setIsbz("1");
  2180. qjscList.add(sod);
  2181. }else{
  2182. if ("2".equals(bool0)||"2".equals(bool1) || "2".equals(bool2)||"2".equals(bool3) || "2".equals(bool4)||"2".equals(bool5) ){
  2183. pass=false;
  2184. sod.setIsbz("1");
  2185. qjscList.add(sod);
  2186. }
  2187. }
  2188. if(b>=3 || t>=2){
  2189. pass2 =false;
  2190. }
  2191. }
  2192. //最大最小差值
  2193. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("B")&&"1".equals(sod.getIsjudge())) {
  2194. String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), "D");
  2195. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null);
  2196. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  2197. lists.add(sod.getPhy_name_l()+":"+min);
  2198. }
  2199. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null);
  2200. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  2201. lists.add(sod.getPhy_name_l()+":"+min);
  2202. }
  2203. if ("2".equals(bool0)||"2".equals(bool1)) {
  2204. pass=false;
  2205. sod.setIsbz("1");
  2206. qjscList.add(sod);
  2207. }
  2208. }
  2209. //平均值
  2210. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("C")&&"1".equals(sod.getIsjudge())) {
  2211. String min="";
  2212. if (!SqlJoint.IsNullOrSpace(sod.getAvg_val())) {
  2213. min=sod.getVal1();
  2214. }else {
  2215. min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis());
  2216. }
  2217. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null);
  2218. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  2219. lists.add(sod.getPhy_name_l()+":"+min);
  2220. }
  2221. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null);
  2222. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  2223. lists.add(sod.getPhy_name_l()+":"+min);
  2224. }
  2225. if ("2".equals(bool0)||"2".equals(bool1)) {
  2226. pass=false;
  2227. sod.setIsbz("1");
  2228. qjscList.add(sod);
  2229. }
  2230. }
  2231. //最小值
  2232. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("D")&&"1".equals(sod.getIsjudge())) {
  2233. String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),"A");
  2234. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null);
  2235. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  2236. lists.add(sod.getPhy_name_l()+":"+min);
  2237. }
  2238. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null);
  2239. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  2240. lists.add(sod.getPhy_name_l()+":"+min);
  2241. }
  2242. if ("2".equals(bool0)||"2".equals(bool1)) {
  2243. pass=false;
  2244. sod.setIsbz("1");
  2245. qjscList.add(sod);
  2246. }
  2247. }
  2248. //最大值
  2249. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("E")&&"1".equals(sod.getIsjudge())) {
  2250. String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), "B");
  2251. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null);
  2252. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  2253. lists.add(sod.getPhy_name_l()+":"+min);
  2254. }
  2255. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null);
  2256. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  2257. lists.add(sod.getPhy_name_l()+":"+min);
  2258. }
  2259. if ("2".equals(bool0)||"2".equals(bool1)) {
  2260. pass=false;
  2261. sod.setIsbz("1");
  2262. qjscList.add(sod);
  2263. }
  2264. }
  2265. //所有值
  2266. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("E")&&"1".equals(sod.getIsjudge())) {
  2267. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal1(),null,null,null,null,null,null,null,null);
  2268. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) {
  2269. lists.add(sod.getPhy_name_l()+":"+sod.getVal1());
  2270. }
  2271. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal1(),null,null,null,null,null,null,null,null);
  2272. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) {
  2273. lists.add(sod.getPhy_name_l()+":"+sod.getVal1());
  2274. }
  2275. bool2=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal2(),null,null,null,null,null,null,null,null);
  2276. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) {
  2277. lists.add(sod.getPhy_name_l()+":"+sod.getVal2());
  2278. }
  2279. bool3=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal2(),null,null,null,null,null,null,null,null);
  2280. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) {
  2281. lists.add(sod.getPhy_name_l()+":"+sod.getVal2());
  2282. }
  2283. bool4=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal3(),null,null,null,null,null,null,null,null);
  2284. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) {
  2285. lists.add(sod.getPhy_name_l()+":"+sod.getVal3());
  2286. }
  2287. bool5=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal3(),null,null,null,null,null,null,null,null);
  2288. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) {
  2289. lists.add(sod.getPhy_name_l()+":"+sod.getVal3());
  2290. }
  2291. if ("2".equals(bool0)||"2".equals(bool1) ||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) {
  2292. pass=false;
  2293. sod.setIsbz("1");
  2294. qjscList.add(sod);
  2295. }
  2296. }
  2297. }
  2298. if(sod.getDefect_flag()!= null){
  2299. if(qcmJhySampleROrd.getBatch_no().startsWith("Z") || qcmJhySampleROrd.getBatch_no().startsWith("H")){
  2300. if(sod.getDefect_flag().equals("1") && (qcmJhySampleROrd.getStd_code().contains("Rules") || qcmJhySampleROrd.getStd_code().contains("GB/T712"))){
  2301. pass = false;
  2302. Fcqp = "1";
  2303. }
  2304. }/*else{
  2305. if(sod.getDefect_flag().equals("1")){
  2306. pass = true;
  2307. }
  2308. }*/
  2309. }
  2310. if(!pass){
  2311. judge = false;
  2312. }
  2313. }
  2314. if(qcmJhySampleROrd.getDesign_key().startsWith("36") || qcmJhySampleROrd.getDesign_key().startsWith("X36") || qcmJhySampleROrd.getDesign_key().startsWith("W36") || qcmJhySampleROrd.getDesign_key().startsWith("WX36")){
  2315. judge = true;
  2316. }
  2317. qjsr=UpdateData(qjscList,listResult,qcmJhySampleROrd,judge,username,steelname,"");
  2318. String sql = "select * from zj_result_all@xgcx where BILLETID_JY = '"+qcmJhySampleROrd.getInspection_lot()+"' and judgeresult = '0' ";
  2319. List<HashMap> list1 = mapper.query(sql);
  2320. sql = "select * from zj_result_all@xgcx where BILLETID like '"+qcmJhySampleROrd.getBatch_no()+"%' and BILLETID_JY <> '"+qcmJhySampleROrd.getInspection_lot()+"'";
  2321. List<HashMap> list3 = mapper.query(sql);
  2322. sql = "select * from QCM_JUDGE_COIL_RESULT where INSPECTION_LOT = '"+qcmJhySampleROrd.getInspection_lot()+"' and judgeresult = '0'";
  2323. List<HashMap> list2 = mapper.query(sql);
  2324. sql = "select * from QCM_JUDGE_YT_COIL_RESULT where INSPECTION_LOT = '"+qcmJhySampleROrd.getInspection_lot()+"' and judgeresult = '0'";
  2325. List<HashMap> list4 = mapper.query(sql);
  2326. if(!judge){
  2327. //更新材料异常处理表
  2328. QCMJudgeLocking qjb=new QCMJudgeLocking();
  2329. if(list1.size() >0 || list2.size() >0){
  2330. if(list1.size()>0){
  2331. for(HashMap list:list1){
  2332. List<HashMap> hashmap = mapper.doQueryMaterialInfoHB(list.get("BILLETID").toString());
  2333. if(hashmap.size() == 0){
  2334. hashmap = mapper.doQueryMaterialInfoZB(list.get("BILLETID").toString());
  2335. }
  2336. if(hashmap.size() == 0){
  2337. hashmap = mapper.doQueryMaterialInfoX(list.get("BILLETID").toString());
  2338. }
  2339. if(hashmap.size()==0){
  2340. throw new Exception("未找到库存信息");
  2341. }
  2342. if(hashmap.get(0).get("DESIGN_KEY") != null){
  2343. int count=0;
  2344. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  2345. String date=sdf.format(new Date());
  2346. condition = " and MATERIAL_NO = '"+list.get("BILLETID").toString()+"' order by LOCK_SEQ desc ";
  2347. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  2348. if(qjl.size() > 0){
  2349. count=qjl.get(0).getLock_seq();
  2350. }
  2351. count++;
  2352. //锁定记录号
  2353. int lock_seq=count;
  2354. qjb.setMaterial_no(list.get("BILLETID").toString());
  2355. qjb.setLock_id(qjsr.getPhy_id());
  2356. qjb.setLock_type_code("P");
  2357. qjb.setLock_type_desc("材质判定");
  2358. qjb.setLock_seq(lock_seq);
  2359. qjb.setBoard_no(list.get("BILLETID").toString());
  2360. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString());
  2361. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString());
  2362. qjb.setLock_name(username.equals("system")?"系统自动判定":username);
  2363. qjb.setCic_locking("1");
  2364. qjb.setLock_time(new Date());
  2365. qjb.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString());
  2366. qjb.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString());
  2367. qjb.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString());
  2368. qjb.setPlan_no(hashmap.get(0).get("PLAN_NO")==null?"":hashmap.get(0).get("PLAN_NO").toString());
  2369. qjb.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString());
  2370. qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString());
  2371. qjb.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString());
  2372. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  2373. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString());
  2374. qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  2375. qjb.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString());
  2376. qjb.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString());
  2377. qjb.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  2378. qjb.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  2379. qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString());
  2380. qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString());
  2381. qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString());
  2382. List<QcmJudgePhysical> qjc = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where INSPECTION_LOT = '"+list.get("BILLETID_JY").toString()+"' order by JUDGE_TTIME desc");
  2383. int seq1 = 1;
  2384. //插入判定原因表
  2385. String memo = "";
  2386. for(QcmJhySampleConsignDItem listz : qjscList){
  2387. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  2388. if(listz.getPhy_name_s()!=null){
  2389. memo += (memo.equals("")?"":",")+ listz.getPhy_name_s();
  2390. }
  2391. if(listz.getItem_name_d()!=null){
  2392. memo += "-"+listz.getItem_name_d();
  2393. }
  2394. if(listz.getItem_name_t()!=null){
  2395. memo += "-"+listz.getItem_name_t();
  2396. }
  2397. if(listz.getItem_name_s()!=null){
  2398. memo += "-"+listz.getItem_name_s();
  2399. }
  2400. if(listz.getItem_desc_l()!=null){
  2401. memo += "-"+listz.getItem_desc_l();
  2402. }
  2403. if(listz.getDefect_flag()!= null && listz.getDefect_flag().equals("1")){
  2404. memo += "-"+"分层、起皮";
  2405. }
  2406. if(listz.getVal1()!=null){
  2407. memo += "-"+listz.getVal1();
  2408. }
  2409. if(listz.getVal2()!=null){
  2410. memo += "-"+listz.getVal2();
  2411. }
  2412. if(listz.getVal3()!=null){
  2413. memo += "-"+listz.getVal3();
  2414. }
  2415. /*if(memo == ""){
  2416. memo = listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val();
  2417. }else{
  2418. memo += ","+listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val();
  2419. }*/
  2420. qjr.setMaterial_no(list.get("BILLETID").toString());
  2421. qjr.setType_code("P");
  2422. qjr.setRecord_id(qjc.get(0).getPhy_id());
  2423. qjr.setSeq(seq1);
  2424. qjr.setPhy_code_l(listz.getPhy_code_l()==null?"":listz.getPhy_code_l().toString());
  2425. qjr.setPhy_name_l(listz.getPhy_name_l()==null?"":listz.getPhy_name_l().toString());
  2426. qjr.setPhy_code_m(listz.getPhy_code_m()==null?"":listz.getPhy_code_m().toString());
  2427. qjr.setPhy_name_m(listz.getPhy_name_m()==null?"":listz.getPhy_name_m().toString());
  2428. qjr.setPhy_code_s(listz.getPhy_code_s()==null?"":listz.getPhy_code_s().toString());
  2429. qjr.setPhy_name_s(listz.getPhy_name_s()==null?"":listz.getPhy_name_s().toString());
  2430. qjr.setItem_code_d(listz.getItem_code_d()==null?"":listz.getItem_code_d().toString());
  2431. qjr.setItem_name_d(listz.getItem_name_d()==null?"":listz.getItem_name_d().toString());
  2432. qjr.setItem_code_s(listz.getItem_code_s()==null?"":listz.getItem_code_s().toString());
  2433. qjr.setItem_name_s(listz.getItem_name_s()==null?"":listz.getItem_name_s().toString());
  2434. qjr.setItem_code_t(listz.getItem_code_t()==null?"":listz.getItem_code_t().toString());
  2435. qjr.setItem_name_t(listz.getItem_name_t()==null?"":listz.getItem_name_t().toString());
  2436. qjr.setItem_code_l(listz.getItem_code_l()==null?"":listz.getItem_code_l().toString());
  2437. qjr.setItem_desc_l(listz.getItem_desc_l()==null?"":listz.getItem_desc_l().toString());
  2438. qjr.setVal1(listz.getVal1());
  2439. qjr.setVal2(listz.getVal2());
  2440. qjr.setVal3(listz.getVal3());
  2441. qjr.setAvg_val(listz.getAvg_val());
  2442. if(listz.getIsbz().equals("0")){
  2443. qjr.setStdmax(listz.getStdmax());
  2444. qjr.setStdmax_sign(listz.getStdmax_sign());
  2445. qjr.setStdmin(listz.getStdmin());
  2446. qjr.setStdmin_sign(listz.getStdmin_sign());
  2447. }else{
  2448. qjr.setStdmax(listz.getAddstd_max());
  2449. qjr.setStdmax_sign(listz.getAdd_std_max_sign());
  2450. qjr.setStdmin(listz.getAddstd_min());
  2451. qjr.setStdmin_sign(listz.getAddstd_min_sign());
  2452. }
  2453. qjr.setCreate_name(username);
  2454. qjr.setCreate_time(new Date());
  2455. seq1++;
  2456. mapper.insertQcmJudgeUltimateReason(qjr);
  2457. }
  2458. //插入异常锁定表
  2459. if(Fcqp.equals("1")){
  2460. qjb.setLock_memo("拉力分层或起皮");
  2461. if(!hashmap.get(0).get("STD_CODE").toString().contains("Rules") && !hashmap.get(0).get("STD_CODE").toString().contains("GB/T712")){
  2462. continue;
  2463. }
  2464. }else{
  2465. qjb.setLock_memo(memo);
  2466. }
  2467. if(!(listv.get(0).getRz_old_sampl_no() != null && listv.get(0).getRz_mixroll() != null && !listv.get(0).getSpecimen_no().equals(listv.get(0).getRz_old_sampl_no()) && listv.get(0).getSmp_type_code().equals("0") && listv.get(0).getRz_roll_slab_seq() == null)){
  2468. mapper.insertQCMJudgeLocking(qjb);
  2469. }
  2470. if(listConsignD.get(0).getSmp_type_code().equals("3")){
  2471. ArrayList arrayList = new ArrayList();
  2472. arrayList.add(list.get("BILLETID").toString());
  2473. arrayList.add(lock_seq);
  2474. arrayList.add("P");
  2475. arrayList.add("5");
  2476. arrayList.add("");
  2477. arrayList.add("system");
  2478. arrayList.add(qjsr.getPhy_id());
  2479. arrayList.add("");
  2480. doInformationSure(arrayList);
  2481. }//初样且不是船板分层起皮
  2482. else if(listConsignD.get(0).getSmp_type_code().equals("0") && !Fcqp.equals("1") && !qcmJhySampleROrd.getDesign_key().startsWith("19")){
  2483. if("ZB1".equals(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString()) || "HB1".equals(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString())){
  2484. //模具钢
  2485. if(hashmap.get(0).get("STEEL_NAME").toString().equals("1.2312") || hashmap.get(0).get("STEEL_NAME").toString().equals("JL4140H") || hashmap.get(0).get("STEEL_NAME").toString().equals("P20M")
  2486. || hashmap.get(0).get("STEEL_NAME").toString().equals("XF2311") || hashmap.get(0).get("STEEL_NAME").toString().equals("XF2312") || hashmap.get(0).get("STEEL_NAME").toString().equals("XW738H")
  2487. || hashmap.get(0).get("STEEL_NAME").toString().equals("XF738") || hashmap.get(0).get("STEEL_NAME").toString().equals("JL4140") || hashmap.get(0).get("STEEL_NAME").toString().equals("XWP20L")
  2488. || hashmap.get(0).get("STEEL_NAME").toString().equals("XW1.2311") || hashmap.get(0).get("STEEL_NAME").toString().equals("XW1.2312") || hashmap.get(0).get("STEEL_NAME").toString().equals("1.2311H") || hashmap.get(0).get("STEEL_NAME").toString().equals("XFP20L")
  2489. || hashmap.get(0).get("STEEL_NAME").toString().equals("XF738H") || hashmap.get(0).get("STEEL_NAME").toString().equals("XW1.2311H") || hashmap.get(0).get("STEEL_NAME").toString().equals("XF2311H")
  2490. || hashmap.get(0).get("STEEL_NAME").toString().equals("1.2311")|| hashmap.get(0).get("STEEL_NAME").toString().equals("XFP20") || hashmap.get(0).get("STEEL_NAME").toString().equals("XFP40") || hashmap.get(0).get("STEEL_NAME").toString().equals("XFP80") || hashmap.get(0).get("STEEL_NAME").toString().equals("XG2311") || hashmap.get(0).get("STEEL_NAME").toString().equals("JL4140VH")){
  2491. ArrayList arrayList = new ArrayList();
  2492. arrayList.add(list.get("BILLETID").toString());
  2493. arrayList.add(lock_seq);
  2494. arrayList.add("P");
  2495. arrayList.add("10");
  2496. arrayList.add("");
  2497. arrayList.add("system");
  2498. arrayList.add(qjsr.getPhy_id());
  2499. arrayList.add("");
  2500. doInformationSure(arrayList);
  2501. }
  2502. //产品名称模具钢
  2503. else if(hashmap.get(0).get("PROD_NAME").toString().contains("模具钢")){
  2504. ArrayList arrayList = new ArrayList();
  2505. arrayList.add(list.get("BILLETID").toString());
  2506. arrayList.add(lock_seq);
  2507. arrayList.add("P");
  2508. arrayList.add("10");
  2509. arrayList.add("");
  2510. arrayList.add("system");
  2511. arrayList.add(qjsr.getPhy_id());
  2512. arrayList.add("");
  2513. doInformationSure(arrayList);
  2514. }
  2515. //耐磨钢
  2516. else if(hashmap.get(0).get("PROD_NAME").toString().contains("耐磨") && memo.contains("硬度")){
  2517. //内贸合同硬度超上限的直接待判,外贸合同的要发复样,硬度超上限的。硬度值低于标准值的,都要发送复样。
  2518. if(!hashmap.get(0).get("DESIGN_KEY").toString().contains("XGEC") && k>0){
  2519. ArrayList arrayList = new ArrayList();
  2520. arrayList.add(list.get("BILLETID").toString());
  2521. arrayList.add(lock_seq);
  2522. arrayList.add("P");
  2523. arrayList.add("10");
  2524. arrayList.add("");
  2525. arrayList.add("system");
  2526. arrayList.add(qjsr.getPhy_id());
  2527. arrayList.add("");
  2528. doInformationSure(arrayList);
  2529. }else{
  2530. ArrayList arrayList = new ArrayList();
  2531. arrayList.add(list.get("BILLETID").toString());
  2532. arrayList.add(lock_seq);
  2533. arrayList.add("P");
  2534. arrayList.add("1");
  2535. arrayList.add("");
  2536. arrayList.add("system");
  2537. arrayList.add(qjsr.getPhy_id());
  2538. arrayList.add("");
  2539. listS.add(arrayList);
  2540. }
  2541. }
  2542. //1、SA612M冲击
  2543. else if(memo.contains("冲击") && hashmap.get(0).get("STEEL_NAME").toString().equals("SA612M")){
  2544. ArrayList arrayList = new ArrayList();
  2545. arrayList.add(list.get("BILLETID").toString());
  2546. arrayList.add(lock_seq);
  2547. arrayList.add("P");
  2548. arrayList.add("10");
  2549. arrayList.add("");
  2550. arrayList.add("system");
  2551. arrayList.add(qjsr.getPhy_id());
  2552. arrayList.add("");
  2553. doInformationSure(arrayList);
  2554. }
  2555. //2、冲击和Z向初样不合格无复样资格的
  2556. else if(!pass2 && (memo.contains("冲击") ||memo.contains("Z向"))){
  2557. ArrayList arrayList = new ArrayList();
  2558. arrayList.add(list.get("BILLETID").toString());
  2559. arrayList.add(lock_seq);
  2560. arrayList.add("P");
  2561. arrayList.add("10");
  2562. arrayList.add("");
  2563. arrayList.add("system");
  2564. arrayList.add(qjsr.getPhy_id());
  2565. arrayList.add("");
  2566. doInformationSure(arrayList);
  2567. }
  2568. //复样
  2569. else{
  2570. ArrayList arrayList = new ArrayList();
  2571. arrayList.add(list.get("BILLETID").toString());
  2572. arrayList.add(lock_seq);
  2573. arrayList.add("P");
  2574. arrayList.add("1");
  2575. arrayList.add("");
  2576. arrayList.add("system");
  2577. arrayList.add(qjsr.getPhy_id());
  2578. arrayList.add("");
  2579. listS.add(arrayList);
  2580. //doInformationSure(arrayList);
  2581. }
  2582. }
  2583. }
  2584. else if(!SqlJoint.IsNullOrSpace(qcmJhySampleROrd.getDuplicate_sample()) && !Fcqp.equals("1"))
  2585. {
  2586. ArrayList arrayList = new ArrayList();
  2587. arrayList.add(list.get("BILLETID").toString());
  2588. arrayList.add(lock_seq);
  2589. arrayList.add("P");
  2590. arrayList.add("10");
  2591. arrayList.add("");
  2592. arrayList.add("system");
  2593. arrayList.add(qjsr.getPhy_id());
  2594. arrayList.add("");
  2595. doInformationSure(arrayList);
  2596. }
  2597. }
  2598. }
  2599. if(Fcqp.equals("1") && list3.size() >0){
  2600. for(HashMap list:list3){
  2601. List<HashMap> hashmap = new ArrayList<HashMap>();
  2602. List<HashMap> hashmap2 = new ArrayList<HashMap>();
  2603. List<HashMap> hashmap1 = new ArrayList<HashMap>();
  2604. hashmap = mapper.doQueryMaterialInfoHB(list.get("BILLETID").toString());
  2605. if(hashmap.size() == 0){
  2606. hashmap = mapper.doQueryMaterialInfoZB(list.get("BILLETID").toString());
  2607. }
  2608. if(hashmap.size() == 0){
  2609. hashmap = mapper.doQueryMaterialInfoX(list.get("BILLETID").toString());
  2610. }
  2611. if(hashmap.size()==0){
  2612. continue;
  2613. }
  2614. if(!hashmap.get(0).get("STD_CODE").toString().contains("Rules") && !hashmap.get(0).get("STD_CODE").toString().contains("GB/T712")){
  2615. continue;
  2616. }
  2617. sql = "select * from zj_result_all@xgcx where BILLETID = '"+list.get("BILLETID").toString()+"' and JUDGERESULT <> '0' ";
  2618. hashmap1 = mapper.query(sql);
  2619. if(hashmap1.size() > 0) {
  2620. sql = "select billetid from kch_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + list.get("BILLETID").toString() + "'"
  2621. + " union all select billetid from kcz_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + list.get("BILLETID").toString() + "' UNION ALL "
  2622. + " select billetid from kcj_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + list.get("BILLETID").toString() + "' union all "
  2623. + " select billetid from kcj_storagelist@xgcx where storagestatus = '501002' and billetid = '" + list.get("BILLETID").toString() + "'";
  2624. hashmap2 = mapper.query(sql);
  2625. if (hashmap2.size() == 0) {
  2626. continue;
  2627. }
  2628. //撤销判定
  2629. cancelUltimateJudge("system",list.get("BILLETID").toString(),hashmap1.get(0).get("JUDGEID").toString());
  2630. }
  2631. /*sql = "select serialnumber from kcj_turnoffsendlist a where a.isvalid = '2' and a.serialnumber = '" + list.get("BILLETID").toString() + "' union all "
  2632. + " select serialnumber from kcz_turnoffsendlist a where a.isvalid = '2' and a.serialnumber = '" + list.get("BILLETID").toString() + "' "
  2633. + " union all select serialnumber from kch_turnoffsendlist a where a.isvalid = '2' and a.serialnumber = '" + list.get("BILLETID").toString() + "'";
  2634. hashmap2 = mapper.query(sql);
  2635. if (hashmap2.size() > 0) {
  2636. continue;
  2637. }*/
  2638. if(hashmap.get(0).get("DESIGN_KEY") != null && !hashmap.get(0).get("DESIGN_KEY").toString().startsWith("19")){
  2639. int count=0;
  2640. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  2641. String date=sdf.format(new Date());
  2642. condition = " and MATERIAL_NO = '"+list.get("BILLETID").toString()+"' order by LOCK_SEQ desc ";
  2643. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  2644. if(qjl.size() > 0){
  2645. count=qjl.get(0).getLock_seq();
  2646. }
  2647. count++;
  2648. //锁定记录号
  2649. int lock_seq=count;
  2650. qjb.setMaterial_no(list.get("BILLETID").toString());
  2651. qjb.setLock_id(qjsr.getPhy_id());
  2652. qjb.setLock_type_code("P");
  2653. qjb.setLock_type_desc("材质判定");
  2654. qjb.setLock_seq(lock_seq);
  2655. qjb.setBoard_no(list.get("BILLETID").toString());
  2656. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString());
  2657. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString());
  2658. qjb.setLock_name(username.equals("system")?"系统自动判定":username);
  2659. qjb.setCic_locking("1");
  2660. qjb.setLock_time(new Date());
  2661. qjb.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString());
  2662. qjb.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString());
  2663. qjb.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString());
  2664. qjb.setPlan_no(hashmap.get(0).get("PLAN_NO")==null?"":hashmap.get(0).get("PLAN_NO").toString());
  2665. qjb.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString());
  2666. qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString());
  2667. qjb.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString());
  2668. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  2669. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString());
  2670. qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  2671. qjb.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString());
  2672. qjb.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString());
  2673. qjb.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  2674. qjb.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  2675. qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString());
  2676. qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString());
  2677. qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString());
  2678. List<QcmJudgePhysical> qjc = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where INSPECTION_LOT = '"+list.get("BILLETID_JY").toString()+"' order by JUDGE_TTIME desc");
  2679. int seq1 = 1;
  2680. //插入判定原因表
  2681. for(QcmJhySampleConsignDItem listz : qjscList){
  2682. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  2683. /*if(memo == ""){
  2684. memo = listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val();
  2685. }else{
  2686. memo += ","+listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val();
  2687. }*/
  2688. qjr.setMaterial_no(list.get("BILLETID").toString());
  2689. qjr.setType_code("P");
  2690. qjr.setRecord_id(qjsr.getPhy_id());
  2691. qjr.setSeq(seq1);
  2692. qjr.setPhy_code_l(listz.getPhy_code_l()==null?"":listz.getPhy_code_l().toString());
  2693. qjr.setPhy_name_l(listz.getPhy_name_l()==null?"":listz.getPhy_name_l().toString());
  2694. qjr.setPhy_code_m(listz.getPhy_code_m()==null?"":listz.getPhy_code_m().toString());
  2695. qjr.setPhy_name_m(listz.getPhy_name_m()==null?"":listz.getPhy_name_m().toString());
  2696. qjr.setPhy_code_s(listz.getPhy_code_s()==null?"":listz.getPhy_code_s().toString());
  2697. qjr.setPhy_name_s(listz.getPhy_name_s()==null?"":listz.getPhy_name_s().toString());
  2698. qjr.setItem_code_d(listz.getItem_code_d()==null?"":listz.getItem_code_d().toString());
  2699. qjr.setItem_name_d(listz.getItem_name_d()==null?"":listz.getItem_name_d().toString());
  2700. qjr.setItem_code_s(listz.getItem_code_s()==null?"":listz.getItem_code_s().toString());
  2701. qjr.setItem_name_s(listz.getItem_name_s()==null?"":listz.getItem_name_s().toString());
  2702. qjr.setItem_code_t(listz.getItem_code_t()==null?"":listz.getItem_code_t().toString());
  2703. qjr.setItem_name_t(listz.getItem_name_t()==null?"":listz.getItem_name_t().toString());
  2704. qjr.setItem_code_l(listz.getItem_code_l()==null?"":listz.getItem_code_l().toString());
  2705. qjr.setItem_desc_l(listz.getItem_desc_l()==null?"":listz.getItem_desc_l().toString());
  2706. qjr.setVal1(listz.getVal1());
  2707. qjr.setVal2(listz.getVal2());
  2708. qjr.setVal3(listz.getVal3());
  2709. qjr.setAvg_val(listz.getAvg_val());
  2710. if(listz.getIsbz().equals("0")){
  2711. qjr.setStdmax(listz.getStdmax());
  2712. qjr.setStdmax_sign(listz.getStdmax_sign());
  2713. qjr.setStdmin(listz.getStdmin());
  2714. qjr.setStdmin_sign(listz.getStdmin_sign());
  2715. }else{
  2716. qjr.setStdmax(listz.getAddstd_max());
  2717. qjr.setStdmax_sign(listz.getAdd_std_max_sign());
  2718. qjr.setStdmin(listz.getAddstd_min());
  2719. qjr.setStdmin_sign(listz.getAddstd_min_sign());
  2720. }
  2721. qjr.setCreate_name(username);
  2722. qjr.setCreate_time(new Date());
  2723. seq1++;
  2724. mapper.insertQcmJudgeUltimateReason(qjr);
  2725. }
  2726. //插入异常锁定表
  2727. qjb.setLock_memo("拉力分层或起皮");
  2728. mapper.insertQCMJudgeLocking(qjb);
  2729. //锁定材质
  2730. mapper.LockP(list.get("BILLETID").toString());
  2731. }
  2732. }
  2733. }
  2734. }else if(list2.size() >0){
  2735. for(HashMap list:list2){
  2736. List<HashMap> hashmap = mapper.doQueryMaterialInfoJ(list.get("COIL_NO").toString());
  2737. if(hashmap.size()==0){
  2738. throw new Exception("未找到库存信息");
  2739. }
  2740. int count=0;
  2741. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  2742. String date=sdf.format(new Date());
  2743. condition = " and MATERIAL_NO = '"+list.get("COIL_NO").toString()+"' order by LOCK_SEQ desc ";
  2744. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  2745. if(qjl.size() > 0){
  2746. count=qjl.get(0).getLock_seq();
  2747. }
  2748. count++;
  2749. //锁定记录号
  2750. int lock_seq=count;
  2751. qjb.setLock_id(qjsr.getPhy_id());
  2752. qjb.setMaterial_no(list.get("COIL_NO").toString());
  2753. qjb.setLock_type_code("P");
  2754. qjb.setLock_type_desc("材质判定");
  2755. qjb.setLock_seq(lock_seq);
  2756. qjb.setBoard_no(list.get("COIL_NO").toString());
  2757. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString());
  2758. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString());
  2759. qjb.setLock_name(username.equals("system")?"系统自动判定":username);
  2760. qjb.setCic_locking("1");
  2761. qjb.setLock_time(new Date());
  2762. qjb.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString());
  2763. qjb.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString());
  2764. qjb.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString());
  2765. qjb.setPlan_no(hashmap.get(0).get("PLAN_NO")==null?"":hashmap.get(0).get("PLAN_NO").toString());
  2766. qjb.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString());
  2767. qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString());
  2768. qjb.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString());
  2769. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  2770. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString());
  2771. qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  2772. qjb.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString());
  2773. qjb.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString());
  2774. qjb.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  2775. qjb.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  2776. qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString());
  2777. qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString());
  2778. qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString());
  2779. List<QcmJudgePhysical> qjc = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where INSPECTION_LOT = '"+list.get("INSPECTION_LOT").toString()+"' order by JUDGE_TTIME desc");
  2780. int seq1 = 1;
  2781. //插入判定原因表
  2782. String memo = "";
  2783. for(QcmJhySampleConsignDItem listz : qjscList){
  2784. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  2785. if(listz.getPhy_name_s()!=null){
  2786. memo += listz.getPhy_name_s();
  2787. }
  2788. if(listz.getItem_name_d()!=null){
  2789. memo += "-"+listz.getItem_name_d();
  2790. }
  2791. if(listz.getItem_name_t()!=null){
  2792. memo += "-"+listz.getItem_name_t();
  2793. }
  2794. if(listz.getItem_name_s()!=null){
  2795. memo += "-"+listz.getItem_name_s();
  2796. }
  2797. if(listz.getItem_desc_l()!=null){
  2798. memo += "-"+listz.getItem_desc_l();
  2799. }
  2800. if(listz.getDefect_flag()!= null && listz.getDefect_flag().equals("1")){
  2801. memo += "-"+"分层、起皮";
  2802. }
  2803. if(listz.getVal1()!=null){
  2804. memo += "-"+listz.getVal1();
  2805. }
  2806. if(listz.getVal2()!=null){
  2807. memo += "-"+listz.getVal2();
  2808. }
  2809. if(listz.getVal3()!=null){
  2810. memo += "-"+listz.getVal3();
  2811. }
  2812. /*if(memo == ""){
  2813. memo = listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val();
  2814. }else{
  2815. memo += ","+listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val();
  2816. }*/
  2817. qjr.setMaterial_no(list.get("COIL_NO").toString());
  2818. qjr.setType_code("P");
  2819. qjr.setRecord_id(qjc.get(0).getPhy_id());
  2820. qjr.setSeq(seq1);
  2821. qjr.setPhy_code_l(listz.getPhy_code_l()==null?"":listz.getPhy_code_l().toString());
  2822. qjr.setPhy_name_l(listz.getPhy_name_l()==null?"":listz.getPhy_name_l().toString());
  2823. qjr.setPhy_code_m(listz.getPhy_code_m()==null?"":listz.getPhy_code_m().toString());
  2824. qjr.setPhy_name_m(listz.getPhy_name_m()==null?"":listz.getPhy_name_m().toString());
  2825. qjr.setPhy_code_s(listz.getPhy_code_s()==null?"":listz.getPhy_code_s().toString());
  2826. qjr.setPhy_name_s(listz.getPhy_name_s()==null?"":listz.getPhy_name_s().toString());
  2827. qjr.setItem_code_d(listz.getItem_code_d()==null?"":listz.getItem_code_d().toString());
  2828. qjr.setItem_name_d(listz.getItem_name_d()==null?"":listz.getItem_name_d().toString());
  2829. qjr.setItem_code_s(listz.getItem_code_s()==null?"":listz.getItem_code_s().toString());
  2830. qjr.setItem_name_s(listz.getItem_name_s()==null?"":listz.getItem_name_s().toString());
  2831. qjr.setItem_code_t(listz.getItem_code_t()==null?"":listz.getItem_code_t().toString());
  2832. qjr.setItem_name_t(listz.getItem_name_t()==null?"":listz.getItem_name_t().toString());
  2833. qjr.setItem_code_l(listz.getItem_code_l()==null?"":listz.getItem_code_l().toString());
  2834. qjr.setItem_desc_l(listz.getItem_desc_l()==null?"":listz.getItem_desc_l().toString());
  2835. qjr.setVal1(listz.getVal1());
  2836. qjr.setVal2(listz.getVal2());
  2837. qjr.setVal3(listz.getVal3());
  2838. qjr.setAvg_val(listz.getAvg_val());
  2839. if(listz.getIsbz().equals("0")){
  2840. qjr.setStdmax(listz.getStdmax());
  2841. qjr.setStdmax_sign(listz.getStdmax_sign());
  2842. qjr.setStdmin(listz.getStdmin());
  2843. qjr.setStdmin_sign(listz.getStdmin_sign());
  2844. }else{
  2845. qjr.setStdmax(listz.getAddstd_max());
  2846. qjr.setStdmax_sign(listz.getAdd_std_max_sign());
  2847. qjr.setStdmin(listz.getAddstd_min());
  2848. qjr.setStdmin_sign(listz.getAddstd_min_sign());
  2849. }
  2850. qjr.setCreate_name(username);
  2851. qjr.setCreate_time(new Date());
  2852. seq1++;
  2853. mapper.insertQcmJudgeUltimateReason(qjr);
  2854. }
  2855. //插入异常锁定表
  2856. qjb.setLock_memo(memo);
  2857. mapper.insertQCMJudgeLocking(qjb);
  2858. /*if(SqlJoint.IsNullOrSpace(qcmJhySampleROrd.getDuplicate_sample()))
  2859. {
  2860. }*/
  2861. /*if(listConsignD.get(0).getSmp_type_code().equals("3")){
  2862. ArrayList arrayList = new ArrayList();
  2863. arrayList.add(list.get("BILLETID").toString());
  2864. arrayList.add(lock_seq);
  2865. arrayList.add("P");
  2866. arrayList.add("5");
  2867. arrayList.add("");
  2868. arrayList.add("system");
  2869. arrayList.add(qjsr.getPhy_id());
  2870. arrayList.add("");
  2871. doInformationSure(arrayList);
  2872. }*/
  2873. }
  2874. }
  2875. else{
  2876. for(HashMap list:list4){
  2877. List<HashMap> hashmap = mapper.doQueryMaterialInfoY(list.get("COIL_NO").toString());
  2878. if(hashmap.size()==0){
  2879. throw new Exception("未找到库存信息");
  2880. }
  2881. int count=0;
  2882. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  2883. String date=sdf.format(new Date());
  2884. condition = " and MATERIAL_NO = '"+list.get("COIL_NO").toString()+"' order by LOCK_SEQ desc ";
  2885. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  2886. if(qjl.size() > 0){
  2887. count=qjl.get(0).getLock_seq();
  2888. }
  2889. count++;
  2890. //锁定记录号
  2891. int lock_seq=count;
  2892. qjb.setLock_id(qjsr.getPhy_id());
  2893. qjb.setMaterial_no(list.get("COIL_NO").toString());
  2894. qjb.setLock_type_code("P");
  2895. qjb.setLock_type_desc("材质判定");
  2896. qjb.setLock_seq(lock_seq);
  2897. qjb.setBoard_no(list.get("COIL_NO").toString());
  2898. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString());
  2899. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString());
  2900. qjb.setLock_name(username.equals("system")?"系统自动判定":username);
  2901. qjb.setCic_locking("1");
  2902. qjb.setLock_time(new Date());
  2903. qjb.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString());
  2904. qjb.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString());
  2905. qjb.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString());
  2906. qjb.setPlan_no(hashmap.get(0).get("PLAN_NO")==null?"":hashmap.get(0).get("PLAN_NO").toString());
  2907. qjb.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString());
  2908. qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString());
  2909. qjb.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString());
  2910. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  2911. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString());
  2912. qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  2913. qjb.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString());
  2914. qjb.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString());
  2915. qjb.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  2916. qjb.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  2917. qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString());
  2918. qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString());
  2919. qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString());
  2920. List<QcmJudgePhysical> qjc = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where INSPECTION_LOT = '"+list.get("INSPECTION_LOT").toString()+"' order by JUDGE_TTIME desc");
  2921. int seq1 = 1;
  2922. //插入判定原因表
  2923. String memo = "";
  2924. for(QcmJhySampleConsignDItem listz : qjscList){
  2925. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  2926. if(listz.getPhy_name_s()!=null){
  2927. memo += listz.getPhy_name_s();
  2928. }
  2929. if(listz.getItem_name_d()!=null){
  2930. memo += "-"+listz.getItem_name_d();
  2931. }
  2932. if(listz.getItem_name_t()!=null){
  2933. memo += "-"+listz.getItem_name_t();
  2934. }
  2935. if(listz.getItem_name_s()!=null){
  2936. memo += "-"+listz.getItem_name_s();
  2937. }
  2938. if(listz.getItem_desc_l()!=null){
  2939. memo += "-"+listz.getItem_desc_l();
  2940. }
  2941. if(listz.getDefect_flag()!= null && listz.getDefect_flag().equals("1")){
  2942. memo += "-"+"分层、起皮";
  2943. }
  2944. if(listz.getVal1()!=null){
  2945. memo += "-"+listz.getVal1();
  2946. }
  2947. if(listz.getVal2()!=null){
  2948. memo += "-"+listz.getVal2();
  2949. }
  2950. if(listz.getVal3()!=null){
  2951. memo += "-"+listz.getVal3();
  2952. }
  2953. /*if(memo == ""){
  2954. memo = listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val();
  2955. }else{
  2956. memo += ","+listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val();
  2957. }*/
  2958. qjr.setMaterial_no(list.get("COIL_NO").toString());
  2959. qjr.setType_code("P");
  2960. qjr.setRecord_id(qjc.get(0).getPhy_id());
  2961. qjr.setSeq(seq1);
  2962. qjr.setPhy_code_l(listz.getPhy_code_l()==null?"":listz.getPhy_code_l().toString());
  2963. qjr.setPhy_name_l(listz.getPhy_name_l()==null?"":listz.getPhy_name_l().toString());
  2964. qjr.setPhy_code_m(listz.getPhy_code_m()==null?"":listz.getPhy_code_m().toString());
  2965. qjr.setPhy_name_m(listz.getPhy_name_m()==null?"":listz.getPhy_name_m().toString());
  2966. qjr.setPhy_code_s(listz.getPhy_code_s()==null?"":listz.getPhy_code_s().toString());
  2967. qjr.setPhy_name_s(listz.getPhy_name_s()==null?"":listz.getPhy_name_s().toString());
  2968. qjr.setItem_code_d(listz.getItem_code_d()==null?"":listz.getItem_code_d().toString());
  2969. qjr.setItem_name_d(listz.getItem_name_d()==null?"":listz.getItem_name_d().toString());
  2970. qjr.setItem_code_s(listz.getItem_code_s()==null?"":listz.getItem_code_s().toString());
  2971. qjr.setItem_name_s(listz.getItem_name_s()==null?"":listz.getItem_name_s().toString());
  2972. qjr.setItem_code_t(listz.getItem_code_t()==null?"":listz.getItem_code_t().toString());
  2973. qjr.setItem_name_t(listz.getItem_name_t()==null?"":listz.getItem_name_t().toString());
  2974. qjr.setItem_code_l(listz.getItem_code_l()==null?"":listz.getItem_code_l().toString());
  2975. qjr.setItem_desc_l(listz.getItem_desc_l()==null?"":listz.getItem_desc_l().toString());
  2976. qjr.setVal1(listz.getVal1());
  2977. qjr.setVal2(listz.getVal2());
  2978. qjr.setVal3(listz.getVal3());
  2979. qjr.setAvg_val(listz.getAvg_val());
  2980. if(listz.getIsbz().equals("0")){
  2981. qjr.setStdmax(listz.getStdmax());
  2982. qjr.setStdmax_sign(listz.getStdmax_sign());
  2983. qjr.setStdmin(listz.getStdmin());
  2984. qjr.setStdmin_sign(listz.getStdmin_sign());
  2985. }else{
  2986. qjr.setStdmax(listz.getAddstd_max());
  2987. qjr.setStdmax_sign(listz.getAdd_std_max_sign());
  2988. qjr.setStdmin(listz.getAddstd_min());
  2989. qjr.setStdmin_sign(listz.getAddstd_min_sign());
  2990. }
  2991. qjr.setCreate_name(username);
  2992. qjr.setCreate_time(new Date());
  2993. seq1++;
  2994. mapper.insertQcmJudgeUltimateReason(qjr);
  2995. }
  2996. //插入异常锁定表
  2997. qjb.setLock_memo(memo);
  2998. mapper.insertQCMJudgeLocking(qjb);
  2999. /*if(SqlJoint.IsNullOrSpace(qcmJhySampleROrd.getDuplicate_sample()))
  3000. {
  3001. }*/
  3002. /*if(listConsignD.get(0).getSmp_type_code().equals("3")){
  3003. ArrayList arrayList = new ArrayList();
  3004. arrayList.add(list.get("BILLETID").toString());
  3005. arrayList.add(lock_seq);
  3006. arrayList.add("P");
  3007. arrayList.add("5");
  3008. arrayList.add("");
  3009. arrayList.add("system");
  3010. arrayList.add(qjsr.getPhy_id());
  3011. arrayList.add("");
  3012. doInformationSure(arrayList);
  3013. }*/
  3014. }
  3015. }
  3016. }
  3017. //异常材处置
  3018. //MaterialAbnormalTreatment(qjscList,qcmJhySampleROrd.getInspection_lot(),username,qjsr.getPhy_id());
  3019. }
  3020. //调用熔炼成分判定 RlChemAutoJudgeByHuman
  3021. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  3022. qjog.setOperate_name(username);
  3023. qjog.setOperate_type("材质判定");
  3024. qjog.setParams(smp_no);
  3025. qjog.setProd_line(listOrd.get(0).getPline_code());
  3026. qjog.setBatchno(listOrd.get(0).getBatch_no());
  3027. qjog.setJudge_result(judge?"1":"2");
  3028. mapper.insertQcmJudgeOperateLog(qjog);
  3029. //判断试样号是否都已经判定完
  3030. List<String> listphy = new ArrayList<String>();
  3031. List<QcmJhySampleROrd> listor = mapper.findInfo(qcmJhySampleROrd.getDesign_key(), "B",qcmJhySampleROrd.getInspection_lot());
  3032. List<String> lstr=new ArrayList<String>();
  3033. for (QcmJhySampleROrd l : listor) {
  3034. if (!SqlJoint.IsNullOrSpace(l.getJudge_result_desc())) {
  3035. lstr.add(l.getJudge_result_desc());
  3036. }
  3037. /*else if ("0".equals(l.getJudge_result_desc()) || "2".equals(l.getJudge_result_desc())) {
  3038. lstr.add("待判");
  3039. }*/
  3040. else {
  3041. lstr.add("null");
  3042. }
  3043. List<QcmJudgePhysicalResult> qjpr1 = new ArrayList<QcmJudgePhysicalResult>();
  3044. String phy_id = l.getPhy_id()==null?"":l.getPhy_id();
  3045. sql = "select * from qcm_judge_physical_result where phy_id = '"+phy_id+"'";
  3046. qjpr1 = mapper.queryQcmJudgePhysicalResult(sql);
  3047. for(QcmJudgePhysicalResult y:qjpr1)
  3048. {
  3049. String s = (y.getPhy_code_l()==null?"":y.getPhy_code_l()) + (y.getPhy_code_m()==null?"":y.getPhy_code_m()) + (y.getPhy_code_s()==null?"":y.getPhy_code_s()) + (y.getItem_code_d()==null?"":y.getItem_code_d())
  3050. + (y.getItem_code_t()==null?"":y.getItem_code_t());
  3051. listphy.add(s);
  3052. }
  3053. }
  3054. List<QcmOrdDesignStdPic> qrdsp = new ArrayList<QcmOrdDesignStdPic>();
  3055. sql = "select * from qcm_ord_design_std_pic where design_key = '"+qcmJhySampleROrd.getDesign_key()+"'";
  3056. qrdsp = mapper.queryQCMOrdDesignStdPic(sql);
  3057. for(QcmOrdDesignStdPic x:qrdsp){
  3058. String z = (x.getPhy_code_l()==null?"":x.getPhy_code_l()) + (x.getPhy_code_m()==null?"":x.getPhy_code_m()) + (x.getPhy_code_s()==null?"":x.getPhy_code_s()) + (x.getItem_code_d()==null?"":x.getItem_code_d())
  3059. + (x.getItem_code_t()==null?"":x.getItem_code_t());
  3060. if(!listphy.contains(z) && (qcmJhySampleROrd.getPline_code().equals("ZB1") || qcmJhySampleROrd.getPline_code().equals("HB1"))){
  3061. lstr.add("待判");
  3062. }
  3063. }
  3064. QcmJudgePhysicalUtmM qpu=new QcmJudgePhysicalUtmM();
  3065. QcmJudgePhysicalUtmD qpd=new QcmJudgePhysicalUtmD();
  3066. if (!lstr.contains("待判")) {
  3067. if (!lstr.contains("null")) {
  3068. if (lstr.contains("不合格")) {
  3069. qpu.setPic_result_desc("不合格");
  3070. qpu.setPic_result_code("2");
  3071. }else if(lstr.contains("判次")){
  3072. qpu.setPic_result_desc("判次");
  3073. qpu.setPic_result_code("3");
  3074. }else if(lstr.contains("判废")){
  3075. qpu.setPic_result_desc("判废");
  3076. qpu.setPic_result_code("4");
  3077. }else{
  3078. qpu.setPic_result_desc("合格");
  3079. qpu.setPic_result_code("1");
  3080. }
  3081. //把对应的数据加入qcm_judge_Physical_Utm_M表中
  3082. int a=0;
  3083. for (QcmJhySampleROrd q : listor) {
  3084. //获取当日最大编号
  3085. if (a==0) {
  3086. int count=0;
  3087. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  3088. String date=sdf.format(new Date());
  3089. // 获取材质结果集编号最大值
  3090. List<QcmJudgePhysicalUtmM> qrlist=mapper.queryQcmJudgePhysicalUtmM("select * from QCM_JUDGE_PHYSICAL_UTM_M where PIC_ID like 'PIC%"+date+"%' order by PIC_ID DESC");
  3091. if(qrlist!=null&&qrlist.size()>0){
  3092. String s=qrlist.get(0).getPic_id();
  3093. count=Integer.parseInt(s.substring(s.length()-4, s.length()));
  3094. }
  3095. count++;
  3096. pic_id="PIC"+sdf.format(new Date())+String.format("%04d",count);
  3097. qpu.setPic_id(pic_id);
  3098. qpu.setInspection_lot(q.getInspection_lot());
  3099. qpu.setDesign_key(q.getDesign_key());
  3100. mapper.insertQcmJudgePhysicalUtmM(qpu);
  3101. a++;
  3102. }
  3103. qpd.setPic_id(pic_id);
  3104. qpd.setPsc_desc(q.getPsc_desc());
  3105. qpd.setSteel_code(q.getSteel_code());
  3106. qpd.setSteel_name(q.getSteel_name());
  3107. qpd.setStd_code(q.getStd_code());
  3108. qpd.setStd_name(q.getStd_name());
  3109. qpd.setProd_code(q.getProd_code());
  3110. qpd.setProd_name(q.getProd_name());
  3111. qpd.setSmp_no(q.getSmp_no());
  3112. qpd.setHeat_no(q.getHeat_no());
  3113. qpd.setBatch_no(q.getBatch_no());
  3114. qpd.setInspection_lot(q.getInspection_lot());
  3115. qpd.setDesign_key(q.getDesign_key());
  3116. qpd.setPsc(q.getPsc());
  3117. qpd.setCert_inst_code(q.getCert_inst_code());
  3118. qpd.setCert_inst_name(q.getCert_inst_name());
  3119. qpd.setSmp_type_code(q.getSmp_type_code());
  3120. qpd.setSmp_type_name(q.getSmp_type_name());
  3121. qpd.setJudge_result_code(q.getJudge_result_code());
  3122. qpd.setJudge_result_desc(q.getJudge_result_desc());
  3123. qpd.setPhy_id(q.getPhy_id());
  3124. qpd.setJudge_ttime(new Date());
  3125. qpd.setJudge_name("system");
  3126. //pme.setPhysresult_id(pic_id);
  3127. mapper.insertQcmJudgePhysicalUtmD(qpd);
  3128. if(list1.size() >0 || list2.size() >0 || list4.size() >0){
  3129. if(list1.size()>0){
  3130. // 更新库存表材质判定结果
  3131. ZjResultAll zra = new ZjResultAll();
  3132. zra.setBilletid_jy(qcmJhySampleROrd.getInspection_lot());
  3133. zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0");
  3134. zra.setPhysid(pic_id);
  3135. zra.setPhysresult(qpu.getPic_result_code());
  3136. zra.setPhysresult_desc(qpu.getPic_result_desc());
  3137. mapper.UpdateJugeResultB(zra);
  3138. }else if(list2.size()>0){
  3139. // 更新库存表材质判定结果
  3140. QcmJudgeCoilResult zra = new QcmJudgeCoilResult();
  3141. zra.setInspection_lot(qcmJhySampleROrd.getInspection_lot());
  3142. zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0");
  3143. /*if(SqlJoint.IsNullOrSpace(qcmJhySampleROrd.getDuplicate_sample()))
  3144. {
  3145. zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0");
  3146. }else{
  3147. zra.setPic_is_lock("0");
  3148. }*/
  3149. //zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0");
  3150. zra.setPhysid(pic_id);
  3151. zra.setPhysresult(qpu.getPic_result_code());
  3152. zra.setPhysresult_desc(qpu.getPic_result_desc());
  3153. mapper.UpdateJugeResultJ(zra);
  3154. }else if(list4.size()>0){
  3155. // 更新库存表材质判定结果
  3156. QcmJudgeYtCoilResult zra = new QcmJudgeYtCoilResult();
  3157. zra.setInspection_lot(qcmJhySampleROrd.getInspection_lot());
  3158. zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0");
  3159. /*if(SqlJoint.IsNullOrSpace(qcmJhySampleROrd.getDuplicate_sample()))
  3160. {
  3161. zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0");
  3162. }else{
  3163. zra.setPic_is_lock("0");
  3164. }*/
  3165. //zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0");
  3166. zra.setPhysid(pic_id);
  3167. zra.setPhysresult(qpu.getPic_result_code());
  3168. zra.setPhysresult_desc(qpu.getPic_result_desc());
  3169. mapper.UpdateJugeResultY(zra);
  3170. }
  3171. }else{
  3172. throw new Exception("未找到该检验号下的库存信息!");
  3173. }
  3174. if(list2.size() > 0){
  3175. //发送材质实绩
  3176. List<QcmJhyPhyresult> phyresult1 = mapper.queryQcmJhyPhyresult("select * from qcm_jhy_insp_physics t where t.SPECIMEN_NO in (select SPECIMEN_NO from QCM_JHY_SAMPLE_CONSIGN_D where INSPECTION_LOT = '"+qcmJhySampleROrd.getInspection_lot()+"')");
  3177. if(phyresult1.size() > 0){
  3178. sql = "select * from qcm_judge_coil_result t where t.inspection_lot = '"+qcmJhySampleROrd.getInspection_lot()+"'";
  3179. List<HashMap> qjcr = mapper.query(sql);
  3180. if(qjcr.size() > 0){
  3181. QcmJudgeUltimateSendinfo qjus = new QcmJudgeUltimateSendinfo();
  3182. for(HashMap listcz :qjcr){
  3183. qjus.setMaterial_no(listcz.get("COIL_NO")==null?"":listcz.get("COIL_NO").toString());
  3184. qjus.setDesign_key(q.getDesign_key());
  3185. qjus.setResult_type("P");
  3186. qjus.setJudge_id(pic_id);
  3187. qjus.setCreate_name("system");
  3188. mapper.insertQcmJudgeUltimateSendinfo(qjus);
  3189. }
  3190. }
  3191. }
  3192. }
  3193. //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS
  3194. if(list2.size() > 0) {
  3195. for (HashMap hashMap : list2) {
  3196. String coil_no = hashMap.get("COIL_NO")==null?"":hashMap.get("COIL_NO").toString();
  3197. List<HashMap> hashmap2 = mapper.doQueryMaterialInfoJ(coil_no);
  3198. /*String prod_line = "";
  3199. if(hashmap2.get(0).get("PLINE_CODE").equals("RZ1")){
  3200. prod_line = "R";
  3201. }else if(hashmap2.get(0).get("PLINE_CODE").equals("LT1")){
  3202. prod_line = "L";
  3203. }*/
  3204. if (hashmap2.size() > 0) {
  3205. coiljudge_status_call(hashmap2.get(0).get("PLINE_CODE").toString(), coil_no, null, judge ? "1" : "2", null, null, null, null, null,"");
  3206. }
  3207. /*if(!SqlJoint.IsNullOrSpace(qcmJhySampleROrd.getDuplicate_sample()))
  3208. {
  3209. if(qcmJhySampleROrd.getDesign_key().startsWith("39") || qcmJhySampleROrd.getDesign_key().startsWith("49") || qcmJhySampleROrd.getDesign_key().startsWith("59")){
  3210. Td(coil_no,prod_line);
  3211. }
  3212. }*/
  3213. }
  3214. }
  3215. }
  3216. }
  3217. }
  3218. if(list1.size() > 0 && !judge){
  3219. if(listv.get(0).getRz_old_sampl_no() != null && listv.get(0).getRz_mixroll() != null && !listv.get(0).getSpecimen_no().equals(listv.get(0).getRz_old_sampl_no()) && listv.get(0).getSmp_type_code().equals("0") && listv.get(0).getRz_roll_slab_seq() == null){
  3220. DuplicateSample2 sample=new DuplicateSample2();
  3221. sample.ZHBCY(qjsr.getSmp_no());
  3222. }
  3223. /*if(qjsr.getDuplicate_sample().contains("复样") && listv.get(0).getRz_mixroll() != null && listv.get(0).getRz_old_sampl_no() != null){
  3224. DuplicateSample2 sample=new DuplicateSample2();
  3225. sample.ZHBCYK(qjsr.getSmp_no());
  3226. }*/
  3227. }
  3228. QcmJudgeLog qjl = new QcmJudgeLog();
  3229. qjl.setJudge_type("R");
  3230. qjl.setMaterial_no(qcmJhySampleROrd.getInspection_lot());
  3231. qjl.setCreate_name("system");
  3232. qjl.setMaterial_type("1");
  3233. qjl.setProd_line(listOrd.get(0).getPline_code());
  3234. mapper.insertQcmJudgeLog(qjl);
  3235. /*inspection_lot = qcmJhySampleROrd.getInspection_lot();
  3236. status = qpu.getPic_result_code();*/
  3237. }
  3238. SqlSession.commit();
  3239. for(ArrayList arrayList:listS){
  3240. doInformationSure(arrayList);
  3241. }
  3242. /*//调用熔炼成分判定 RlChemAutoJudgeByHuman
  3243. QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl();
  3244. qje.RlChemAutoJudgeByHuman2(inspection_lot);
  3245. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  3246. if(status.equals("1")){
  3247. qjpc.ultimateJudgeAutoBySystemB(inspection_lot, username );
  3248. }*/
  3249. }catch(Exception e){
  3250. cro.setV_errCode(-1);
  3251. cro.setV_errMsg(e.getMessage());
  3252. SqlSession.rollback();
  3253. logger.info(new Date().toString() + " QCM.QCM03.QCM0302.QcmJhyPhyresultServiceImpl.JudgeByHuman:【" + specimen_no.toString() + "," + username + "," + steelname + "】" + e);
  3254. }
  3255. SqlSession.close();
  3256. /*final String inspection_lot1 = inspection_lot;
  3257. Thread t2 = new Thread(){
  3258. @Override
  3259. public void run(){
  3260. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  3261. try {
  3262. qjpc.ultimateJudgeAutoBySystemB(inspection_lot1, "system" );
  3263. } catch (Exception e) {
  3264. // TODO Auto-generated catch block
  3265. e.printStackTrace();
  3266. }
  3267. }
  3268. };
  3269. t2.start();*/
  3270. return cro;
  3271. }
  3272. private void Td(String material_no,String prod_line)throws java.lang.Exception{
  3273. Connection conn = null;
  3274. CallableStatement cstmt = null;
  3275. ResultSet rs = null;
  3276. try {
  3277. conn = SqlSession.getConnection();
  3278. String callSql = "{call C_JH_ORD_REP.YTH_COIL_STAT(?,?,?,?,?,?,?,?,?,?) }";
  3279. cstmt = conn.prepareCall(callSql);
  3280. cstmt.setString(1, "");
  3281. cstmt.setString(2, "");
  3282. cstmt.setString(3, "");
  3283. cstmt.setString(4, "");
  3284. cstmt.setString(5, material_no);
  3285. cstmt.setString(6, prod_line);
  3286. cstmt.setString(7, "JJ");
  3287. cstmt.setString(8, "A");
  3288. cstmt.setString(9, "1");
  3289. cstmt.registerOutParameter(10, java.sql.Types.VARCHAR);
  3290. cstmt.execute();
  3291. } catch (Exception e) {
  3292. throw new Exception(e.getMessage());
  3293. } finally {
  3294. try {
  3295. if (rs != null) {
  3296. rs.close();
  3297. }
  3298. } catch (Exception e) {
  3299. throw new Exception(e.getMessage());
  3300. }
  3301. try {
  3302. if (cstmt != null) {
  3303. cstmt.close();
  3304. }
  3305. } catch (Exception e) {
  3306. throw new Exception(e.getMessage());
  3307. }
  3308. }
  3309. }
  3310. /**
  3311. * 质量判定-材质判定管理-人工干预判定
  3312. * List<QcmJhySampleConsignDItem>
  3313. * */
  3314. @SuppressWarnings("unchecked")
  3315. public CoreReturnObject JudgeByHumanQZ(String smp_no,ArrayList<List> specimen_no,String username,String steelname,String remark) throws Exception{
  3316. String staus="";
  3317. String inspection_lot = "";
  3318. String Fcqp = "";
  3319. try{
  3320. //获取未判定的数据
  3321. String condition=" Judge_status='0' ";
  3322. QcmJhySampleROrd qjsr=new QcmJhySampleROrd();
  3323. List<QcmJhySampleROrd> listqjsr=new ArrayList<QcmJhySampleROrd>();
  3324. String status="";
  3325. List<String> lists=new ArrayList<String>();//异常材料处理用,用于不合格项目的备注
  3326. List<QcmJhySampleROrd> listx=mapper.GetSamplePhyInfo1(condition,smp_no);
  3327. if(listx.size() == 0){
  3328. throw new Exception("该产品已判或者未处于待判状态");
  3329. }
  3330. List<QcmJhySampleROrd> listOrd=new ArrayList<QcmJhySampleROrd>();
  3331. List<QcmJhySampleConsignDItem> qjscList = new ArrayList<QcmJhySampleConsignDItem>(); // 存放不合格的项目,用于自动复样
  3332. List<String> w=new ArrayList<String>();
  3333. List<QcmJhySampleConsignD> listv = new ArrayList<QcmJhySampleConsignD>();
  3334. for (QcmJhySampleROrd o : listx) {
  3335. boolean flag=true;//判定试样号向下的取样编号是否都是已完成状态;
  3336. listv = mapper.findQcmJhySampleConsignD2(o.getSmp_no());
  3337. for (QcmJhySampleConsignD d : listv) {
  3338. if (!d.getStatus().equals("3") && !d.getStatus().equals("5")) {
  3339. flag=false;
  3340. throw new Exception("该试样号向下的取样编号存在未完成的!");
  3341. }
  3342. }
  3343. if (flag) {
  3344. listOrd.add(o);
  3345. }
  3346. }
  3347. String pic_id="";
  3348. QcmJhySampleConsignD _consignD=new QcmJhySampleConsignD();
  3349. for (QcmJhySampleROrd qcmJhySampleROrd : listOrd) {
  3350. _consignD.setSmp_no(qcmJhySampleROrd.getSmp_no());
  3351. _consignD.setInspection_lot(qcmJhySampleROrd.getInspection_lot());
  3352. _consignD.setHeat_no(qcmJhySampleROrd.getHeat_no());
  3353. //获取取样编号
  3354. List<QcmJhySampleConsignD> listConsignD=mapper.findQcmJhySampleConsignD(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getInspection_lot(), qcmJhySampleROrd.getHeat_no());
  3355. //上面listConsignD 只会查出一条数据,如果有多条数据需要跟设计确认是如何进行关联的
  3356. List<QcmJhyPhyresult> listResult=new ArrayList<QcmJhyPhyresult>();
  3357. //获取检验信息
  3358. for (QcmJhySampleConsignD d : listConsignD) {
  3359. QcmJhyPhyresult _result=new QcmJhyPhyresult();
  3360. List<QcmJhyPhyresult> listqjp=mapper.findphyresult(d.getSpecimen_no());
  3361. if (listqjp.size()<1) {
  3362. continue;
  3363. }
  3364. for (QcmJhyPhyresult q : listqjp) {
  3365. String s = (q.getSpecimen_no()==null?"":q.getSpecimen_no()) + (q.getSeq()==null?"":q.getSeq()) + (q.getPhy_code_l()==null?"":q.getPhy_code_l()) + (q.getPhy_code_m()==null?"":q.getPhy_code_m()) + (q.getPhy_code_s()==null?"":q.getPhy_code_s()) + (q.getItem_code_d()==null?"":q.getItem_code_d())
  3366. + (q.getItem_code_s()==null?"":q.getItem_code_s()) + (q.getItem_code_t()==null?"":q.getItem_code_t());
  3367. if(specimen_no.contains(s)){
  3368. listResult.add(q);
  3369. continue;
  3370. }
  3371. }
  3372. List<QcmJhySampleConsignDItem> listi=mapper.findQcmJhySampleConsignDItem(d.getSpecimen_no());
  3373. if(listi.size()<=0){
  3374. throw new Exception("未找到数据!");
  3375. }
  3376. }
  3377. //获取标准和实测值(调用zj书写的接口)
  3378. CoreReturnObject r =querryJudgetItemInfo(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getDesign_key(),steelname,qcmJhySampleROrd.getPline_code());
  3379. List<QcmJhySampleConsignDItem> listd=(List<QcmJhySampleConsignDItem>) r.getResult();
  3380. List<QcmOrdDesignStdPic> listp = mapper.queryQCMOrdDesignStdPic("SELECT distinct a.phy_code_l,a.phy_code_m,a.phy_code_s,a.item_code_d,a.item_code_t,a.item_desc_s,a.item_code_l FROM qcm_ord_design_std_pic a WHERE DESIGN_KEY = '"+qcmJhySampleROrd.getDesign_key()+"'");
  3381. boolean pass=true;//是否合格
  3382. boolean judge = true;
  3383. if(listResult.size() == 0){
  3384. throw new Exception("所选检验项目不全!");
  3385. }
  3386. /*if(listResult.size() < listp.size()){
  3387. throw new Exception("所选检验项目不全!");
  3388. }*/
  3389. for (QcmJhySampleConsignDItem sod : listd) {
  3390. boolean pass1 = false;
  3391. //List<QcmJhyPhyresult> listqjp=mapper.findphyresult(sod.getSpecimen_no());
  3392. String s = (sod.getSpecimen_no()==null?"":sod.getSpecimen_no()) + (sod.getSeq()==null?"":sod.getSeq())+ (sod.getPhy_code_l()==null?"":sod.getPhy_code_l()) + (sod.getPhy_code_m()==null?"":sod.getPhy_code_m()) + (sod.getPhy_code_s()==null?"":sod.getPhy_code_s()) + (sod.getItem_code_d()==null?"":sod.getItem_code_d())
  3393. + (sod.getItem_code_s()==null?"":sod.getItem_code_s()) + (sod.getItem_code_t()==null?"":sod.getItem_code_t());
  3394. if(specimen_no.contains(s)){
  3395. pass1 = true;
  3396. }
  3397. if(!pass1){
  3398. continue;
  3399. }
  3400. if(SqlJoint.IsNullOrSpace(sod.getVal1()) && SqlJoint.IsNullOrSpace(sod.getVal2()) && SqlJoint.IsNullOrSpace(sod.getVal3()) && SqlJoint.IsNullOrSpace(sod.getAvg_val()) && sod.getIsjudge().equals("1")){
  3401. throw new Exception("获取实绩为空!");
  3402. }
  3403. String bool0="";
  3404. String bool1="";
  3405. String bool2="";
  3406. String bool3="";
  3407. String bool4="";
  3408. String bool5="";
  3409. String bool6="";
  3410. String bool7="";
  3411. pass = true;
  3412. //if(pass){
  3413. //最小值判定
  3414. if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("A")&&"1".equals(sod.getIsjudge())) {
  3415. String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),sod.getJudge_basis());
  3416. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null);
  3417. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3418. lists.add(sod.getPhy_name_l()+":"+min);
  3419. sod.setStdmin(sod.getJf_stdmin());
  3420. sod.setStdmin_sign(sod.getJf_stdmin_sign());
  3421. }
  3422. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null);
  3423. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3424. lists.add(sod.getPhy_name_l()+":"+min);
  3425. sod.setStdmax(sod.getJf_stdmax());
  3426. sod.setStdmax_sign(sod.getJf_stdmax_sign());
  3427. }
  3428. bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null);
  3429. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3430. lists.add(sod.getPhy_name_l()+":"+min);
  3431. sod.setStdmin(sod.getKh_stdmin());
  3432. sod.setStdmin_sign(sod.getKh_stdmin_sign());
  3433. }
  3434. bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null);
  3435. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3436. lists.add(sod.getPhy_name_l()+":"+min);
  3437. sod.setStdmax(sod.getKh_stdmax());
  3438. sod.setStdmax_sign(sod.getKh_stdmax_sign());
  3439. }
  3440. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null);
  3441. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3442. lists.add(sod.getPhy_name_l()+":"+min);
  3443. sod.setStdmin(sod.getNk_stdmin());
  3444. sod.setStdmin_sign(sod.getNk_stdmin_sign());
  3445. }
  3446. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null);
  3447. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3448. lists.add(sod.getPhy_name_l()+":"+min);
  3449. sod.setStdmax(sod.getNk_stdmax());
  3450. sod.setStdmax_sign(sod.getNk_stdmax_sign());
  3451. }
  3452. bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),min,null,null,null,null,null,null,null,null);
  3453. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3454. lists.add(sod.getPhy_name_l()+":"+min);
  3455. sod.setStdmin(sod.getFx_stdmin());
  3456. sod.setStdmin_sign(sod.getFx_stdmin_sign());
  3457. }
  3458. bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),min,null,null,null,null,null,null,null,null);
  3459. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3460. lists.add(sod.getPhy_name_l()+":"+min);
  3461. sod.setStdmax(sod.getFx_stdmax());
  3462. sod.setStdmax_sign(sod.getFx_stdmax_sign());
  3463. }
  3464. if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) {
  3465. if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差
  3466. //通过国家标准判断
  3467. if("2".equals(bool0)||"2".equals(bool1)) {
  3468. pass=false;
  3469. sod.setIsbz("0");
  3470. qjscList.add(sod);
  3471. }
  3472. } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin()) && StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())) {//判断是否复样&屈服强度&螺纹钢牌号
  3473. //通过放行标准判断
  3474. if("2".equals(bool6)||"2".equals(bool7)) {
  3475. pass=false;
  3476. sod.setIsbz("0");
  3477. qjscList.add(sod);
  3478. }
  3479. } else {
  3480. pass=false;
  3481. sod.setIsbz("0");
  3482. qjscList.add(sod);
  3483. }
  3484. }
  3485. }
  3486. //最大值判定
  3487. if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("B")&&"1".equals(sod.getIsjudge())) {
  3488. String min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),sod.getJudge_basis());
  3489. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null);
  3490. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3491. lists.add(sod.getPhy_name_l()+":"+min);
  3492. sod.setStdmin(sod.getJf_stdmin());
  3493. sod.setStdmin_sign(sod.getJf_stdmin_sign());
  3494. }
  3495. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null);
  3496. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3497. lists.add(sod.getPhy_name_l()+":"+min);
  3498. sod.setStdmax(sod.getJf_stdmax());
  3499. sod.setStdmax_sign(sod.getJf_stdmax_sign());
  3500. }
  3501. bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null);
  3502. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3503. lists.add(sod.getPhy_name_l()+":"+min);
  3504. sod.setStdmin(sod.getKh_stdmin());
  3505. sod.setStdmin_sign(sod.getKh_stdmin_sign());
  3506. }
  3507. bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null);
  3508. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3509. lists.add(sod.getPhy_name_l()+":"+min);
  3510. sod.setStdmax(sod.getKh_stdmax());
  3511. sod.setStdmax_sign(sod.getKh_stdmax_sign());
  3512. }
  3513. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null);
  3514. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3515. lists.add(sod.getPhy_name_l()+":"+min);
  3516. sod.setStdmin(sod.getNk_stdmin());
  3517. sod.setStdmin_sign(sod.getNk_stdmin_sign());
  3518. }
  3519. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null);
  3520. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3521. lists.add(sod.getPhy_name_l()+":"+min);
  3522. sod.setStdmax(sod.getNk_stdmax());
  3523. sod.setStdmax_sign(sod.getNk_stdmax_sign());
  3524. }
  3525. bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),min,null,null,null,null,null,null,null,null);
  3526. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3527. lists.add(sod.getPhy_name_l()+":"+min);
  3528. sod.setStdmin(sod.getFx_stdmin());
  3529. sod.setStdmin_sign(sod.getFx_stdmin_sign());
  3530. }
  3531. bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),min,null,null,null,null,null,null,null,null);
  3532. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3533. lists.add(sod.getPhy_name_l()+":"+min);
  3534. sod.setStdmax(sod.getFx_stdmax());
  3535. sod.setStdmax_sign(sod.getFx_stdmax_sign());
  3536. }
  3537. if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) {
  3538. if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差
  3539. //通过国家标准判断
  3540. if("2".equals(bool0)||"2".equals(bool1)) {
  3541. pass=false;
  3542. sod.setIsbz("0");
  3543. qjscList.add(sod);
  3544. }
  3545. } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin()) && StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())) {//判断是否复样&屈服强度&螺纹钢牌号
  3546. //通过放行标准判断
  3547. if("2".equals(bool6)||"2".equals(bool7)) {
  3548. pass=false;
  3549. sod.setIsbz("0");
  3550. qjscList.add(sod);
  3551. }
  3552. } else {
  3553. pass=false;
  3554. sod.setIsbz("0");
  3555. qjscList.add(sod);
  3556. }
  3557. }
  3558. }
  3559. //平均值判定
  3560. if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("C")&&"1".equals(sod.getIsjudge())) {
  3561. String min="";
  3562. if (!SqlJoint.IsNullOrSpace(sod.getAvg_val())) {
  3563. min=sod.getVal1();
  3564. }else {
  3565. min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis());
  3566. }
  3567. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null);
  3568. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3569. lists.add(sod.getPhy_name_l()+":"+min);
  3570. sod.setStdmin(sod.getJf_stdmax());
  3571. sod.setStdmin_sign(sod.getJf_stdmax_sign());
  3572. }
  3573. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null);
  3574. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3575. lists.add(sod.getPhy_name_l()+":"+min);
  3576. sod.setStdmax(sod.getJf_stdmax());
  3577. sod.setStdmax_sign(sod.getJf_stdmax_sign());
  3578. }
  3579. bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null);
  3580. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3581. lists.add(sod.getPhy_name_l()+":"+min);
  3582. sod.setStdmin(sod.getKh_stdmax());
  3583. sod.setStdmin_sign(sod.getKh_stdmax_sign());
  3584. }
  3585. bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null);
  3586. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3587. lists.add(sod.getPhy_name_l()+":"+min);
  3588. sod.setStdmax(sod.getKh_stdmax());
  3589. sod.setStdmax_sign(sod.getKh_stdmax_sign());
  3590. }
  3591. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null);
  3592. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3593. lists.add(sod.getPhy_name_l()+":"+min);
  3594. sod.setStdmin(sod.getNk_stdmin());
  3595. sod.setStdmin_sign(sod.getNk_stdmin_sign());
  3596. }
  3597. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null);
  3598. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3599. lists.add(sod.getPhy_name_l()+":"+min);
  3600. sod.setStdmax(sod.getNk_stdmax());
  3601. sod.setStdmax_sign(sod.getNk_stdmax_sign());
  3602. }
  3603. bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),min,null,null,null,null,null,null,null,null);
  3604. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3605. lists.add(sod.getPhy_name_l()+":"+min);
  3606. sod.setStdmin(sod.getFx_stdmin());
  3607. sod.setStdmin_sign(sod.getFx_stdmin_sign());
  3608. }
  3609. bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),min,null,null,null,null,null,null,null,null);
  3610. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3611. lists.add(sod.getPhy_name_l()+":"+min);
  3612. sod.setStdmax(sod.getFx_stdmax());
  3613. sod.setStdmax_sign(sod.getFx_stdmax_sign());
  3614. }
  3615. if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) {
  3616. if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差
  3617. //通过国家标准判断
  3618. if("2".equals(bool0)||"2".equals(bool1)) {
  3619. pass=false;
  3620. sod.setIsbz("0");
  3621. qjscList.add(sod);
  3622. }
  3623. } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin()) && StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())) {//判断是否复样&屈服强度&螺纹钢牌号
  3624. //通过放行标准判断
  3625. if("2".equals(bool6)||"2".equals(bool7)) {
  3626. pass=false;
  3627. sod.setIsbz("0");
  3628. qjscList.add(sod);
  3629. }
  3630. } else {
  3631. pass=false;
  3632. sod.setIsbz("0");
  3633. qjscList.add(sod);
  3634. }
  3635. }
  3636. }
  3637. //逐项值判定
  3638. if (SqlJoint.IsNullOrSpace(sod.getJudge_basis())||sod.getJudge_basis().equalsIgnoreCase("D")&&"1".equals(sod.getIsjudge())) {
  3639. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  3640. String str=connectVal(sod.getPhy_name_l(), sod.getVal1(),sod.getVal2(),sod.getVal3());
  3641. if ("2".equals(bool0)&&!lists.contains(str)) {
  3642. lists.add(str);
  3643. sod.setStdmin(sod.getJf_stdmin());
  3644. sod.setStdmin_sign(sod.getJf_stdmin_sign());
  3645. }
  3646. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  3647. if ("2".equals(bool1)&&!lists.contains(str)) {
  3648. lists.add(str);
  3649. sod.setStdmax(sod.getJf_stdmax());
  3650. sod.setStdmax_sign(sod.getJf_stdmax_sign());
  3651. }
  3652. bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  3653. if ("2".equals(bool2)&&!lists.contains(str)) {
  3654. lists.add(str);
  3655. sod.setStdmin(sod.getKh_stdmin());
  3656. sod.setStdmin_sign(sod.getKh_stdmin_sign());
  3657. }
  3658. bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  3659. if ("2".equals(bool3)&&!lists.contains(str)) {
  3660. lists.add(str);
  3661. sod.setStdmax(sod.getKh_stdmax());
  3662. sod.setStdmax_sign(sod.getKh_stdmax_sign());
  3663. }
  3664. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  3665. if ("2".equals(bool4)&&!lists.contains(str)) {
  3666. lists.add(str);
  3667. sod.setStdmin(sod.getNk_stdmin());
  3668. sod.setStdmin_sign(sod.getNk_stdmin_sign());
  3669. }
  3670. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  3671. if ("2".equals(bool5)&&!lists.contains(str)) {
  3672. lists.add(str);
  3673. sod.setStdmax(sod.getNk_stdmax());
  3674. sod.setStdmax_sign(sod.getNk_stdmax_sign());
  3675. }
  3676. bool6=getJudgeColor(sod.getFx_stdmin_sign(),sod.getFx_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  3677. if ("2".equals(bool4)&&!lists.contains(str)) {
  3678. lists.add(str);
  3679. sod.setStdmin(sod.getFx_stdmin());
  3680. sod.setStdmin_sign(sod.getFx_stdmin_sign());
  3681. }
  3682. bool7=getJudgeColor(sod.getFx_stdmax_sign(),sod.getFx_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  3683. if ("2".equals(bool5)&&!lists.contains(str)) {
  3684. lists.add(str);
  3685. sod.setStdmax(sod.getFx_stdmax());
  3686. sod.setStdmax_sign(sod.getFx_stdmax_sign());
  3687. }
  3688. if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)||"2".equals(bool6)||"2".equals(bool7)) {
  3689. if("Z01".equals(sod.getPhy_code_s())) {//判断是否重量偏差
  3690. //通过国家标准判断
  3691. if("2".equals(bool0)||"2".equals(bool1)) {
  3692. pass=false;
  3693. sod.setIsbz("0");
  3694. qjscList.add(sod);
  3695. }
  3696. } else if ("A01".equals(sod.getPhy_code_s()) && "1".equals(listConsignD.get(0).getSmp_type_code()) && "040".equals(listx.get(0).getProd_code()) && StringUtils.isNotBlank(sod.getFx_stdmin_sign()) && StringUtils.isNotBlank(sod.getFx_stdmin()) && StringUtils.isNotBlank(sod.getFx_stdmax_sign()) && StringUtils.isNotBlank(sod.getFx_stdmax())) {//判断是否复样&屈服强度&螺纹钢牌号
  3697. //通过放行标准判断
  3698. if("2".equals(bool6)||"2".equals(bool7)) {
  3699. pass=false;
  3700. sod.setIsbz("0");
  3701. qjscList.add(sod);
  3702. }
  3703. } else {
  3704. pass=false;
  3705. sod.setIsbz("0");
  3706. qjscList.add(sod);
  3707. }
  3708. }
  3709. }
  3710. if((pass && !SqlJoint.IsNullOrSpace(sod.getAddcondition()) && sod.getAddcondition().equals("1")) || (!pass && !SqlJoint.IsNullOrSpace(sod.getAddcondition()) && sod.getAddcondition().equals("0"))){
  3711. pass = true;
  3712. int count = 0;
  3713. qjscList.remove(sod);
  3714. sod.setIsbz("1");
  3715. //允许一个值
  3716. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("A")&&"1".equals(sod.getIsjudge())) {
  3717. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal1(),null,null,null,null,null,null,null,null);
  3718. if(bool0.equals("2")){
  3719. count ++;
  3720. }else{
  3721. bool0=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal1(),null,null,null,null,null,null,null,null);
  3722. if(bool0.equals("2")){
  3723. count ++;
  3724. }
  3725. }
  3726. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal1(),null,null,null,null,null,null,null,null);
  3727. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) {
  3728. lists.add(sod.getPhy_name_l()+":"+sod.getVal1());
  3729. }
  3730. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal1(),null,null,null,null,null,null,null,null);
  3731. if(bool1.equals("2")){
  3732. count ++;
  3733. }else{
  3734. bool1=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal1(),null,null,null,null,null,null,null,null);
  3735. if(bool1.equals("2")){
  3736. count ++;
  3737. }
  3738. }
  3739. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal1(),null,null,null,null,null,null,null,null);
  3740. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) {
  3741. lists.add(sod.getPhy_name_l()+":"+sod.getVal1());
  3742. }
  3743. bool2=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal2(),null,null,null,null,null,null,null,null);
  3744. if(bool2.equals("2")){
  3745. count ++;
  3746. }else{
  3747. bool2=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal2(),null,null,null,null,null,null,null,null);
  3748. if(bool2.equals("2")){
  3749. count ++;
  3750. }
  3751. }
  3752. bool2=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal2(),null,null,null,null,null,null,null,null);
  3753. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) {
  3754. lists.add(sod.getPhy_name_l()+":"+sod.getVal2());
  3755. }
  3756. bool3=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal2(),null,null,null,null,null,null,null,null);
  3757. if(bool3.equals("2")){
  3758. count ++;
  3759. }else{
  3760. bool3=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal2(),null,null,null,null,null,null,null,null);
  3761. if(bool3.equals("2")){
  3762. count ++;
  3763. }
  3764. }
  3765. bool3=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal2(),null,null,null,null,null,null,null,null);
  3766. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) {
  3767. lists.add(sod.getPhy_name_l()+":"+sod.getVal2());
  3768. }
  3769. bool4=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal3(),null,null,null,null,null,null,null,null);
  3770. if(bool4.equals("2")){
  3771. count ++;
  3772. }else{
  3773. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal3(),null,null,null,null,null,null,null,null);
  3774. if(bool4.equals("2")){
  3775. count ++;
  3776. }
  3777. }
  3778. bool4=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal3(),null,null,null,null,null,null,null,null);
  3779. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) {
  3780. lists.add(sod.getPhy_name_l()+":"+sod.getVal3());
  3781. }
  3782. bool5=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal3(),null,null,null,null,null,null,null,null);
  3783. if(bool5.equals("2")){
  3784. count ++;
  3785. }else{
  3786. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal3(),null,null,null,null,null,null,null,null);
  3787. if(bool5.equals("2")){
  3788. count ++;
  3789. }
  3790. }
  3791. bool5=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal3(),null,null,null,null,null,null,null,null);
  3792. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) {
  3793. lists.add(sod.getPhy_name_l()+":"+sod.getVal3());
  3794. }
  3795. if(count > 1){
  3796. pass=false;
  3797. sod.setIsbz("1");
  3798. qjscList.add(sod);
  3799. }else{
  3800. if ("2".equals(bool0)||"2".equals(bool1) || "2".equals(bool2)||"2".equals(bool3) || "2".equals(bool4)||"2".equals(bool5) ){
  3801. pass=false;
  3802. sod.setIsbz("1");
  3803. qjscList.add(sod);
  3804. }
  3805. }
  3806. }
  3807. //最大最小差值
  3808. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("B")&&"1".equals(sod.getIsjudge())) {
  3809. String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), "D");
  3810. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null);
  3811. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3812. lists.add(sod.getPhy_name_l()+":"+min);
  3813. }
  3814. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null);
  3815. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3816. lists.add(sod.getPhy_name_l()+":"+min);
  3817. }
  3818. if ("2".equals(bool0)||"2".equals(bool1)) {
  3819. pass=false;
  3820. sod.setIsbz("1");
  3821. qjscList.add(sod);
  3822. }
  3823. }
  3824. //平均值
  3825. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("C")&&"1".equals(sod.getIsjudge())) {
  3826. String min="";
  3827. if (!SqlJoint.IsNullOrSpace(sod.getAvg_val())) {
  3828. min=sod.getVal1();
  3829. }else {
  3830. min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis());
  3831. }
  3832. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null);
  3833. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3834. lists.add(sod.getPhy_name_l()+":"+min);
  3835. }
  3836. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null);
  3837. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3838. lists.add(sod.getPhy_name_l()+":"+min);
  3839. }
  3840. if ("2".equals(bool0)||"2".equals(bool1)) {
  3841. pass=false;
  3842. sod.setIsbz("1");
  3843. qjscList.add(sod);
  3844. }
  3845. }
  3846. //最小值
  3847. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("D")&&"1".equals(sod.getIsjudge())) {
  3848. String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),"A");
  3849. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null);
  3850. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3851. lists.add(sod.getPhy_name_l()+":"+min);
  3852. }
  3853. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null);
  3854. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3855. lists.add(sod.getPhy_name_l()+":"+min);
  3856. }
  3857. if ("2".equals(bool0)||"2".equals(bool1)) {
  3858. pass=false;
  3859. sod.setIsbz("1");
  3860. qjscList.add(sod);
  3861. }
  3862. }
  3863. //最大值
  3864. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("E")&&"1".equals(sod.getIsjudge())) {
  3865. String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), "B");
  3866. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null);
  3867. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3868. lists.add(sod.getPhy_name_l()+":"+min);
  3869. }
  3870. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null);
  3871. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  3872. lists.add(sod.getPhy_name_l()+":"+min);
  3873. }
  3874. if ("2".equals(bool0)||"2".equals(bool1)) {
  3875. pass=false;
  3876. sod.setIsbz("1");
  3877. qjscList.add(sod);
  3878. }
  3879. }
  3880. //所有值
  3881. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("E")&&"1".equals(sod.getIsjudge())) {
  3882. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal1(),null,null,null,null,null,null,null,null);
  3883. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) {
  3884. lists.add(sod.getPhy_name_l()+":"+sod.getVal1());
  3885. }
  3886. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal1(),null,null,null,null,null,null,null,null);
  3887. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) {
  3888. lists.add(sod.getPhy_name_l()+":"+sod.getVal1());
  3889. }
  3890. bool2=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal2(),null,null,null,null,null,null,null,null);
  3891. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) {
  3892. lists.add(sod.getPhy_name_l()+":"+sod.getVal2());
  3893. }
  3894. bool3=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal2(),null,null,null,null,null,null,null,null);
  3895. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) {
  3896. lists.add(sod.getPhy_name_l()+":"+sod.getVal2());
  3897. }
  3898. bool4=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal3(),null,null,null,null,null,null,null,null);
  3899. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) {
  3900. lists.add(sod.getPhy_name_l()+":"+sod.getVal3());
  3901. }
  3902. bool5=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal3(),null,null,null,null,null,null,null,null);
  3903. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) {
  3904. lists.add(sod.getPhy_name_l()+":"+sod.getVal3());
  3905. }
  3906. if ("2".equals(bool0)||"2".equals(bool1) ||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) {
  3907. pass=false;
  3908. sod.setIsbz("1");
  3909. qjscList.add(sod);
  3910. }
  3911. }
  3912. }
  3913. if(sod.getDefect_flag()!= null){
  3914. if(qcmJhySampleROrd.getBatch_no().startsWith("Z") || qcmJhySampleROrd.getBatch_no().startsWith("H")){
  3915. if(sod.getDefect_flag().equals("1") && (qcmJhySampleROrd.getStd_code().contains("Rules") || qcmJhySampleROrd.getStd_code().contains("GB/T712"))){
  3916. pass = false;
  3917. Fcqp = "1";
  3918. }
  3919. }
  3920. }
  3921. if(!pass){
  3922. judge = false;
  3923. }
  3924. }
  3925. if(qcmJhySampleROrd.getDesign_key().startsWith("36") || qcmJhySampleROrd.getDesign_key().startsWith("X36") || qcmJhySampleROrd.getDesign_key().startsWith("W36") || qcmJhySampleROrd.getDesign_key().startsWith("WX36")){
  3926. judge = true;
  3927. }
  3928. qjsr=UpdateData(qjscList,listResult,qcmJhySampleROrd,judge,username,steelname,remark);
  3929. String sql = "select * from zj_result_all@xgcx where BILLETID_JY = '"+qcmJhySampleROrd.getInspection_lot()+"'";
  3930. List<HashMap> list1 = mapper.query(sql);
  3931. sql = "select * from zj_result_all@xgcx where BILLETID like '"+qcmJhySampleROrd.getBatch_no()+"%' and BILLETID_JY <> '"+qcmJhySampleROrd.getInspection_lot()+"'";
  3932. List<HashMap> list3 = mapper.query(sql);
  3933. sql = "select * from QCM_JUDGE_COIL_RESULT where INSPECTION_LOT = '"+qcmJhySampleROrd.getInspection_lot()+"'";
  3934. List<HashMap> list2 = mapper.query(sql);
  3935. if(!judge){
  3936. //更新材料异常处理表
  3937. QCMJudgeLocking qjb=new QCMJudgeLocking();
  3938. if(list1.size() >0 || list2.size() >0){
  3939. if(list1.size()>0){
  3940. for(HashMap list:list1){
  3941. List<HashMap> hashmap = mapper.doQueryMaterialInfoHB(list.get("BILLETID").toString());
  3942. if(hashmap.size() == 0){
  3943. hashmap = mapper.doQueryMaterialInfoZB(list.get("BILLETID").toString());
  3944. }
  3945. if(hashmap.size() == 0){
  3946. hashmap = mapper.doQueryMaterialInfoX(list.get("BILLETID").toString());
  3947. }
  3948. if(hashmap.size()==0){
  3949. throw new Exception("未找到库存信息");
  3950. }
  3951. int count=0;
  3952. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  3953. String date=sdf.format(new Date());
  3954. condition = " and MATERIAL_NO = '"+list.get("BILLETID").toString()+"' order by LOCK_SEQ desc ";
  3955. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  3956. if(qjl.size() > 0){
  3957. count=qjl.get(0).getLock_seq();
  3958. }
  3959. count++;
  3960. //锁定记录号
  3961. int lock_seq=count;
  3962. qjb.setMaterial_no(list.get("BILLETID").toString());
  3963. qjb.setLock_id(qjsr.getPhy_id());
  3964. qjb.setLock_type_code("P");
  3965. qjb.setLock_type_desc("材质判定");
  3966. qjb.setLock_seq(lock_seq);
  3967. qjb.setBoard_no(list.get("BILLETID").toString());
  3968. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString());
  3969. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString());
  3970. qjb.setLock_name(username.equals("system")?"系统自动判定":username);
  3971. qjb.setCic_locking("1");
  3972. qjb.setLock_time(new Date());
  3973. qjb.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString());
  3974. qjb.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString());
  3975. qjb.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString());
  3976. qjb.setPlan_no(hashmap.get(0).get("PLAN_NO")==null?"":hashmap.get(0).get("PLAN_NO").toString());
  3977. qjb.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString());
  3978. qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString());
  3979. qjb.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString());
  3980. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  3981. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString());
  3982. qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  3983. qjb.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString());
  3984. qjb.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString());
  3985. qjb.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  3986. qjb.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  3987. qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString());
  3988. qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString());
  3989. List<QcmJudgePhysical> qjc = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where INSPECTION_LOT = '"+list.get("BILLETID_JY").toString()+"' order by JUDGE_TTIME desc");
  3990. int seq1 = 1;
  3991. //插入判定原因表
  3992. String memo = "";
  3993. for(QcmJhySampleConsignDItem listz : qjscList){
  3994. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  3995. if(listz.getPhy_name_s()!=null){
  3996. memo = listz.getPhy_name_s();
  3997. }
  3998. if(listz.getItem_name_d()!=null){
  3999. memo += "-"+listz.getItem_name_d();
  4000. }
  4001. if(listz.getItem_name_t()!=null){
  4002. memo += "-"+listz.getItem_name_t();
  4003. }
  4004. if(listz.getItem_name_s()!=null){
  4005. memo += "-"+listz.getItem_name_s();
  4006. }
  4007. if(listz.getItem_desc_l()!=null){
  4008. memo += "-"+listz.getItem_desc_l();
  4009. }
  4010. if(listz.getDefect_flag()!= null && listz.getDefect_flag().equals("1")){
  4011. memo += "-"+"分层、起皮";
  4012. }
  4013. if(listz.getVal1()!=null){
  4014. memo += "-"+listz.getVal1();
  4015. }
  4016. if(listz.getVal2()!=null){
  4017. memo += "-"+listz.getVal2();
  4018. }
  4019. if(listz.getVal3()!=null){
  4020. memo += "-"+listz.getVal3();
  4021. }
  4022. /*if(memo == ""){
  4023. memo = listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val();
  4024. }else{
  4025. memo += ","+listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val();
  4026. }*/
  4027. qjr.setMaterial_no(list.get("BILLETID").toString());
  4028. qjr.setType_code("P");
  4029. qjr.setRecord_id(qjc.get(0).getPhy_id());
  4030. qjr.setSeq(seq1);
  4031. qjr.setPhy_code_l(listz.getPhy_code_l()==null?"":listz.getPhy_code_l().toString());
  4032. qjr.setPhy_name_l(listz.getPhy_name_l()==null?"":listz.getPhy_name_l().toString());
  4033. qjr.setPhy_code_m(listz.getPhy_code_m()==null?"":listz.getPhy_code_m().toString());
  4034. qjr.setPhy_name_m(listz.getPhy_name_m()==null?"":listz.getPhy_name_m().toString());
  4035. qjr.setPhy_code_s(listz.getPhy_code_s()==null?"":listz.getPhy_code_s().toString());
  4036. qjr.setPhy_name_s(listz.getPhy_name_s()==null?"":listz.getPhy_name_s().toString());
  4037. qjr.setItem_code_d(listz.getItem_code_d()==null?"":listz.getItem_code_d().toString());
  4038. qjr.setItem_name_d(listz.getItem_name_d()==null?"":listz.getItem_name_d().toString());
  4039. qjr.setItem_code_s(listz.getItem_code_s()==null?"":listz.getItem_code_s().toString());
  4040. qjr.setItem_name_s(listz.getItem_name_s()==null?"":listz.getItem_name_s().toString());
  4041. qjr.setItem_code_t(listz.getItem_code_t()==null?"":listz.getItem_code_t().toString());
  4042. qjr.setItem_name_t(listz.getItem_name_t()==null?"":listz.getItem_name_t().toString());
  4043. qjr.setItem_code_l(listz.getItem_code_l()==null?"":listz.getItem_code_l().toString());
  4044. qjr.setItem_desc_l(listz.getItem_desc_l()==null?"":listz.getItem_desc_l().toString());
  4045. qjr.setVal1(listz.getVal1());
  4046. qjr.setVal2(listz.getVal2());
  4047. qjr.setVal3(listz.getVal3());
  4048. qjr.setAvg_val(listz.getAvg_val());
  4049. if(listz.getIsbz().equals("0")){
  4050. qjr.setStdmax(listz.getStdmax());
  4051. qjr.setStdmax_sign(listz.getStdmax_sign());
  4052. qjr.setStdmin(listz.getStdmin());
  4053. qjr.setStdmin_sign(listz.getStdmin_sign());
  4054. }else{
  4055. qjr.setStdmax(listz.getAddstd_max());
  4056. qjr.setStdmax_sign(listz.getAdd_std_max_sign());
  4057. qjr.setStdmin(listz.getAddstd_min());
  4058. qjr.setStdmin_sign(listz.getAddstd_min_sign());
  4059. }
  4060. qjr.setCreate_name(username);
  4061. qjr.setCreate_time(new Date());
  4062. seq1++;
  4063. mapper.insertQcmJudgeUltimateReason(qjr);
  4064. }
  4065. //插入异常锁定表
  4066. qjb.setLock_memo(memo);
  4067. if(!(listv.get(0).getRz_old_sampl_no() != null && listv.get(0).getRz_mixroll() != null && !listv.get(0).getSpecimen_no().equals(listv.get(0).getRz_old_sampl_no()) && listv.get(0).getSmp_type_code().equals("0") && listv.get(0).getRz_roll_slab_seq() == null)){
  4068. mapper.insertQCMJudgeLocking(qjb);
  4069. }
  4070. }
  4071. if(Fcqp.equals("1") && list3.size() >0){
  4072. for(HashMap list:list3){
  4073. List<HashMap> hashmap = new ArrayList<HashMap>();
  4074. List<HashMap> hashmap1 = new ArrayList<HashMap>();
  4075. sql = "select * from zj_result_all@xgcx where BILLETID = '"+list.get("BILLETID").toString()+"' and JUDGERESULT <> '0' ";
  4076. hashmap1 = mapper.query(sql);
  4077. if(hashmap1.size() > 0) {
  4078. sql = "select billetid from kch_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + list.get("BILLETID").toString() + "'"
  4079. + " union all select billetid from kcz_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + list.get("BILLETID").toString() + "' UNION ALL "
  4080. + " select billetid from kcj_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + list.get("BILLETID").toString() + "' union all "
  4081. + " select billetid from kcj_storagelist@xgcx where storagestatus = '501002' and billetid = '" + list.get("BILLETID").toString() + "'";
  4082. hashmap = mapper.query(sql);
  4083. if (hashmap.size() == 0) {
  4084. continue;
  4085. }
  4086. //撤销判定
  4087. cancelUltimateJudge("system",list.get("BILLETID").toString(),hashmap1.get(0).get("JUDGEID").toString());
  4088. }
  4089. hashmap = mapper.doQueryMaterialInfoHB(list.get("BILLETID").toString());
  4090. if(hashmap.size() == 0){
  4091. hashmap = mapper.doQueryMaterialInfoZB(list.get("BILLETID").toString());
  4092. }
  4093. if(hashmap.size() == 0){
  4094. hashmap = mapper.doQueryMaterialInfoX(list.get("BILLETID").toString());
  4095. }
  4096. if(hashmap.size()==0){
  4097. continue;
  4098. }
  4099. if(hashmap.get(0).get("DESIGN_KEY") != null && !hashmap.get(0).get("DESIGN_KEY").toString().startsWith("19")){
  4100. int count=0;
  4101. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  4102. String date=sdf.format(new Date());
  4103. condition = " and MATERIAL_NO = '"+list.get("BILLETID").toString()+"' order by LOCK_SEQ desc ";
  4104. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  4105. if(qjl.size() > 0){
  4106. count=qjl.get(0).getLock_seq();
  4107. }
  4108. count++;
  4109. //锁定记录号
  4110. int lock_seq=count;
  4111. qjb.setMaterial_no(list.get("BILLETID").toString());
  4112. qjb.setLock_id(qjsr.getPhy_id());
  4113. qjb.setLock_type_code("P");
  4114. qjb.setLock_type_desc("材质判定");
  4115. qjb.setLock_seq(lock_seq);
  4116. qjb.setBoard_no(list.get("BILLETID").toString());
  4117. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString());
  4118. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString());
  4119. qjb.setLock_name(username.equals("system")?"系统自动判定":username);
  4120. qjb.setCic_locking("1");
  4121. qjb.setLock_time(new Date());
  4122. qjb.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString());
  4123. qjb.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString());
  4124. qjb.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString());
  4125. qjb.setPlan_no(hashmap.get(0).get("PLAN_NO")==null?"":hashmap.get(0).get("PLAN_NO").toString());
  4126. qjb.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString());
  4127. qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString());
  4128. qjb.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString());
  4129. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  4130. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString());
  4131. qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  4132. qjb.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString());
  4133. qjb.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString());
  4134. qjb.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  4135. qjb.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  4136. qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString());
  4137. qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString());
  4138. qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString());
  4139. List<QcmJudgePhysical> qjc = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where INSPECTION_LOT = '"+list.get("BILLETID_JY").toString()+"' order by JUDGE_TTIME desc");
  4140. int seq1 = 1;
  4141. //插入判定原因表
  4142. String memo = "";
  4143. for(QcmJhySampleConsignDItem listz : qjscList){
  4144. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  4145. if(listz.getPhy_name_s()!=null){
  4146. memo = listz.getPhy_name_s();
  4147. }
  4148. if(listz.getItem_name_d()!=null){
  4149. memo += "-"+listz.getItem_name_d();
  4150. }
  4151. if(listz.getItem_name_t()!=null){
  4152. memo += "-"+listz.getItem_name_t();
  4153. }
  4154. if(listz.getItem_name_s()!=null){
  4155. memo += "-"+listz.getItem_name_s();
  4156. }
  4157. if(listz.getItem_desc_l()!=null){
  4158. memo += "-"+listz.getItem_desc_l();
  4159. }
  4160. if(listz.getDefect_flag()!= null && listz.getDefect_flag().equals("1")){
  4161. memo += "-"+"分层、起皮";
  4162. }
  4163. if(listz.getVal1()!=null){
  4164. memo += "-"+listz.getVal1();
  4165. }
  4166. if(listz.getVal2()!=null){
  4167. memo += "-"+listz.getVal2();
  4168. }
  4169. if(listz.getVal3()!=null){
  4170. memo += "-"+listz.getVal3();
  4171. }
  4172. /*if(memo == ""){
  4173. memo = listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val();
  4174. }else{
  4175. memo += ","+listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val();
  4176. }*/
  4177. qjr.setMaterial_no(list.get("BILLETID").toString());
  4178. qjr.setType_code("P");
  4179. qjr.setRecord_id(qjsr.getPhy_id());
  4180. qjr.setSeq(seq1);
  4181. qjr.setPhy_code_l(listz.getPhy_code_l()==null?"":listz.getPhy_code_l().toString());
  4182. qjr.setPhy_name_l(listz.getPhy_name_l()==null?"":listz.getPhy_name_l().toString());
  4183. qjr.setPhy_code_m(listz.getPhy_code_m()==null?"":listz.getPhy_code_m().toString());
  4184. qjr.setPhy_name_m(listz.getPhy_name_m()==null?"":listz.getPhy_name_m().toString());
  4185. qjr.setPhy_code_s(listz.getPhy_code_s()==null?"":listz.getPhy_code_s().toString());
  4186. qjr.setPhy_name_s(listz.getPhy_name_s()==null?"":listz.getPhy_name_s().toString());
  4187. qjr.setItem_code_d(listz.getItem_code_d()==null?"":listz.getItem_code_d().toString());
  4188. qjr.setItem_name_d(listz.getItem_name_d()==null?"":listz.getItem_name_d().toString());
  4189. qjr.setItem_code_s(listz.getItem_code_s()==null?"":listz.getItem_code_s().toString());
  4190. qjr.setItem_name_s(listz.getItem_name_s()==null?"":listz.getItem_name_s().toString());
  4191. qjr.setItem_code_t(listz.getItem_code_t()==null?"":listz.getItem_code_t().toString());
  4192. qjr.setItem_name_t(listz.getItem_name_t()==null?"":listz.getItem_name_t().toString());
  4193. qjr.setItem_code_l(listz.getItem_code_l()==null?"":listz.getItem_code_l().toString());
  4194. qjr.setItem_desc_l(listz.getItem_desc_l()==null?"":listz.getItem_desc_l().toString());
  4195. qjr.setVal1(listz.getVal1());
  4196. qjr.setVal2(listz.getVal2());
  4197. qjr.setVal3(listz.getVal3());
  4198. qjr.setAvg_val(listz.getAvg_val());
  4199. if(listz.getIsbz().equals("0")){
  4200. qjr.setStdmax(listz.getStdmax());
  4201. qjr.setStdmax_sign(listz.getStdmax_sign());
  4202. qjr.setStdmin(listz.getStdmin());
  4203. qjr.setStdmin_sign(listz.getStdmin_sign());
  4204. }else{
  4205. qjr.setStdmax(listz.getAddstd_max());
  4206. qjr.setStdmax_sign(listz.getAdd_std_max_sign());
  4207. qjr.setStdmin(listz.getAddstd_min());
  4208. qjr.setStdmin_sign(listz.getAddstd_min_sign());
  4209. }
  4210. qjr.setCreate_name(username);
  4211. qjr.setCreate_time(new Date());
  4212. seq1++;
  4213. mapper.insertQcmJudgeUltimateReason(qjr);
  4214. }
  4215. //插入异常锁定表
  4216. qjb.setLock_memo(memo);
  4217. mapper.insertQCMJudgeLocking(qjb);
  4218. //锁定材质
  4219. mapper.LockP(list.get("BILLETID").toString());
  4220. }
  4221. }
  4222. }
  4223. }else{
  4224. for(HashMap list:list2){
  4225. List<HashMap> hashmap = mapper.doQueryMaterialInfoJ(list.get("COIL_NO").toString());
  4226. if(hashmap.size()==0){
  4227. throw new Exception("未找到库存信息");
  4228. }
  4229. int count=0;
  4230. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  4231. String date=sdf.format(new Date());
  4232. condition = " and MATERIAL_NO = '"+list.get("COIL_NO").toString()+"' order by LOCK_SEQ desc ";
  4233. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  4234. if(qjl.size() > 0){
  4235. count=qjl.get(0).getLock_seq();
  4236. }
  4237. count++;
  4238. //锁定记录号
  4239. int lock_seq=count;
  4240. qjb.setLock_id(qjsr.getPhy_id());
  4241. qjb.setMaterial_no(list.get("COIL_NO").toString());
  4242. qjb.setLock_type_code("P");
  4243. qjb.setLock_type_desc("材质判定");
  4244. qjb.setLock_seq(lock_seq);
  4245. qjb.setBoard_no(list.get("COIL_NO").toString());
  4246. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString());
  4247. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString());
  4248. qjb.setLock_name(username.equals("system")?"系统自动判定":username);
  4249. qjb.setCic_locking("1");
  4250. qjb.setLock_time(new Date());
  4251. qjb.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString());
  4252. qjb.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString());
  4253. qjb.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString());
  4254. qjb.setPlan_no(hashmap.get(0).get("PLAN_NO")==null?"":hashmap.get(0).get("PLAN_NO").toString());
  4255. qjb.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString());
  4256. qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString());
  4257. qjb.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString());
  4258. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  4259. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString());
  4260. qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  4261. qjb.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString());
  4262. qjb.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString());
  4263. qjb.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  4264. qjb.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  4265. qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString());
  4266. qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString());
  4267. qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString());
  4268. List<QcmJudgePhysical> qjc = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where INSPECTION_LOT = '"+list.get("INSPECTION_LOT").toString()+"' order by JUDGE_TTIME desc");
  4269. int seq1 = 1;
  4270. //插入判定原因表
  4271. String memo = "";
  4272. for(QcmJhySampleConsignDItem listz : qjscList){
  4273. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  4274. if(memo == ""){
  4275. memo = listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val();
  4276. }else{
  4277. memo += ","+listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val();
  4278. }
  4279. qjr.setMaterial_no(list.get("COIL_NO").toString());
  4280. qjr.setType_code("P");
  4281. qjr.setRecord_id(qjc.get(0).getPhy_id());
  4282. qjr.setSeq(seq1);
  4283. qjr.setPhy_code_l(listz.getPhy_code_l()==null?"":listz.getPhy_code_l().toString());
  4284. qjr.setPhy_name_l(listz.getPhy_name_l()==null?"":listz.getPhy_name_l().toString());
  4285. qjr.setPhy_code_m(listz.getPhy_code_m()==null?"":listz.getPhy_code_m().toString());
  4286. qjr.setPhy_name_m(listz.getPhy_name_m()==null?"":listz.getPhy_name_m().toString());
  4287. qjr.setPhy_code_s(listz.getPhy_code_s()==null?"":listz.getPhy_code_s().toString());
  4288. qjr.setPhy_name_s(listz.getPhy_name_s()==null?"":listz.getPhy_name_s().toString());
  4289. qjr.setItem_code_d(listz.getItem_code_d()==null?"":listz.getItem_code_d().toString());
  4290. qjr.setItem_name_d(listz.getItem_name_d()==null?"":listz.getItem_name_d().toString());
  4291. qjr.setItem_code_s(listz.getItem_code_s()==null?"":listz.getItem_code_s().toString());
  4292. qjr.setItem_name_s(listz.getItem_name_s()==null?"":listz.getItem_name_s().toString());
  4293. qjr.setItem_code_t(listz.getItem_code_t()==null?"":listz.getItem_code_t().toString());
  4294. qjr.setItem_name_t(listz.getItem_name_t()==null?"":listz.getItem_name_t().toString());
  4295. qjr.setItem_code_l(listz.getItem_code_l()==null?"":listz.getItem_code_l().toString());
  4296. qjr.setItem_desc_l(listz.getItem_desc_l()==null?"":listz.getItem_desc_l().toString());
  4297. qjr.setVal1(listz.getVal1());
  4298. qjr.setVal2(listz.getVal2());
  4299. qjr.setVal3(listz.getVal3());
  4300. qjr.setAvg_val(listz.getAvg_val());
  4301. if(listz.getIsbz().equals("0")){
  4302. qjr.setStdmax(listz.getStdmax());
  4303. qjr.setStdmax_sign(listz.getStdmax_sign());
  4304. qjr.setStdmin(listz.getStdmin());
  4305. qjr.setStdmin_sign(listz.getStdmin_sign());
  4306. }else{
  4307. qjr.setStdmax(listz.getAddstd_max());
  4308. qjr.setStdmax_sign(listz.getAdd_std_max_sign());
  4309. qjr.setStdmin(listz.getAddstd_min());
  4310. qjr.setStdmin_sign(listz.getAddstd_min_sign());
  4311. }
  4312. qjr.setCreate_name(username);
  4313. qjr.setCreate_time(new Date());
  4314. seq1++;
  4315. mapper.insertQcmJudgeUltimateReason(qjr);
  4316. }
  4317. //插入异常锁定表
  4318. qjb.setLock_memo(memo);
  4319. if(SqlJoint.IsNullOrSpace(qcmJhySampleROrd.getDuplicate_sample()))
  4320. {
  4321. mapper.insertQCMJudgeLocking(qjb);
  4322. }
  4323. }
  4324. }
  4325. }
  4326. //异常材处置
  4327. //MaterialAbnormalTreatment(qjscList,qcmJhySampleROrd.getInspection_lot(),username,qjsr.getPhy_id());
  4328. }
  4329. //调用熔炼成分判定 RlChemAutoJudgeByHuman
  4330. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  4331. qjog.setOperate_name(username);
  4332. qjog.setOperate_type("材质强制判定");
  4333. qjog.setParams(smp_no);
  4334. qjog.setProd_line(listOrd.get(0).getPline_code());
  4335. qjog.setBatchno(listOrd.get(0).getBatch_no());
  4336. qjog.setJudge_result(judge?"1":"2");
  4337. mapper.insertQcmJudgeOperateLog(qjog);
  4338. //判断试样号是否都已经判定完
  4339. List<String> listphy = new ArrayList<String>();
  4340. List<QcmJhySampleROrd> listor = mapper.findInfo(qcmJhySampleROrd.getDesign_key(), "B",qcmJhySampleROrd.getInspection_lot());
  4341. List<String> lstr=new ArrayList<String>();
  4342. for (QcmJhySampleROrd l : listor) {
  4343. if (!SqlJoint.IsNullOrSpace(l.getJudge_result_desc())) {
  4344. lstr.add(l.getJudge_result_desc());
  4345. }
  4346. /*else if ("0".equals(l.getJudge_result_desc()) || "2".equals(l.getJudge_result_desc())) {
  4347. lstr.add("待判");
  4348. }*/
  4349. else {
  4350. lstr.add("null");
  4351. }
  4352. /*List<QcmJudgePhysicalResult> qjpr1 = new ArrayList<QcmJudgePhysicalResult>();
  4353. String phy_id = l.getPhy_id()==null?"":l.getPhy_id();
  4354. sql = "select * from qcm_judge_physical_result where phy_id = '"+phy_id+"'";
  4355. qjpr1 = mapper.queryQcmJudgePhysicalResult(sql);
  4356. for(QcmJudgePhysicalResult y:qjpr1)
  4357. {
  4358. String s = (y.getPhy_code_l()==null?"":y.getPhy_code_l()) + (y.getPhy_code_m()==null?"":y.getPhy_code_m()) + (y.getPhy_code_s()==null?"":y.getPhy_code_s()) + (y.getItem_code_d()==null?"":y.getItem_code_d())
  4359. + (y.getItem_code_t()==null?"":y.getItem_code_t());
  4360. listphy.add(s);
  4361. }*/
  4362. }
  4363. /*List<QcmOrdDesignStdPic> qrdsp = new ArrayList<QcmOrdDesignStdPic>();
  4364. sql = "select * from qcm_ord_design_std_pic where design_key = '"+qcmJhySampleROrd.getDesign_key()+"'";
  4365. qrdsp = mapper.queryQCMOrdDesignStdPic(sql);
  4366. for(QcmOrdDesignStdPic x:qrdsp){
  4367. String z = (x.getPhy_code_l()==null?"":x.getPhy_code_l()) + (x.getPhy_code_m()==null?"":x.getPhy_code_m()) + (x.getPhy_code_s()==null?"":x.getPhy_code_s()) + (x.getItem_code_d()==null?"":x.getItem_code_d())
  4368. + (x.getItem_code_t()==null?"":x.getItem_code_t());
  4369. if(!listphy.contains(z) && (qcmJhySampleROrd.getPline_code().equals("ZB1") || qcmJhySampleROrd.getPline_code().equals("HB1"))){
  4370. lstr.add("待判");
  4371. }
  4372. }*/
  4373. QcmJudgePhysicalUtmM qpu=new QcmJudgePhysicalUtmM();
  4374. QcmJudgePhysicalUtmD qpd=new QcmJudgePhysicalUtmD();
  4375. if (!lstr.contains("待判")) {
  4376. if (!lstr.contains("null")) {
  4377. if (lstr.contains("不合格")) {
  4378. qpu.setPic_result_desc("不合格");
  4379. qpu.setPic_result_code("2");
  4380. }else if(lstr.contains("判次")){
  4381. qpu.setPic_result_desc("判次");
  4382. qpu.setPic_result_code("3");
  4383. }else if(lstr.contains("判废")){
  4384. qpu.setPic_result_desc("判废");
  4385. qpu.setPic_result_code("4");
  4386. }else{
  4387. qpu.setPic_result_desc("合格");
  4388. qpu.setPic_result_code("1");
  4389. }
  4390. //把对应的数据加入qcm_judge_Physical_Utm_M表中
  4391. int a=0;
  4392. for (QcmJhySampleROrd q : listor) {
  4393. //获取当日最大编号
  4394. if (a==0) {
  4395. int count=0;
  4396. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  4397. String date=sdf.format(new Date());
  4398. // 获取材质结果集编号最大值
  4399. List<QcmJudgePhysicalUtmM> qrlist=mapper.queryQcmJudgePhysicalUtmM("select * from QCM_JUDGE_PHYSICAL_UTM_M where PIC_ID like 'PIC%"+date+"%' order by PIC_ID DESC");
  4400. if(qrlist!=null&&qrlist.size()>0){
  4401. String s=qrlist.get(0).getPic_id();
  4402. count=Integer.parseInt(s.substring(s.length()-4, s.length()));
  4403. }
  4404. count++;
  4405. pic_id="PIC"+sdf.format(new Date())+String.format("%04d",count);
  4406. qpu.setPic_id(pic_id);
  4407. qpu.setInspection_lot(q.getInspection_lot());
  4408. qpu.setDesign_key(q.getDesign_key());
  4409. mapper.insertQcmJudgePhysicalUtmM(qpu);
  4410. a++;
  4411. }
  4412. qpd.setPic_id(pic_id);
  4413. qpd.setPsc_desc(q.getPsc_desc());
  4414. qpd.setSteel_code(q.getSteel_code());
  4415. qpd.setSteel_name(q.getSteel_name());
  4416. qpd.setStd_code(q.getStd_code());
  4417. qpd.setStd_name(q.getStd_name());
  4418. qpd.setProd_code(q.getProd_code());
  4419. qpd.setProd_name(q.getProd_name());
  4420. qpd.setSmp_no(q.getSmp_no());
  4421. qpd.setHeat_no(q.getHeat_no());
  4422. qpd.setBatch_no(q.getBatch_no());
  4423. qpd.setInspection_lot(q.getInspection_lot());
  4424. qpd.setDesign_key(q.getDesign_key());
  4425. qpd.setPsc(q.getPsc());
  4426. qpd.setCert_inst_code(q.getCert_inst_code());
  4427. qpd.setCert_inst_name(q.getCert_inst_name());
  4428. qpd.setSmp_type_code(q.getSmp_type_code());
  4429. qpd.setSmp_type_name(q.getSmp_type_name());
  4430. qpd.setJudge_result_code(q.getJudge_result_code());
  4431. qpd.setJudge_result_desc(q.getJudge_result_desc());
  4432. qpd.setPhy_id(q.getPhy_id());
  4433. qpd.setJudge_ttime(new Date());
  4434. qpd.setJudge_name("system");
  4435. //pme.setPhysresult_id(pic_id);
  4436. mapper.insertQcmJudgePhysicalUtmD(qpd);
  4437. if(list1.size() >0 || list2.size() >0){
  4438. if(list1.size()>0){
  4439. // 更新库存表材质判定结果
  4440. ZjResultAll zra = new ZjResultAll();
  4441. zra.setBilletid_jy(qcmJhySampleROrd.getInspection_lot());
  4442. zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0");
  4443. zra.setPhysid(pic_id);
  4444. zra.setPhysresult(qpu.getPic_result_code());
  4445. zra.setPhysresult_desc(qpu.getPic_result_desc());
  4446. mapper.UpdateJugeResultB(zra);
  4447. }else{
  4448. // 更新库存表材质判定结果
  4449. QcmJudgeCoilResult zra = new QcmJudgeCoilResult();
  4450. zra.setInspection_lot(qcmJhySampleROrd.getInspection_lot());
  4451. if(SqlJoint.IsNullOrSpace(qcmJhySampleROrd.getDuplicate_sample()))
  4452. {
  4453. zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0");
  4454. }else{
  4455. zra.setPic_is_lock("0");
  4456. }
  4457. //zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0");
  4458. zra.setPhysid(pic_id);
  4459. zra.setPhysresult(qpu.getPic_result_code());
  4460. zra.setPhysresult_desc(qpu.getPic_result_desc());
  4461. mapper.UpdateJugeResultJ(zra);
  4462. }
  4463. }else{
  4464. throw new Exception("未找到该检验号下的库存信息!");
  4465. }
  4466. if(list2.size() > 0){
  4467. //发送材质实绩
  4468. List<QcmJhyPhyresult> phyresult1 = mapper.queryQcmJhyPhyresult("select * from qcm_jhy_insp_physics t where t.SPECIMEN_NO in (select SPECIMEN_NO from QCM_JHY_SAMPLE_CONSIGN_D where INSPECTION_LOT = '"+qcmJhySampleROrd.getInspection_lot()+"')");
  4469. if(phyresult1.size() > 0){
  4470. sql = "select * from qcm_judge_coil_result t where t.inspection_lot = '"+qcmJhySampleROrd.getInspection_lot()+"'";
  4471. List<HashMap> qjcr = mapper.query(sql);
  4472. if(qjcr.size() > 0){
  4473. QcmJudgeUltimateSendinfo qjus = new QcmJudgeUltimateSendinfo();
  4474. for(HashMap listcz :qjcr){
  4475. qjus.setMaterial_no(listcz.get("COIL_NO")==null?"":listcz.get("COIL_NO").toString());
  4476. qjus.setDesign_key(q.getDesign_key());
  4477. qjus.setResult_type("P");
  4478. qjus.setJudge_id(pic_id);
  4479. qjus.setCreate_name("system");
  4480. mapper.insertQcmJudgeUltimateSendinfo(qjus);
  4481. }
  4482. }
  4483. }
  4484. }
  4485. //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS
  4486. if(list2.size() > 0) {
  4487. for (HashMap hashMap : list2) {
  4488. String coil_no = hashMap.get("COIL_NO")==null?"":hashMap.get("COIL_NO").toString();
  4489. List<HashMap> hashmap2 = mapper.doQueryMaterialInfoJ(coil_no);
  4490. if (hashmap2.size() > 0) {
  4491. coiljudge_status_call(hashmap2.get(0).get("PLINE_CODE").toString(), coil_no, null, judge ? "1" : "2", null, null, null, null, null,"");
  4492. }
  4493. }
  4494. }
  4495. }
  4496. }
  4497. }
  4498. if(list1.size() > 0){
  4499. if(listv.get(0).getRz_old_sampl_no() != null && listv.get(0).getRz_mixroll() != null && !listv.get(0).getSpecimen_no().equals(listv.get(0).getRz_old_sampl_no()) && listv.get(0).getSmp_type_code().equals("0") && listv.get(0).getRz_roll_slab_seq() == null){
  4500. DuplicateSample2 sample=new DuplicateSample2();
  4501. sample.ZHBCY(qjsr.getSmp_no());
  4502. }
  4503. if(qjsr.getDuplicate_sample().contains("复样") && listv.get(0).getRz_mixroll() != null && listv.get(0).getRz_old_sampl_no() != null){
  4504. DuplicateSample2 sample=new DuplicateSample2();
  4505. sample.ZHBCYK(qjsr.getSmp_no());
  4506. }
  4507. }
  4508. QcmJudgeLog qjl = new QcmJudgeLog();
  4509. qjl.setJudge_type("R");
  4510. qjl.setMaterial_no(qcmJhySampleROrd.getInspection_lot());
  4511. qjl.setCreate_name("system");
  4512. qjl.setMaterial_type("1");
  4513. qjl.setProd_line(listOrd.get(0).getPline_code());
  4514. mapper.insertQcmJudgeLog(qjl);
  4515. /*inspection_lot = qcmJhySampleROrd.getInspection_lot();
  4516. status = qpu.getPic_result_code();*/
  4517. }
  4518. SqlSession.commit();
  4519. /*//调用熔炼成分判定 RlChemAutoJudgeByHuman
  4520. QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl();
  4521. qje.RlChemAutoJudgeByHuman2(inspection_lot);
  4522. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  4523. if(status.equals("1")){
  4524. qjpc.ultimateJudgeAutoBySystemB(inspection_lot, username );
  4525. }*/
  4526. }catch(Exception e){
  4527. cro.setV_errCode(-1);
  4528. cro.setV_errMsg(e.getMessage());
  4529. SqlSession.rollback();
  4530. logger.info(new Date().toString() + " QCM.QCM03.QCM0302.QcmJhyPhyresultServiceImpl.JudgeByHuman:【" + specimen_no.toString() + "," + username + "," + steelname + "】" + e);
  4531. }
  4532. SqlSession.close();
  4533. /*final String inspection_lot1 = inspection_lot;
  4534. Thread t2 = new Thread(){
  4535. @Override
  4536. public void run(){
  4537. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  4538. try {
  4539. qjpc.ultimateJudgeAutoBySystemB(inspection_lot1, "system" );
  4540. } catch (Exception e) {
  4541. // TODO Auto-generated catch block
  4542. e.printStackTrace();
  4543. }
  4544. }
  4545. };
  4546. t2.start();*/
  4547. return cro;
  4548. }
  4549. /**
  4550. * 创建材质判定结果集
  4551. * @param listResult
  4552. * @param ord
  4553. * @return
  4554. */
  4555. public List<QcmPhyJudgeResult> CreatePhyresult(List<QcmJhySampleConsignDItem> lists,List<QcmJhyPhyresult> listResult,QcmJhySampleROrd ord){
  4556. List<QcmPhyJudgeResult> list=new ArrayList<QcmPhyJudgeResult>();
  4557. int count=0;
  4558. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  4559. String date=sdf.format(new Date());
  4560. // 获取材质结果集编号最大值
  4561. List<QcmPhyJudgeResult> qrlist=mapper.queryQcmPhyJudgeResult("select * from (select * from QCM_JUDGE_PHYSICAL_RESULT where phy_id like 'PHY"+date+"%' order by PHY_ID DESC) where rownum <= 1");
  4562. if(qrlist!=null&&qrlist.size()>0){
  4563. String s=qrlist.get(0).getPhy_id();
  4564. count=Integer.parseInt(s.substring(s.length()-4, s.length()));
  4565. }
  4566. count++;
  4567. String phy_id="PHY"+sdf.format(new Date())+String.format("%04d",count);
  4568. for (QcmJhyPhyresult qcmJhyPhyresult : listResult) {
  4569. System.out.println(qcmJhyPhyresult.getVal1());
  4570. QcmPhyJudgeResult result=new QcmPhyJudgeResult();
  4571. result.setBatch_no(ord.getBatch_no());
  4572. List<HashMap> listz = mapper.query("select * from QCM_JHY_SAMPLE_CONSIGN_d where SPECIMEN_NO = '"+qcmJhyPhyresult.getSpecimen_no()+"' ");
  4573. result.setMaterial_no(listz.get(0).get("MATERIAL_NO").toString());
  4574. /*List<QcmJhySampleConsignD> listcd = mapper.findQcmJhySampleConsignDC("smp_no='"+ord.getSmp_no()+"' and material_no is not null");
  4575. if (listcd!=null&&listcd.size()>0) {
  4576. result.setMaterial_no(listcd.get(0).getMaterial_no());
  4577. }*/
  4578. result.setCreate_name("system");
  4579. result.setCreate_time(new Date());
  4580. result.setGuid(qcmJhyPhyresult.getGuid());
  4581. result.setHeat_no(ord.getHeat_no());
  4582. result.setInspection_lot(ord.getInspection_lot());
  4583. result.setItem_code_d(qcmJhyPhyresult.getItem_code_d());
  4584. result.setItem_code_s(qcmJhyPhyresult.getItem_code_s());
  4585. result.setItem_code_t(qcmJhyPhyresult.getItem_code_t());
  4586. result.setItem_name_d(qcmJhyPhyresult.getItem_name_d());
  4587. result.setItem_name_s(qcmJhyPhyresult.getItem_name_s());
  4588. result.setItem_name_t(qcmJhyPhyresult.getItem_name_t());
  4589. result.setItem_code_l(qcmJhyPhyresult.getItem_code_l());
  4590. result.setItem_desc_l(qcmJhyPhyresult.getItem_desc_l());
  4591. result.setSpecimen_no(qcmJhyPhyresult.getSpecimen_no());
  4592. result.setDefect_flag(qcmJhyPhyresult.getDefect_flag());
  4593. result.setPhy_unit(qcmJhyPhyresult.getPhy_unit());
  4594. //result.setMaterial_no(ord.getMaterial_no());
  4595. result.setPhy_code_l(qcmJhyPhyresult.getPhy_code_l());
  4596. result.setPhy_code_m(qcmJhyPhyresult.getPhy_code_m());
  4597. result.setPhy_code_s(qcmJhyPhyresult.getPhy_code_s());
  4598. result.setIs_pass("0");
  4599. for(QcmJhySampleConsignDItem qjscd : lists){
  4600. if(qcmJhyPhyresult.getPhy_code_s().equals(qjscd.getPhy_code_s()) && qcmJhyPhyresult.getSeq().equals(qjscd.getSeq()) && qcmJhyPhyresult.getSpecimen_no().equals(qjscd.getSpecimen_no())){
  4601. result.setIs_pass("1");
  4602. }
  4603. }
  4604. result.setPhy_id(phy_id);
  4605. result.setPhy_name_l(qcmJhyPhyresult.getPhy_name_l());
  4606. result.setPhy_name_m(qcmJhyPhyresult.getPhy_name_m());
  4607. result.setPhy_name_s(qcmJhyPhyresult.getPhy_name_s());
  4608. result.setSmp_no(ord.getSmp_no());
  4609. //result.setPri("");
  4610. result.setVal1(qcmJhyPhyresult.getVal1());
  4611. result.setVal2(qcmJhyPhyresult.getVal2());
  4612. result.setVal3(qcmJhyPhyresult.getVal3());
  4613. result.setVal4(qcmJhyPhyresult.getVal4());
  4614. result.setVal5(qcmJhyPhyresult.getVal5());
  4615. result.setVal6(qcmJhyPhyresult.getVal6());
  4616. result.setVal7(qcmJhyPhyresult.getVal7());
  4617. result.setVal8(qcmJhyPhyresult.getVal8());
  4618. result.setVal9(qcmJhyPhyresult.getVal9());
  4619. result.setAvg_val(qcmJhyPhyresult.getAvg_val());
  4620. list.add(result);
  4621. // }
  4622. }
  4623. //如果是复样,把初样结果写入
  4624. //List<QcmJhyPhyresult> listResults = mapper.queryQcmJhyPhyresult("select t.*,b.smp_location from QCM_JHY_INSP_PHYSICS t left join qcm_jhy_sample_consign_d_item b on t.specimen_no = b.specimen_no and t.seq = b.seq where t.specimen_no in (select d.specimen_no from qcm_jhy_sample_consign_d d where d.smp_no = '"+ord.getSmp_no()+"')");
  4625. List<QcmJhyPhyresult> listResults = mapper.queryQcmJhyPhyresult("select * from QCM_JHY_INSP_PHYSICS t where t.specimen_no in (select d.specimen_no from qcm_jhy_sample_consign_d d where d.smp_no = '"+ord.getSmp_no()+"')");//("SELECT A.* FROM QCM_JHY_insp_physics A WHERE A.Specimen_No like '"+ord.getSmp_no()+"'||'%'");
  4626. for (QcmJhyPhyresult qcmJhyPhyresult : listResults) {
  4627. ArrayList<String> t = new ArrayList<String>();
  4628. for(QcmJhyPhyresult q : listResult){
  4629. String s = ((q.getPhy_code_l()==null?"":q.getPhy_code_l()) + (q.getPhy_code_m()==null?"":q.getPhy_code_m()) + (q.getPhy_code_s()==null?"":q.getPhy_code_s()) + (q.getItem_code_d()==null?"":q.getItem_code_d())
  4630. + (q.getItem_code_s()==null?"":q.getItem_code_s()) + (q.getItem_code_t()==null?"":q.getItem_code_t()) /*+ (q.getSmp_location()==null?"":q.getSmp_location())*/);
  4631. t.add(s);
  4632. }
  4633. if(t.contains((qcmJhyPhyresult.getPhy_code_l()==null?"":qcmJhyPhyresult.getPhy_code_l()) + (qcmJhyPhyresult.getPhy_code_m()==null?"":qcmJhyPhyresult.getPhy_code_m()) + (qcmJhyPhyresult.getPhy_code_s()==null?"":qcmJhyPhyresult.getPhy_code_s()) + (qcmJhyPhyresult.getItem_code_d()==null?"":qcmJhyPhyresult.getItem_code_d())
  4634. + (qcmJhyPhyresult.getItem_code_s()==null?"":qcmJhyPhyresult.getItem_code_s()) + (qcmJhyPhyresult.getItem_code_t()==null?"":qcmJhyPhyresult.getItem_code_t()) /*+ (qcmJhyPhyresult.getSmp_location()==null?"":qcmJhyPhyresult.getSmp_location())*/)){
  4635. continue;
  4636. }
  4637. System.out.println(qcmJhyPhyresult.getVal1());
  4638. QcmPhyJudgeResult result=new QcmPhyJudgeResult();
  4639. result.setBatch_no(ord.getBatch_no());
  4640. List<HashMap> listz = mapper.query("select * from QCM_JHY_SAMPLE_CONSIGN_d where SPECIMEN_NO = '"+qcmJhyPhyresult.getSpecimen_no()+"' ");
  4641. result.setMaterial_no(listz.get(0).get("MATERIAL_NO").toString());
  4642. List<QcmJhySampleConsignD> listcd = mapper.findQcmJhySampleConsignDC("smp_no='"+ord.getSmp_no()+"' and material_no is not null");
  4643. if (listcd!=null&&listcd.size()>0) {
  4644. result.setMaterial_no(listcd.get(0).getMaterial_no());
  4645. }
  4646. result.setCreate_name("system");
  4647. result.setCreate_time(new Date());
  4648. result.setGuid(qcmJhyPhyresult.getGuid());
  4649. result.setHeat_no(ord.getHeat_no());
  4650. result.setInspection_lot(ord.getInspection_lot());
  4651. result.setItem_code_d(qcmJhyPhyresult.getItem_code_d());
  4652. result.setItem_code_s(qcmJhyPhyresult.getItem_code_s());
  4653. result.setItem_code_t(qcmJhyPhyresult.getItem_code_t());
  4654. result.setItem_name_d(qcmJhyPhyresult.getItem_name_d());
  4655. result.setItem_name_s(qcmJhyPhyresult.getItem_name_s());
  4656. result.setItem_name_t(qcmJhyPhyresult.getItem_name_t());
  4657. result.setItem_code_l(qcmJhyPhyresult.getItem_code_l());
  4658. result.setItem_desc_l(qcmJhyPhyresult.getItem_desc_l());
  4659. result.setSpecimen_no(qcmJhyPhyresult.getSpecimen_no());
  4660. result.setDefect_flag(qcmJhyPhyresult.getDefect_flag());
  4661. result.setPhy_unit(qcmJhyPhyresult.getPhy_unit());
  4662. //result.setMaterial_no(ord.getMaterial_no());
  4663. result.setPhy_code_l(qcmJhyPhyresult.getPhy_code_l());
  4664. result.setPhy_code_m(qcmJhyPhyresult.getPhy_code_m());
  4665. result.setPhy_code_s(qcmJhyPhyresult.getPhy_code_s());
  4666. result.setIs_pass("0");
  4667. result.setPhy_id(phy_id);
  4668. result.setPhy_name_l(qcmJhyPhyresult.getPhy_name_l());
  4669. result.setPhy_name_m(qcmJhyPhyresult.getPhy_name_m());
  4670. result.setPhy_name_s(qcmJhyPhyresult.getPhy_name_s());
  4671. result.setSmp_no(ord.getSmp_no());
  4672. //result.setPri("");
  4673. result.setVal1(qcmJhyPhyresult.getVal1());
  4674. result.setVal2(qcmJhyPhyresult.getVal2());
  4675. result.setVal3(qcmJhyPhyresult.getVal3());
  4676. result.setVal4(qcmJhyPhyresult.getVal4());
  4677. result.setVal5(qcmJhyPhyresult.getVal5());
  4678. result.setVal6(qcmJhyPhyresult.getVal6());
  4679. result.setVal7(qcmJhyPhyresult.getVal7());
  4680. result.setVal8(qcmJhyPhyresult.getVal8());
  4681. result.setVal9(qcmJhyPhyresult.getVal9());
  4682. result.setAvg_val(qcmJhyPhyresult.getAvg_val());
  4683. list.add(result);
  4684. // }
  4685. }
  4686. System.out.println(list.size());
  4687. return list;
  4688. }
  4689. /**
  4690. * 创建材质判定记录
  4691. * @param specNo
  4692. * @param ord
  4693. * @param resultId
  4694. * @param pass
  4695. * @return
  4696. */
  4697. public QcmJudgePhysical CreatePhyJudgeRecord(String specNo,QcmJhySampleROrd ord,String resultId,boolean pass,String username,String steelname,String remark){
  4698. QcmJhySampleConsignD _consignD=new QcmJhySampleConsignD();
  4699. List<QcmJhySampleConsignD> listConsignD=mapper.findQcmJhySampleConsignD1(ord.getSmp_no(), specNo);
  4700. QcmJudgePhysical _phy=new QcmJudgePhysical();
  4701. String type = "PHY";
  4702. String ymd = new SimpleDateFormat("yyMMdd").format(new Date());
  4703. String sql = "select * from QCM_JUDGE_PHYSICAL where PHY_ID like '"+type+ ymd+"%' order by PHY_ID desc ";
  4704. List<QcmJudgePhysical> list=mapper.queryQcmJudgePhysical(sql);
  4705. int icount = 0;
  4706. if (list != null && list.size() > 0) {
  4707. String s=list.get(0).getPhy_id();
  4708. icount = Integer.parseInt(s.substring(s.length()-4,s.length()));
  4709. }
  4710. List<HashMap> listz = mapper.query("select * from QCM_JHY_SAMPLE_CONSIGN_m where smp_no = '"+ord.getSmp_no()+"' ");
  4711. //生成检验索引码,编码规则:U/D/E+两位年/月/日+4位流水号,示例:E1803070001;
  4712. icount++;
  4713. String phy_id=type+ymd + String.format("%04d",icount);
  4714. _phy.setBatch_no(ord.getBatch_no());
  4715. _phy.setPhy_id(phy_id);
  4716. // _phy.setOrder_no(ord.getOrder_no());
  4717. _phy.setDelivery_state_code(ord.getDelivery_state_code());
  4718. _phy.setDelivery_state_desc(ord.getDelivery_state_desc());
  4719. _phy.setBoard_no(listz.get(0).get("BOARD_NO")==null?"":listz.get(0).get("BOARD_NO").toString());
  4720. _phy.setDesign_key(ord.getDesign_key());
  4721. _phy.setCert_inst_code(ord.getCert_inst_code());
  4722. _phy.setCert_inst_name(ord.getCert_inst_name());
  4723. _phy.setSmp_type_code(ord.getSmp_type_code());
  4724. _phy.setSmp_type_name(ord.getSmp_type_name());
  4725. _phy.setDelivery_state_code(ord.getDelivery_state_code());
  4726. _phy.setDelivery_state_desc(ord.getDelivery_state_desc());
  4727. _phy.setHeat_no(ord.getHeat_no());
  4728. _phy.setInspection_lot(ord.getInspection_lot());
  4729. _phy.setPsc(ord.getPsc());
  4730. _phy.setPsc_desc(ord.getPsc_desc());
  4731. _phy.setSteel_code(ord.getSteel_code());
  4732. _phy.setSteel_name(ord.getSteel_name());
  4733. _phy.setStd_code(ord.getStd_code());
  4734. _phy.setStd_name(ord.getStd_name());
  4735. _phy.setProd_code(ord.getProd_code());
  4736. _phy.setProd_name(ord.getProd_name());
  4737. _phy.setPline_code(ord.getPline_code());
  4738. _phy.setPline_name(ord.getPline_name());
  4739. _phy.setThick(ord.getThick());
  4740. _phy.setWidth(ord.getWidth());
  4741. _phy.setLength(ord.getLength());
  4742. _phy.setJudge_name(username);
  4743. _phy.setJudge_ttime(new Date());
  4744. _phy.setPhy_id(resultId);
  4745. //_phy.setPhy_memo(steelname);
  4746. if(username.equals("system")){
  4747. _phy.setPhy_memo("系统自动判定");
  4748. }
  4749. else{
  4750. _phy.setPhy_memo(remark);
  4751. }
  4752. if(steelname != null && !steelname.equals("")){
  4753. _phy.setSteel_name(steelname);
  4754. }
  4755. _phy.setPhy_result_code(pass?"1":"2");
  4756. _phy.setPhy_result_desc(pass?"合格":"不合格");
  4757. _phy.setSmp_no(ord.getSmp_no());
  4758. _phy.setPsc(ord.getPsc());
  4759. _phy.setPline_name(listConsignD.get(0).getPline_name());
  4760. _phy.setPline_code(listConsignD.get(0).getPline_code());
  4761. return _phy;
  4762. }
  4763. /**
  4764. * 材质判定
  4765. */
  4766. @SuppressWarnings("unchecked")
  4767. public CoreReturnObject AutoJudge(String smp_no,String username) throws Exception{
  4768. String staus="";
  4769. String inspection_lot = "";
  4770. try{
  4771. //获取未判定的数据
  4772. String condition=" Judge_status='0' ";
  4773. QcmJhySampleROrd qjsr=new QcmJhySampleROrd();
  4774. List<QcmJhySampleROrd> listqjsr=new ArrayList<QcmJhySampleROrd>();
  4775. String status="";
  4776. List<String> lists=new ArrayList<String>();//异常材料处理用,用于不合格项目的备注
  4777. List<QcmJhySampleROrd> listt=mapper.GetSamplePhyInfo2(condition,smp_no);
  4778. if(listt.size() > 0){
  4779. throw new Exception("该产品存在复样");
  4780. }
  4781. List<QcmJhySampleROrd> listx=mapper.GetSamplePhyInfo(condition,smp_no);
  4782. if(listx.size() == 0){
  4783. throw new Exception("该产品已判或者未处于待判状态");
  4784. }
  4785. List<QcmJhySampleROrd> listOrd=new ArrayList<QcmJhySampleROrd>();
  4786. List<QcmJhySampleConsignDItem> qjscList = new ArrayList<QcmJhySampleConsignDItem>(); // 存放不合格的项目,用于自动复样
  4787. List<String> w=new ArrayList<String>();
  4788. for (QcmJhySampleROrd o : listx) {
  4789. boolean flag=true;//判定试样号向下的取样编号是否都是已完成状态;
  4790. List<QcmJhySampleConsignD> listd = mapper.findQcmJhySampleConsignD2(o.getSmp_no());
  4791. for (QcmJhySampleConsignD d : listd) {
  4792. if (!d.getStatus().equals("3")) {
  4793. flag=false;
  4794. throw new Exception("该试样号向下的取样编号存在未完成的!");
  4795. }
  4796. }
  4797. if (flag) {
  4798. listOrd.add(o);
  4799. }
  4800. }
  4801. String pic_id="";
  4802. QcmJhySampleConsignD _consignD=new QcmJhySampleConsignD();
  4803. for (QcmJhySampleROrd qcmJhySampleROrd : listOrd) {
  4804. _consignD.setSmp_no(qcmJhySampleROrd.getSmp_no());
  4805. _consignD.setInspection_lot(qcmJhySampleROrd.getInspection_lot());
  4806. _consignD.setHeat_no(qcmJhySampleROrd.getHeat_no());
  4807. //获取取样编号
  4808. List<QcmJhySampleConsignD> listConsignD=mapper.findQcmJhySampleConsignD(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getInspection_lot(), qcmJhySampleROrd.getHeat_no());
  4809. //上面listConsignD 只会查出一条数据,如果有多条数据需要跟设计确认是如何进行关联的
  4810. List<QcmJhyPhyresult> listResult=new ArrayList<QcmJhyPhyresult>();
  4811. //获取检验信息
  4812. for (QcmJhySampleConsignD d : listConsignD) {
  4813. QcmJhyPhyresult _result=new QcmJhyPhyresult();
  4814. List<QcmJhyPhyresult> listqjp=mapper.findphyresult(d.getSpecimen_no());
  4815. if (listqjp.size()<1) {
  4816. continue;
  4817. }
  4818. for (QcmJhyPhyresult q : listqjp) {
  4819. if(SqlJoint.IsNullOrSpace(q.getVal1()) && SqlJoint.IsNullOrSpace(q.getVal2()) && SqlJoint.IsNullOrSpace(q.getVal3())){
  4820. }else{
  4821. listResult.add(q);
  4822. }
  4823. }
  4824. List<QcmJhySampleConsignDItem> listi=mapper.findQcmJhySampleConsignDItem(d.getSpecimen_no());
  4825. if(listi.size()<=0){
  4826. throw new Exception("未找到数据!");
  4827. }
  4828. }
  4829. //获取标准和实测值(调用zj书写的接口)
  4830. CoreReturnObject r =querryJudgetItemInfo(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getDesign_key(),qcmJhySampleROrd.getSteel_name(),qcmJhySampleROrd.getPline_code());
  4831. List<QcmJhySampleConsignDItem> listd=(List<QcmJhySampleConsignDItem>) r.getResult();
  4832. boolean pass=true;//单项是否合格
  4833. boolean judge = true;
  4834. for (QcmJhySampleConsignDItem sod : listd) {
  4835. if(SqlJoint.IsNullOrSpace(sod.getVal1()) && SqlJoint.IsNullOrSpace(sod.getVal2()) && SqlJoint.IsNullOrSpace(sod.getVal3()) && SqlJoint.IsNullOrSpace(sod.getAvg_val()) && sod.getIsjudge().equals("1")){
  4836. throw new Exception("获取实绩为空!");
  4837. }
  4838. String bool0="";
  4839. String bool1="";
  4840. String bool2="";
  4841. String bool3="";
  4842. String bool4="";
  4843. String bool5="";
  4844. //附加标准比较
  4845. // if(pass){
  4846. //最小值判定
  4847. if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("A")&&"1".equals(sod.getIsjudge())) {
  4848. String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis());
  4849. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null);
  4850. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  4851. lists.add(sod.getPhy_name_l()+":"+min);
  4852. sod.setStdmin(sod.getJf_stdmin());
  4853. sod.setStdmin_sign(sod.getJf_stdmin_sign());
  4854. }
  4855. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null);
  4856. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  4857. lists.add(sod.getPhy_name_l()+":"+min);
  4858. sod.setStdmax(sod.getJf_stdmax());
  4859. sod.setStdmax_sign(sod.getJf_stdmax_sign());
  4860. }
  4861. bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null);
  4862. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  4863. lists.add(sod.getPhy_name_l()+":"+min);
  4864. sod.setStdmin(sod.getKh_stdmin());
  4865. sod.setStdmin_sign(sod.getKh_stdmin_sign());
  4866. }
  4867. bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null);
  4868. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  4869. lists.add(sod.getPhy_name_l()+":"+min);
  4870. sod.setStdmax(sod.getKh_stdmax());
  4871. sod.setStdmax_sign(sod.getKh_stdmax_sign());
  4872. }
  4873. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null);
  4874. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  4875. lists.add(sod.getPhy_name_l()+":"+min);
  4876. sod.setStdmin(sod.getNk_stdmin());
  4877. sod.setStdmin_sign(sod.getNk_stdmin_sign());
  4878. }
  4879. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null);
  4880. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  4881. lists.add(sod.getPhy_name_l()+":"+min);
  4882. sod.setStdmax(sod.getNk_stdmax());
  4883. sod.setStdmax_sign(sod.getNk_stdmax_sign());
  4884. }
  4885. if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) {
  4886. pass=false;
  4887. sod.setIsbz("0");
  4888. qjscList.add(sod);
  4889. }
  4890. }
  4891. //最大值判定
  4892. if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("B")&&"1".equals(sod.getIsjudge())) {
  4893. String min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),sod.getJudge_basis());
  4894. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null);
  4895. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  4896. lists.add(sod.getPhy_name_l()+":"+min);
  4897. sod.setStdmin(sod.getJf_stdmin());
  4898. sod.setStdmin_sign(sod.getJf_stdmin_sign());
  4899. }
  4900. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null);
  4901. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  4902. lists.add(sod.getPhy_name_l()+":"+min);
  4903. sod.setStdmax(sod.getJf_stdmax());
  4904. sod.setStdmax_sign(sod.getJf_stdmax_sign());
  4905. }
  4906. bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null);
  4907. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  4908. lists.add(sod.getPhy_name_l()+":"+min);
  4909. sod.setStdmin(sod.getKh_stdmin());
  4910. sod.setStdmin_sign(sod.getKh_stdmin_sign());
  4911. }
  4912. bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null);
  4913. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  4914. lists.add(sod.getPhy_name_l()+":"+min);
  4915. sod.setStdmax(sod.getKh_stdmax());
  4916. sod.setStdmax_sign(sod.getKh_stdmax_sign());
  4917. }
  4918. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null);
  4919. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  4920. lists.add(sod.getPhy_name_l()+":"+min);
  4921. sod.setStdmin(sod.getNk_stdmin());
  4922. sod.setStdmin_sign(sod.getNk_stdmin_sign());
  4923. }
  4924. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null);
  4925. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  4926. lists.add(sod.getPhy_name_l()+":"+min);
  4927. sod.setStdmax(sod.getNk_stdmax());
  4928. sod.setStdmax_sign(sod.getNk_stdmax_sign());
  4929. }
  4930. if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) {
  4931. pass=false;
  4932. sod.setIsbz("0");
  4933. qjscList.add(sod);
  4934. }
  4935. }
  4936. //平均值判定
  4937. if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("C")&&"1".equals(sod.getIsjudge())) {
  4938. String min="";
  4939. if (!SqlJoint.IsNullOrSpace(sod.getAvg_val())) {
  4940. min=sod.getVal1();
  4941. }else {
  4942. min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis());
  4943. }
  4944. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null);
  4945. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  4946. lists.add(sod.getPhy_name_l()+":"+min);
  4947. sod.setStdmin(sod.getJf_stdmax());
  4948. sod.setStdmin_sign(sod.getJf_stdmax_sign());
  4949. }
  4950. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null);
  4951. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  4952. lists.add(sod.getPhy_name_l()+":"+min);
  4953. sod.setStdmax(sod.getJf_stdmax());
  4954. sod.setStdmax_sign(sod.getJf_stdmax_sign());
  4955. }
  4956. bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null);
  4957. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  4958. lists.add(sod.getPhy_name_l()+":"+min);
  4959. sod.setStdmin(sod.getKh_stdmax());
  4960. sod.setStdmin_sign(sod.getKh_stdmax_sign());
  4961. }
  4962. bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null);
  4963. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  4964. lists.add(sod.getPhy_name_l()+":"+min);
  4965. sod.setStdmax(sod.getKh_stdmax());
  4966. sod.setStdmax_sign(sod.getKh_stdmax_sign());
  4967. }
  4968. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null);
  4969. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  4970. lists.add(sod.getPhy_name_l()+":"+min);
  4971. sod.setStdmin(sod.getNk_stdmin());
  4972. sod.setStdmin_sign(sod.getNk_stdmin_sign());
  4973. }
  4974. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null);
  4975. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  4976. lists.add(sod.getPhy_name_l()+":"+min);
  4977. sod.setStdmax(sod.getNk_stdmax());
  4978. sod.setStdmax_sign(sod.getNk_stdmax_sign());
  4979. }
  4980. if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) {
  4981. pass=false;
  4982. sod.setIsbz("0");
  4983. qjscList.add(sod);
  4984. }
  4985. }
  4986. //逐项值判定
  4987. if (SqlJoint.IsNullOrSpace(sod.getJudge_basis())||sod.getJudge_basis().equalsIgnoreCase("D")&&"1".equals(sod.getIsjudge())) {
  4988. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  4989. String str=connectVal(sod.getPhy_name_l(), sod.getVal1(),sod.getVal2(),sod.getVal3());
  4990. if ("2".equals(bool0)&&!lists.contains(str)) {
  4991. lists.add(str);
  4992. sod.setStdmin(sod.getJf_stdmin());
  4993. sod.setStdmin_sign(sod.getJf_stdmin_sign());
  4994. }
  4995. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  4996. if ("2".equals(bool1)&&!lists.contains(str)) {
  4997. lists.add(str);
  4998. sod.setStdmax(sod.getJf_stdmax());
  4999. sod.setStdmax_sign(sod.getJf_stdmax_sign());
  5000. }
  5001. bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  5002. if ("2".equals(bool2)&&!lists.contains(str)) {
  5003. lists.add(str);
  5004. sod.setStdmin(sod.getKh_stdmin());
  5005. sod.setStdmin_sign(sod.getKh_stdmin_sign());
  5006. }
  5007. bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  5008. if ("2".equals(bool3)&&!lists.contains(str)) {
  5009. lists.add(str);
  5010. sod.setStdmax(sod.getKh_stdmax());
  5011. sod.setStdmax_sign(sod.getKh_stdmax_sign());
  5012. }
  5013. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  5014. if ("2".equals(bool4)&&!lists.contains(str)) {
  5015. lists.add(str);
  5016. sod.setStdmin(sod.getNk_stdmin());
  5017. sod.setStdmin_sign(sod.getNk_stdmin_sign());
  5018. }
  5019. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  5020. if ("2".equals(bool5)&&!lists.contains(str)) {
  5021. lists.add(str);
  5022. sod.setStdmax(sod.getNk_stdmax());
  5023. sod.setStdmax_sign(sod.getNk_stdmax_sign());
  5024. }
  5025. if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) {
  5026. pass=false;
  5027. sod.setIsbz("0");
  5028. qjscList.add(sod);
  5029. }
  5030. }
  5031. if((pass && !SqlJoint.IsNullOrSpace(sod.getAddcondition()) && sod.getAddcondition().equals("1")) || (!pass && !SqlJoint.IsNullOrSpace(sod.getAddcondition()) && sod.getAddcondition().equals("0"))){
  5032. pass = true;
  5033. //允许一个值
  5034. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("A")&&"1".equals(sod.getIsjudge())) {
  5035. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal1(),null,null,null,null,null,null,null,null);
  5036. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) {
  5037. lists.add(sod.getPhy_name_l()+":"+sod.getVal1());
  5038. }
  5039. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal1(),null,null,null,null,null,null,null,null);
  5040. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) {
  5041. lists.add(sod.getPhy_name_l()+":"+sod.getVal1());
  5042. }
  5043. bool2=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal2(),null,null,null,null,null,null,null,null);
  5044. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) {
  5045. lists.add(sod.getPhy_name_l()+":"+sod.getVal2());
  5046. }
  5047. bool3=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal2(),null,null,null,null,null,null,null,null);
  5048. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) {
  5049. lists.add(sod.getPhy_name_l()+":"+sod.getVal2());
  5050. }
  5051. bool4=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal3(),null,null,null,null,null,null,null,null);
  5052. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) {
  5053. lists.add(sod.getPhy_name_l()+":"+sod.getVal3());
  5054. }
  5055. bool5=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal3(),null,null,null,null,null,null,null,null);
  5056. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) {
  5057. lists.add(sod.getPhy_name_l()+":"+sod.getVal3());
  5058. }
  5059. if (!(("1".equals(bool0) && "1".equals(bool1)) ||("1".equals(bool2)&&"1".equals(bool3))||("1".equals(bool4)&&"1".equals(bool5)))) {
  5060. pass=false;
  5061. sod.setIsbz("1");
  5062. qjscList.add(sod);
  5063. }
  5064. }
  5065. //最大最小差值
  5066. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("B")&&"1".equals(sod.getIsjudge())) {
  5067. String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), "D");
  5068. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null);
  5069. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5070. lists.add(sod.getPhy_name_l()+":"+min);
  5071. }
  5072. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null);
  5073. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5074. lists.add(sod.getPhy_name_l()+":"+min);
  5075. }
  5076. if ("2".equals(bool0)||"2".equals(bool1)) {
  5077. pass=false;
  5078. sod.setIsbz("1");
  5079. qjscList.add(sod);
  5080. }
  5081. }
  5082. //平均值
  5083. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("C")&&"1".equals(sod.getIsjudge())) {
  5084. String min="";
  5085. if (!SqlJoint.IsNullOrSpace(sod.getAvg_val())) {
  5086. min=sod.getVal1();
  5087. }else {
  5088. min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis());
  5089. }
  5090. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null);
  5091. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5092. lists.add(sod.getPhy_name_l()+":"+min);
  5093. }
  5094. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null);
  5095. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5096. lists.add(sod.getPhy_name_l()+":"+min);
  5097. }
  5098. if ("2".equals(bool0)||"2".equals(bool1)) {
  5099. pass=false;
  5100. sod.setIsbz("1");
  5101. qjscList.add(sod);
  5102. }
  5103. }
  5104. //最小值
  5105. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("D")&&"1".equals(sod.getIsjudge())) {
  5106. String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),"A");
  5107. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null);
  5108. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5109. lists.add(sod.getPhy_name_l()+":"+min);
  5110. }
  5111. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null);
  5112. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5113. lists.add(sod.getPhy_name_l()+":"+min);
  5114. }
  5115. if ("2".equals(bool0)||"2".equals(bool1)) {
  5116. pass=false;
  5117. sod.setIsbz("1");
  5118. qjscList.add(sod);
  5119. }
  5120. }
  5121. //最大值
  5122. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("E")&&"1".equals(sod.getIsjudge())) {
  5123. String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), "B");
  5124. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null);
  5125. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5126. lists.add(sod.getPhy_name_l()+":"+min);
  5127. }
  5128. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null);
  5129. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5130. lists.add(sod.getPhy_name_l()+":"+min);
  5131. }
  5132. if ("2".equals(bool0)||"2".equals(bool1)) {
  5133. pass=false;
  5134. sod.setIsbz("1");
  5135. qjscList.add(sod);
  5136. }
  5137. }
  5138. //所有值
  5139. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("E")&&"1".equals(sod.getIsjudge())) {
  5140. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal1(),null,null,null,null,null,null,null,null);
  5141. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) {
  5142. lists.add(sod.getPhy_name_l()+":"+sod.getVal1());
  5143. }
  5144. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal1(),null,null,null,null,null,null,null,null);
  5145. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) {
  5146. lists.add(sod.getPhy_name_l()+":"+sod.getVal1());
  5147. }
  5148. bool2=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal2(),null,null,null,null,null,null,null,null);
  5149. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) {
  5150. lists.add(sod.getPhy_name_l()+":"+sod.getVal2());
  5151. }
  5152. bool3=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal2(),null,null,null,null,null,null,null,null);
  5153. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) {
  5154. lists.add(sod.getPhy_name_l()+":"+sod.getVal2());
  5155. }
  5156. bool4=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal3(),null,null,null,null,null,null,null,null);
  5157. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) {
  5158. lists.add(sod.getPhy_name_l()+":"+sod.getVal3());
  5159. }
  5160. bool5=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal3(),null,null,null,null,null,null,null,null);
  5161. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) {
  5162. lists.add(sod.getPhy_name_l()+":"+sod.getVal3());
  5163. }
  5164. if ("2".equals(bool0)||"2".equals(bool1) ||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) {
  5165. pass=false;
  5166. sod.setIsbz("1");
  5167. qjscList.add(sod);
  5168. }
  5169. }
  5170. }
  5171. if(sod.getDefect_flag()!= null){
  5172. if(sod.getDefect_flag().equals("1")){
  5173. pass = false;
  5174. }
  5175. }
  5176. if(!pass){
  5177. judge = false;
  5178. }
  5179. }
  5180. qjsr=UpdateData(qjscList,listResult,qcmJhySampleROrd,judge,username,"","");
  5181. String sql = "select * from zj_result_all@xgcx where BILLETID_JY = '"+qcmJhySampleROrd.getInspection_lot()+"' and judgeresult = '0'";
  5182. List<HashMap> list1 = mapper.query(sql);
  5183. sql = "select * from QCM_JUDGE_COIL_RESULT where INSPECTION_LOT = '"+qcmJhySampleROrd.getInspection_lot()+"' and judgeresult = '0' ";
  5184. List<HashMap> list2 = mapper.query(sql);
  5185. if(!judge){
  5186. //更新材料异常处理表
  5187. QCMJudgeLocking qjb=new QCMJudgeLocking();
  5188. if(list1.size() >0 || list2.size() >0){
  5189. if(list1.size()>0){
  5190. for(HashMap list:list1){
  5191. List<HashMap> hashmap = mapper.doQueryMaterialInfoHB(list.get("BILLETID").toString());
  5192. if(hashmap.size() == 0){
  5193. hashmap = mapper.doQueryMaterialInfoZB(list.get("BILLETID").toString());
  5194. }
  5195. if(hashmap.size() == 0){
  5196. hashmap = mapper.doQueryMaterialInfoX(list.get("BILLETID").toString());
  5197. }
  5198. if(hashmap.size()==0){
  5199. throw new Exception("未找到库存信息");
  5200. }
  5201. int count=0;
  5202. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  5203. String date=sdf.format(new Date());
  5204. condition = " and MATERIAL_NO = '"+list.get("BILLETID").toString()+"' order by LOCK_SEQ desc ";
  5205. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  5206. if(qjl.size() > 0){
  5207. count=qjl.get(0).getLock_seq();
  5208. }
  5209. count++;
  5210. //锁定记录号
  5211. int lock_seq=count;
  5212. qjb.setMaterial_no(list.get("BILLETID").toString());
  5213. qjb.setLock_id(qjsr.getPhy_id());
  5214. qjb.setLock_type_code("P");
  5215. qjb.setLock_type_desc("材质判定");
  5216. qjb.setLock_seq(lock_seq);
  5217. qjb.setBoard_no(list.get("BILLETID").toString());
  5218. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString());
  5219. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString());
  5220. qjb.setLock_name(username.equals("system")?"系统自动判定":username);
  5221. qjb.setPic_locking("1");
  5222. qjb.setLock_time(new Date());
  5223. qjb.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString());
  5224. qjb.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString());
  5225. qjb.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString());
  5226. qjb.setPlan_no(hashmap.get(0).get("PLAN_NO")==null?"":hashmap.get(0).get("PLAN_NO").toString());
  5227. qjb.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString());
  5228. qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString());
  5229. qjb.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString());
  5230. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  5231. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString());
  5232. qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  5233. qjb.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString());
  5234. qjb.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString());
  5235. qjb.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  5236. qjb.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  5237. qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString());
  5238. qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString());
  5239. qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString());
  5240. List<QcmJudgePhysical> qjc = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where INSPECTION_LOT = '"+list.get("BILLETID_JY").toString()+"' order by JUDGE_TTIME desc");
  5241. int seq1 = 1;
  5242. //插入判定原因表
  5243. String memo = "";
  5244. for(QcmJhySampleConsignDItem listz : qjscList){
  5245. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  5246. if(listz.getPhy_name_s()!=null){
  5247. memo = listz.getPhy_name_s();
  5248. }
  5249. if(listz.getItem_name_d()!=null){
  5250. memo += "-"+listz.getItem_name_d();
  5251. }
  5252. if(listz.getItem_name_t()!=null){
  5253. memo += "-"+listz.getItem_name_t();
  5254. }
  5255. if(listz.getItem_name_s()!=null){
  5256. memo += "-"+listz.getItem_name_s();
  5257. }
  5258. if(listz.getItem_desc_l()!=null){
  5259. memo += "-"+listz.getItem_desc_l();
  5260. }
  5261. if(listz.getDefect_flag().equals("1")){
  5262. memo += "-"+"分层、起皮";
  5263. }
  5264. if(listz.getVal1()!=null){
  5265. memo += "-"+listz.getVal1();
  5266. }
  5267. if(listz.getVal2()!=null){
  5268. memo += "-"+listz.getVal2();
  5269. }
  5270. if(listz.getVal3()!=null){
  5271. memo += "-"+listz.getVal3();
  5272. }
  5273. /*if(memo == ""){
  5274. memo = listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val();
  5275. }else{
  5276. memo += ","+listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val();
  5277. }*/
  5278. qjr.setMaterial_no(list.get("BILLETID").toString());
  5279. qjr.setType_code("P");
  5280. qjr.setRecord_id(qjc.get(0).getPhy_id());
  5281. qjr.setSeq(seq1);
  5282. qjr.setPhy_code_l(listz.getPhy_code_l()==null?"":listz.getPhy_code_l().toString());
  5283. qjr.setPhy_name_l(listz.getPhy_name_l()==null?"":listz.getPhy_name_l().toString());
  5284. qjr.setPhy_code_m(listz.getPhy_code_m()==null?"":listz.getPhy_code_m().toString());
  5285. qjr.setPhy_name_m(listz.getPhy_name_m()==null?"":listz.getPhy_name_m().toString());
  5286. qjr.setPhy_code_s(listz.getPhy_code_s()==null?"":listz.getPhy_code_s().toString());
  5287. qjr.setPhy_name_s(listz.getPhy_name_s()==null?"":listz.getPhy_name_s().toString());
  5288. qjr.setItem_code_d(listz.getItem_code_d()==null?"":listz.getItem_code_d().toString());
  5289. qjr.setItem_name_d(listz.getItem_name_d()==null?"":listz.getItem_name_d().toString());
  5290. qjr.setItem_code_s(listz.getItem_code_s()==null?"":listz.getItem_code_s().toString());
  5291. qjr.setItem_name_s(listz.getItem_name_s()==null?"":listz.getItem_name_s().toString());
  5292. qjr.setItem_code_t(listz.getItem_code_t()==null?"":listz.getItem_code_t().toString());
  5293. qjr.setItem_name_t(listz.getItem_name_t()==null?"":listz.getItem_name_t().toString());
  5294. qjr.setItem_code_l(listz.getItem_code_l()==null?"":listz.getItem_code_l().toString());
  5295. qjr.setItem_desc_l(listz.getItem_desc_l()==null?"":listz.getItem_desc_l().toString());
  5296. qjr.setVal1(listz.getVal1());
  5297. qjr.setVal2(listz.getVal2());
  5298. qjr.setVal3(listz.getVal3());
  5299. qjr.setAvg_val(listz.getAvg_val());
  5300. if(listz.getIsbz().equals("0")){
  5301. qjr.setStdmax(listz.getStdmax());
  5302. qjr.setStdmax_sign(listz.getStdmax_sign());
  5303. qjr.setStdmin(listz.getStdmin());
  5304. qjr.setStdmin_sign(listz.getStdmin_sign());
  5305. }else{
  5306. qjr.setStdmax(listz.getAddstd_max());
  5307. qjr.setStdmax_sign(listz.getAdd_std_max_sign());
  5308. qjr.setStdmin(listz.getAddstd_min());
  5309. qjr.setStdmin_sign(listz.getAddstd_min_sign());
  5310. }
  5311. qjr.setCreate_name(username);
  5312. qjr.setCreate_time(new Date());
  5313. seq1++;
  5314. mapper.insertQcmJudgeUltimateReason(qjr);
  5315. }
  5316. //插入异常锁定表
  5317. qjb.setLock_memo(memo);
  5318. mapper.insertQCMJudgeLocking(qjb);
  5319. }
  5320. }else{
  5321. for(HashMap list:list2){
  5322. List<HashMap> hashmap = mapper.doQueryMaterialInfoJ(list.get("COIL_NO").toString());
  5323. if(hashmap.size()==0){
  5324. throw new Exception("未找到库存信息");
  5325. }
  5326. int count=0;
  5327. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  5328. String date=sdf.format(new Date());
  5329. condition = " and MATERIAL_NO = '"+list.get("COIL_NO").toString()+"' order by LOCK_SEQ desc ";
  5330. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  5331. if(qjl.size() > 0){
  5332. count=qjl.get(0).getLock_seq();
  5333. }
  5334. count++;
  5335. //锁定记录号
  5336. int lock_seq=count;
  5337. qjb.setLock_id(qjsr.getPhy_id());
  5338. qjb.setMaterial_no(list.get("COIL_NO").toString());
  5339. qjb.setLock_type_code("P");
  5340. qjb.setLock_type_desc("材质判定");
  5341. qjb.setLock_seq(lock_seq);
  5342. qjb.setBoard_no(list.get("COIL_NO").toString());
  5343. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")== null?"":hashmap.get(0).get("PLINE_CODE").toString());
  5344. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString());
  5345. qjb.setLock_name(username.equals("system")?"系统自动判定":username);
  5346. qjb.setPic_locking("1");
  5347. qjb.setLock_time(new Date());
  5348. qjb.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString());
  5349. qjb.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString());
  5350. qjb.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString());
  5351. qjb.setPlan_no(hashmap.get(0).get("PLAN_NO")==null?"":hashmap.get(0).get("PLAN_NO").toString());
  5352. qjb.setHt_no(hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString());
  5353. qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString());
  5354. qjb.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString());
  5355. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  5356. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString());
  5357. qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  5358. qjb.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString());
  5359. qjb.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString());
  5360. qjb.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  5361. qjb.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  5362. qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString());
  5363. qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString());
  5364. qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString());
  5365. List<QcmJudgePhysical> qjc = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where INSPECTION_LOT = '"+list.get("INSPECTION_LOT").toString()+"' order by JUDGE_TTIME desc");
  5366. int seq1 = 1;
  5367. //插入判定原因表
  5368. String memo = "";
  5369. for(QcmJhySampleConsignDItem listz : qjscList){
  5370. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  5371. if(memo == ""){
  5372. memo = listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val();
  5373. }else{
  5374. memo += ","+listz.getPhy_name_s()+"-"+listz.getItem_name_d()+"-"+listz.getItem_name_t()+"-"+listz.getItem_name_s()+"-"+listz.getVal1()+"-"+listz.getVal2()+"-"+listz.getVal3()+"-"+listz.getAvg_val();
  5375. }
  5376. qjr.setMaterial_no(list.get("COIL_NO").toString());
  5377. qjr.setType_code("P");
  5378. qjr.setRecord_id(qjc.get(0).getPhy_id());
  5379. qjr.setSeq(seq1);
  5380. qjr.setPhy_code_l(listz.getPhy_code_l()==null?"":listz.getPhy_code_l().toString());
  5381. qjr.setPhy_name_l(listz.getPhy_name_l()==null?"":listz.getPhy_name_l().toString());
  5382. qjr.setPhy_code_m(listz.getPhy_code_m()==null?"":listz.getPhy_code_m().toString());
  5383. qjr.setPhy_name_m(listz.getPhy_name_m()==null?"":listz.getPhy_name_m().toString());
  5384. qjr.setPhy_code_s(listz.getPhy_code_s()==null?"":listz.getPhy_code_s().toString());
  5385. qjr.setPhy_name_s(listz.getPhy_name_s()==null?"":listz.getPhy_name_s().toString());
  5386. qjr.setItem_code_d(listz.getItem_code_d()==null?"":listz.getItem_code_d().toString());
  5387. qjr.setItem_name_d(listz.getItem_name_d()==null?"":listz.getItem_name_d().toString());
  5388. qjr.setItem_code_s(listz.getItem_code_s()==null?"":listz.getItem_code_s().toString());
  5389. qjr.setItem_name_s(listz.getItem_name_s()==null?"":listz.getItem_name_s().toString());
  5390. qjr.setItem_code_t(listz.getItem_code_t()==null?"":listz.getItem_code_t().toString());
  5391. qjr.setItem_name_t(listz.getItem_name_t()==null?"":listz.getItem_name_t().toString());
  5392. qjr.setItem_code_l(listz.getItem_code_l()==null?"":listz.getItem_code_l().toString());
  5393. qjr.setItem_desc_l(listz.getItem_desc_l()==null?"":listz.getItem_desc_l().toString());
  5394. qjr.setVal1(listz.getVal1());
  5395. qjr.setVal2(listz.getVal2());
  5396. qjr.setVal3(listz.getVal3());
  5397. qjr.setAvg_val(listz.getAvg_val());
  5398. if(listz.getIsbz().equals("0")){
  5399. qjr.setStdmax(listz.getStdmax());
  5400. qjr.setStdmax_sign(listz.getStdmax_sign());
  5401. qjr.setStdmin(listz.getStdmin());
  5402. qjr.setStdmin_sign(listz.getStdmin_sign());
  5403. }else{
  5404. qjr.setStdmax(listz.getAddstd_max());
  5405. qjr.setStdmax_sign(listz.getAdd_std_max_sign());
  5406. qjr.setStdmin(listz.getAddstd_min());
  5407. qjr.setStdmin_sign(listz.getAddstd_min_sign());
  5408. }
  5409. qjr.setCreate_name(username);
  5410. qjr.setCreate_time(new Date());
  5411. seq1++;
  5412. mapper.insertQcmJudgeUltimateReason(qjr);
  5413. }
  5414. //插入异常锁定表
  5415. qjb.setLock_memo(memo);
  5416. mapper.insertQCMJudgeLocking(qjb);
  5417. }
  5418. }
  5419. }
  5420. //异常材处置
  5421. //MaterialAbnormalTreatment(qjscList,qcmJhySampleROrd.getInspection_lot(),username,qjsr.getPhy_id());
  5422. }
  5423. //判断试样号是否都已经判定完
  5424. List<QcmJhySampleROrd> listor = mapper.findInfo(qcmJhySampleROrd.getDesign_key(), "B",qcmJhySampleROrd.getInspection_lot());
  5425. List<String> lstr=new ArrayList<String>();
  5426. for (QcmJhySampleROrd l : listor) {
  5427. if (!SqlJoint.IsNullOrSpace(l.getJudge_result_desc())) {
  5428. lstr.add(l.getJudge_result_desc());
  5429. }
  5430. /*else if ("0".equals(l.getJudge_result_desc()) || "2".equals(l.getJudge_result_desc())) {
  5431. lstr.add("待判");
  5432. }*/
  5433. else {
  5434. lstr.add("null");
  5435. }
  5436. }
  5437. QcmJudgePhysicalUtmM qpu=new QcmJudgePhysicalUtmM();
  5438. QcmJudgePhysicalUtmD qpd=new QcmJudgePhysicalUtmD();
  5439. if (!lstr.contains("待判")) {
  5440. if (!lstr.contains("null")) {
  5441. if (lstr.contains("不合格")) {
  5442. qpu.setPic_result_desc("不合格");
  5443. qpu.setPic_result_code("2");
  5444. }else if(lstr.contains("判次")){
  5445. qpu.setPic_result_desc("判次");
  5446. qpu.setPic_result_code("3");
  5447. }else if(lstr.contains("判废")){
  5448. qpu.setPic_result_desc("判废");
  5449. qpu.setPic_result_code("4");
  5450. }else{
  5451. qpu.setPic_result_desc("合格");
  5452. qpu.setPic_result_code("1");
  5453. }
  5454. //把对应的数据加入qcm_judge_Physical_Utm_M表中
  5455. int a=0;
  5456. for (QcmJhySampleROrd q : listor) {
  5457. //获取当日最大编号
  5458. if (a==0) {
  5459. int count=0;
  5460. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  5461. String date=sdf.format(new Date());
  5462. // 获取材质结果集编号最大值
  5463. List<QcmJudgePhysicalUtmM> qrlist=mapper.queryQcmJudgePhysicalUtmM("select * from QCM_JUDGE_PHYSICAL_UTM_M where PIC_ID like 'PIC%"+date+"%' order by PIC_ID DESC");
  5464. if(qrlist!=null&&qrlist.size()>0){
  5465. String s=qrlist.get(0).getPic_id();
  5466. count=Integer.parseInt(s.substring(s.length()-4, s.length()));
  5467. }
  5468. count++;
  5469. pic_id="PIC"+sdf.format(new Date())+String.format("%04d",count);
  5470. qpu.setPic_id(pic_id);
  5471. qpu.setInspection_lot(q.getInspection_lot());
  5472. qpu.setDesign_key(q.getDesign_key());
  5473. mapper.insertQcmJudgePhysicalUtmM(qpu);
  5474. a++;
  5475. }
  5476. qpd.setPic_id(pic_id);
  5477. qpd.setPsc_desc(q.getPsc_desc());
  5478. qpd.setSteel_code(q.getSteel_code());
  5479. qpd.setSteel_name(q.getSteel_name());
  5480. qpd.setStd_code(q.getStd_code());
  5481. qpd.setStd_name(q.getStd_name());
  5482. qpd.setProd_code(q.getProd_code());
  5483. qpd.setProd_name(q.getProd_name());
  5484. qpd.setSmp_no(q.getSmp_no());
  5485. qpd.setHeat_no(q.getHeat_no());
  5486. qpd.setBatch_no(q.getBatch_no());
  5487. qpd.setInspection_lot(q.getInspection_lot());
  5488. qpd.setDesign_key(q.getDesign_key());
  5489. qpd.setPsc(q.getPsc());
  5490. qpd.setCert_inst_code(q.getCert_inst_code());
  5491. qpd.setCert_inst_name(q.getCert_inst_name());
  5492. qpd.setSmp_type_code(q.getSmp_type_code());
  5493. qpd.setSmp_type_name(q.getSmp_type_name());
  5494. qpd.setJudge_result_code(q.getJudge_result_code());
  5495. qpd.setJudge_result_desc(q.getJudge_result_desc());
  5496. qpd.setPhy_id(q.getPhy_id());
  5497. qpd.setJudge_ttime(new Date());
  5498. qpd.setJudge_name("system");
  5499. //pme.setPhysresult_id(pic_id);
  5500. mapper.insertQcmJudgePhysicalUtmD(qpd);
  5501. if(list1.size() >0 || list2.size() >0){
  5502. if(list1.size()>0){
  5503. // 更新库存表材质判定结果
  5504. ZjResultAll zra = new ZjResultAll();
  5505. zra.setBilletid_jy(qcmJhySampleROrd.getInspection_lot());
  5506. zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0");
  5507. zra.setPhysid(pic_id);
  5508. zra.setPhysresult(qpu.getPic_result_code());
  5509. zra.setPhysresult_desc(qpu.getPic_result_desc());
  5510. mapper.UpdateJugeResultB(zra);
  5511. }else{
  5512. // 更新库存表材质判定结果
  5513. QcmJudgeCoilResult zra = new QcmJudgeCoilResult();
  5514. zra.setInspection_lot(qcmJhySampleROrd.getInspection_lot());
  5515. zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0");
  5516. zra.setPhysid(pic_id);
  5517. zra.setPhysresult(qpu.getPic_result_code());
  5518. zra.setPhysresult_desc(qpu.getPic_result_desc());
  5519. mapper.UpdateJugeResultJ(zra);
  5520. }
  5521. }else{
  5522. throw new Exception("未找到该检验号下的库存信息!");
  5523. }
  5524. }
  5525. }
  5526. }
  5527. QcmJudgeLog qjl = new QcmJudgeLog();
  5528. qjl.setJudge_type("R");
  5529. qjl.setMaterial_no(qcmJhySampleROrd.getInspection_lot());
  5530. qjl.setCreate_name("system");
  5531. qjl.setMaterial_type("1");
  5532. qjl.setProd_line(listOrd.get(0).getPline_code());
  5533. mapper.insertQcmJudgeLog(qjl);
  5534. /*inspection_lot = qcmJhySampleROrd.getInspection_lot();
  5535. status = qpu.getPic_result_code();*/
  5536. }
  5537. SqlSession.commit();
  5538. }catch(Exception e){
  5539. cro.setV_errCode(-1);
  5540. cro.setV_errMsg(e.getMessage());
  5541. SqlSession.rollback();
  5542. }
  5543. SqlSession.close();
  5544. /*final String inspection_lot1 = inspection_lot;
  5545. Thread t2 = new Thread(){
  5546. @Override
  5547. public void run(){
  5548. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  5549. try {
  5550. qjpc.ultimateJudgeAutoBySystemB(inspection_lot1, "system" );
  5551. } catch (Exception e) {
  5552. // TODO Auto-generated catch block
  5553. e.printStackTrace();
  5554. }
  5555. }
  5556. };
  5557. t2.start();*/
  5558. return cro;
  5559. }
  5560. @SuppressWarnings("unchecked")
  5561. public CoreReturnObject PhyFstJudge(String smp_no,ArrayList<List>specimen_no,String username) throws Exception{
  5562. String staus="";
  5563. String inspection_lot = "";
  5564. try{
  5565. //获取未判定的数据
  5566. String condition=" Judge_status='0' ";
  5567. QcmJhySampleROrd qjsr=new QcmJhySampleROrd();
  5568. List<QcmJhySampleROrd> listqjsr=new ArrayList<QcmJhySampleROrd>();
  5569. String status="";
  5570. List<String> lists=new ArrayList<String>();//异常材料处理用,用于不合格项目的备注
  5571. List<QcmJhySampleROrd> list=mapper.GetSamplePhyInfo1(condition,smp_no);
  5572. if(list.size() == 0){
  5573. throw new Exception("该产品已判或者未处于待判状态");
  5574. }
  5575. List<QcmJhySampleROrd> listOrd=new ArrayList<QcmJhySampleROrd>();
  5576. List<QcmJhySampleConsignDItem> qjscList = new ArrayList<QcmJhySampleConsignDItem>(); // 存放不合格的项目,用于自动复样
  5577. List<String> w=new ArrayList<String>();
  5578. for (QcmJhySampleROrd o : list) {
  5579. boolean flag=true;//判定试样号向下的取样编号是否都是已完成状态;
  5580. List<QcmJhySampleConsignD> listd = mapper.findQcmJhySampleConsignD2(o.getSmp_no());
  5581. for (QcmJhySampleConsignD d : listd) {
  5582. if (!d.getStatus().equals("3")) {
  5583. flag=false;
  5584. throw new Exception("该试样号向下的取样编号存在未完成的!");
  5585. }
  5586. }
  5587. if (flag) {
  5588. listOrd.add(o);
  5589. }
  5590. }
  5591. String pic_id="";
  5592. QcmJhySampleConsignD _consignD=new QcmJhySampleConsignD();
  5593. for (QcmJhySampleROrd qcmJhySampleROrd : listOrd) {
  5594. _consignD.setSmp_no(qcmJhySampleROrd.getSmp_no());
  5595. _consignD.setInspection_lot(qcmJhySampleROrd.getInspection_lot());
  5596. _consignD.setHeat_no(qcmJhySampleROrd.getHeat_no());
  5597. //获取取样编号
  5598. List<QcmJhySampleConsignD> listConsignD=mapper.findQcmJhySampleConsignD(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getInspection_lot(), qcmJhySampleROrd.getHeat_no());
  5599. //上面listConsignD 只会查出一条数据,如果有多条数据需要跟设计确认是如何进行关联的
  5600. List<QcmJhyPhyresult> listResult=new ArrayList<QcmJhyPhyresult>();
  5601. //获取检验信息
  5602. for (QcmJhySampleConsignD d : listConsignD) {
  5603. QcmJhyPhyresult _result=new QcmJhyPhyresult();
  5604. List<QcmJhyPhyresult> listqjp=mapper.findphyresult(d.getSpecimen_no());
  5605. if (listqjp.size()<1) {
  5606. continue;
  5607. }
  5608. for (QcmJhyPhyresult q : listqjp) {
  5609. String s = (q.getSpecimen_no()==null?"":q.getSpecimen_no()) + (q.getPhy_code_l()==null?"":q.getPhy_code_l()) + (q.getPhy_code_m()==null?"":q.getPhy_code_m()) + (q.getPhy_code_s()==null?"":q.getPhy_code_s()) + (q.getItem_code_d()==null?"":q.getItem_code_d())
  5610. + (q.getItem_code_s()==null?"":q.getItem_code_s()) + (q.getItem_code_t()==null?"":q.getItem_code_t());
  5611. if(!specimen_no.contains(s)){
  5612. continue;
  5613. }
  5614. listResult.add(q);
  5615. }
  5616. List<QcmJhySampleConsignDItem> listi=mapper.findQcmJhySampleConsignDItem(d.getSpecimen_no());
  5617. if(listi.size()<=0){
  5618. throw new Exception("未找到数据!");
  5619. }
  5620. }
  5621. //获取标准和实测值(调用zj书写的接口)
  5622. CoreReturnObject r =querryJudgetItemInfo(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getDesign_key(),qcmJhySampleROrd.getSteel_name(),qcmJhySampleROrd.getPline_code());
  5623. List<QcmJhySampleConsignDItem> listd=(List<QcmJhySampleConsignDItem>) r.getResult();
  5624. List<QcmOrdDesignStdPic> listp = mapper.queryQCMOrdDesignStdPic("SELECT distinct a.phy_code_l,a.phy_code_m,a.phy_code_s,a.item_code_d,a.item_code_t,a.item_desc_s,a.item_code_l FROM qcm_ord_design_std_pic a WHERE DESIGN_KEY = '"+qcmJhySampleROrd.getDesign_key()+"'");
  5625. boolean pass=true;//是否合格
  5626. boolean judge = true;
  5627. boolean pass1 = true;
  5628. /*if(listResult.size() < listp.size()){
  5629. throw new Exception("所选检验项目不全!");
  5630. }*/
  5631. for (QcmJhySampleConsignDItem sod : listd) {
  5632. List<QcmJhyPhyresult> listqjp=mapper.findphyresult(sod.getSpecimen_no());
  5633. for (QcmJhyPhyresult q : listqjp) {
  5634. String s = (q.getSpecimen_no()==null?"":q.getSpecimen_no()) + (q.getPhy_code_l()==null?"":q.getPhy_code_l()) + (q.getPhy_code_m()==null?"":q.getPhy_code_m()) + (q.getPhy_code_s()==null?"":q.getPhy_code_s()) + (q.getItem_code_d()==null?"":q.getItem_code_d())
  5635. + (q.getItem_code_s()==null?"":q.getItem_code_s()) + (q.getItem_code_t()==null?"":q.getItem_code_t());
  5636. if(!specimen_no.contains(s)){
  5637. pass1 = false;
  5638. }
  5639. }
  5640. if(!pass1){
  5641. continue;
  5642. }
  5643. if(SqlJoint.IsNullOrSpace(sod.getVal1()) && SqlJoint.IsNullOrSpace(sod.getVal2()) && SqlJoint.IsNullOrSpace(sod.getVal3()) && SqlJoint.IsNullOrSpace(sod.getAvg_val()) && sod.getIsjudge().equals("1")){
  5644. throw new Exception("获取实绩为空!");
  5645. }
  5646. String bool0="";
  5647. String bool1="";
  5648. String bool2="";
  5649. String bool3="";
  5650. String bool4="";
  5651. String bool5="";
  5652. //附加标准比较
  5653. // if(pass){
  5654. //最小值判定
  5655. if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("A")&&"1".equals(sod.getIsjudge())) {
  5656. String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis());
  5657. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null);
  5658. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5659. lists.add(sod.getPhy_name_l()+":"+min);
  5660. sod.setStdmin(sod.getJf_stdmin());
  5661. sod.setStdmin_sign(sod.getJf_stdmin_sign());
  5662. }
  5663. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null);
  5664. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5665. lists.add(sod.getPhy_name_l()+":"+min);
  5666. sod.setStdmax(sod.getJf_stdmax());
  5667. sod.setStdmax_sign(sod.getJf_stdmax_sign());
  5668. }
  5669. bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null);
  5670. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5671. lists.add(sod.getPhy_name_l()+":"+min);
  5672. sod.setStdmin(sod.getKh_stdmin());
  5673. sod.setStdmin_sign(sod.getKh_stdmin_sign());
  5674. }
  5675. bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null);
  5676. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5677. lists.add(sod.getPhy_name_l()+":"+min);
  5678. sod.setStdmax(sod.getKh_stdmax());
  5679. sod.setStdmax_sign(sod.getKh_stdmax_sign());
  5680. }
  5681. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null);
  5682. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5683. lists.add(sod.getPhy_name_l()+":"+min);
  5684. sod.setStdmin(sod.getNk_stdmin());
  5685. sod.setStdmin_sign(sod.getNk_stdmin_sign());
  5686. }
  5687. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null);
  5688. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5689. lists.add(sod.getPhy_name_l()+":"+min);
  5690. sod.setStdmax(sod.getNk_stdmax());
  5691. sod.setStdmax_sign(sod.getNk_stdmax_sign());
  5692. }
  5693. if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) {
  5694. pass=false;
  5695. sod.setIsbz("0");
  5696. qjscList.add(sod);
  5697. }
  5698. }
  5699. //最大值判定
  5700. if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("B")&&"1".equals(sod.getIsjudge())) {
  5701. String min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),sod.getJudge_basis());
  5702. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null);
  5703. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5704. lists.add(sod.getPhy_name_l()+":"+min);
  5705. sod.setStdmin(sod.getJf_stdmin());
  5706. sod.setStdmin_sign(sod.getJf_stdmin_sign());
  5707. }
  5708. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null);
  5709. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5710. lists.add(sod.getPhy_name_l()+":"+min);
  5711. sod.setStdmax(sod.getJf_stdmax());
  5712. sod.setStdmax_sign(sod.getJf_stdmax_sign());
  5713. }
  5714. bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null);
  5715. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5716. lists.add(sod.getPhy_name_l()+":"+min);
  5717. sod.setStdmin(sod.getKh_stdmin());
  5718. sod.setStdmin_sign(sod.getKh_stdmin_sign());
  5719. }
  5720. bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null);
  5721. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5722. lists.add(sod.getPhy_name_l()+":"+min);
  5723. sod.setStdmax(sod.getKh_stdmax());
  5724. sod.setStdmax_sign(sod.getKh_stdmax_sign());
  5725. }
  5726. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null);
  5727. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5728. lists.add(sod.getPhy_name_l()+":"+min);
  5729. sod.setStdmin(sod.getNk_stdmin());
  5730. sod.setStdmin_sign(sod.getNk_stdmin_sign());
  5731. }
  5732. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null);
  5733. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5734. lists.add(sod.getPhy_name_l()+":"+min);
  5735. sod.setStdmax(sod.getNk_stdmax());
  5736. sod.setStdmax_sign(sod.getNk_stdmax_sign());
  5737. }
  5738. if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) {
  5739. pass=false;
  5740. sod.setIsbz("0");
  5741. qjscList.add(sod);
  5742. }
  5743. }
  5744. //平均值判定
  5745. if (!SqlJoint.IsNullOrSpace(sod.getJudge_basis())&&sod.getJudge_basis().equalsIgnoreCase("C")&&"1".equals(sod.getIsjudge())) {
  5746. String min="";
  5747. if (!SqlJoint.IsNullOrSpace(sod.getAvg_val())) {
  5748. min=sod.getVal1();
  5749. }else {
  5750. min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis());
  5751. }
  5752. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),min,null,null,null,null,null,null,null,null);
  5753. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5754. lists.add(sod.getPhy_name_l()+":"+min);
  5755. sod.setStdmin(sod.getJf_stdmax());
  5756. sod.setStdmin_sign(sod.getJf_stdmax_sign());
  5757. }
  5758. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),min,null,null,null,null,null,null,null,null);
  5759. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5760. lists.add(sod.getPhy_name_l()+":"+min);
  5761. sod.setStdmax(sod.getJf_stdmax());
  5762. sod.setStdmax_sign(sod.getJf_stdmax_sign());
  5763. }
  5764. bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),min,null,null,null,null,null,null,null,null);
  5765. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5766. lists.add(sod.getPhy_name_l()+":"+min);
  5767. sod.setStdmin(sod.getKh_stdmax());
  5768. sod.setStdmin_sign(sod.getKh_stdmax_sign());
  5769. }
  5770. bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),min,null,null,null,null,null,null,null,null);
  5771. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5772. lists.add(sod.getPhy_name_l()+":"+min);
  5773. sod.setStdmax(sod.getKh_stdmax());
  5774. sod.setStdmax_sign(sod.getKh_stdmax_sign());
  5775. }
  5776. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),min,null,null,null,null,null,null,null,null);
  5777. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5778. lists.add(sod.getPhy_name_l()+":"+min);
  5779. sod.setStdmin(sod.getNk_stdmin());
  5780. sod.setStdmin_sign(sod.getNk_stdmin_sign());
  5781. }
  5782. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),min,null,null,null,null,null,null,null,null);
  5783. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5784. lists.add(sod.getPhy_name_l()+":"+min);
  5785. sod.setStdmax(sod.getNk_stdmax());
  5786. sod.setStdmax_sign(sod.getNk_stdmax_sign());
  5787. }
  5788. if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) {
  5789. pass=false;
  5790. sod.setIsbz("0");
  5791. qjscList.add(sod);
  5792. }
  5793. }
  5794. //逐项值判定
  5795. if (SqlJoint.IsNullOrSpace(sod.getJudge_basis())||sod.getJudge_basis().equalsIgnoreCase("D")&&"1".equals(sod.getIsjudge())) {
  5796. bool0=getJudgeColor(sod.getJf_stdmin_sign(),sod.getJf_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  5797. String str=connectVal(sod.getPhy_name_l(), sod.getVal1(),sod.getVal2(),sod.getVal3());
  5798. if ("2".equals(bool0)&&!lists.contains(str)) {
  5799. lists.add(str);
  5800. sod.setStdmin(sod.getJf_stdmin());
  5801. sod.setStdmin_sign(sod.getJf_stdmin_sign());
  5802. }
  5803. bool1=getJudgeColor(sod.getJf_stdmax_sign(),sod.getJf_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  5804. if ("2".equals(bool1)&&!lists.contains(str)) {
  5805. lists.add(str);
  5806. sod.setStdmax(sod.getJf_stdmax());
  5807. sod.setStdmax_sign(sod.getJf_stdmax_sign());
  5808. }
  5809. bool2=getJudgeColor(sod.getKh_stdmin_sign(),sod.getKh_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  5810. if ("2".equals(bool2)&&!lists.contains(str)) {
  5811. lists.add(str);
  5812. sod.setStdmin(sod.getKh_stdmin());
  5813. sod.setStdmin_sign(sod.getKh_stdmin_sign());
  5814. }
  5815. bool3=getJudgeColor(sod.getKh_stdmax_sign(),sod.getKh_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  5816. if ("2".equals(bool3)&&!lists.contains(str)) {
  5817. lists.add(str);
  5818. sod.setStdmax(sod.getKh_stdmax());
  5819. sod.setStdmax_sign(sod.getKh_stdmax_sign());
  5820. }
  5821. bool4=getJudgeColor(sod.getNk_stdmin_sign(),sod.getNk_stdmin(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  5822. if ("2".equals(bool4)&&!lists.contains(str)) {
  5823. lists.add(str);
  5824. sod.setStdmin(sod.getNk_stdmin());
  5825. sod.setStdmin_sign(sod.getNk_stdmin_sign());
  5826. }
  5827. bool5=getJudgeColor(sod.getNk_stdmax_sign(),sod.getNk_stdmax(),sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9());
  5828. if ("2".equals(bool5)&&!lists.contains(str)) {
  5829. lists.add(str);
  5830. sod.setStdmax(sod.getNk_stdmax());
  5831. sod.setStdmax_sign(sod.getNk_stdmax_sign());
  5832. }
  5833. if ("2".equals(bool0)||"2".equals(bool1)||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) {
  5834. pass=false;
  5835. sod.setIsbz("0");
  5836. qjscList.add(sod);
  5837. }
  5838. }
  5839. if((pass && !SqlJoint.IsNullOrSpace(sod.getAddcondition()) && sod.getAddcondition().equals("1")) || (!pass && !SqlJoint.IsNullOrSpace(sod.getAddcondition()) && sod.getAddcondition().equals("0"))){
  5840. pass = true;
  5841. //允许一个值
  5842. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("A")&&"1".equals(sod.getIsjudge())) {
  5843. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal1(),null,null,null,null,null,null,null,null);
  5844. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) {
  5845. lists.add(sod.getPhy_name_l()+":"+sod.getVal1());
  5846. }
  5847. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal1(),null,null,null,null,null,null,null,null);
  5848. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) {
  5849. lists.add(sod.getPhy_name_l()+":"+sod.getVal1());
  5850. }
  5851. bool2=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal2(),null,null,null,null,null,null,null,null);
  5852. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) {
  5853. lists.add(sod.getPhy_name_l()+":"+sod.getVal2());
  5854. }
  5855. bool3=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal2(),null,null,null,null,null,null,null,null);
  5856. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) {
  5857. lists.add(sod.getPhy_name_l()+":"+sod.getVal2());
  5858. }
  5859. bool4=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal3(),null,null,null,null,null,null,null,null);
  5860. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) {
  5861. lists.add(sod.getPhy_name_l()+":"+sod.getVal3());
  5862. }
  5863. bool5=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal3(),null,null,null,null,null,null,null,null);
  5864. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) {
  5865. lists.add(sod.getPhy_name_l()+":"+sod.getVal3());
  5866. }
  5867. if (!(("1".equals(bool0) && "1".equals(bool1)) ||("1".equals(bool2)&&"1".equals(bool3))||("1".equals(bool4)&&"1".equals(bool5)))) {
  5868. pass=false;
  5869. sod.setIsbz("1");
  5870. qjscList.add(sod);
  5871. }
  5872. }
  5873. //最大最小差值
  5874. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("B")&&"1".equals(sod.getIsjudge())) {
  5875. String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), "D");
  5876. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null);
  5877. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5878. lists.add(sod.getPhy_name_l()+":"+min);
  5879. }
  5880. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null);
  5881. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5882. lists.add(sod.getPhy_name_l()+":"+min);
  5883. }
  5884. if ("2".equals(bool0)||"2".equals(bool1)) {
  5885. pass=false;
  5886. sod.setIsbz("1");
  5887. qjscList.add(sod);
  5888. }
  5889. }
  5890. //平均值
  5891. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("C")&&"1".equals(sod.getIsjudge())) {
  5892. String min="";
  5893. if (!SqlJoint.IsNullOrSpace(sod.getAvg_val())) {
  5894. min=sod.getVal1();
  5895. }else {
  5896. min = compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), sod.getJudge_basis());
  5897. }
  5898. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null);
  5899. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5900. lists.add(sod.getPhy_name_l()+":"+min);
  5901. }
  5902. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null);
  5903. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5904. lists.add(sod.getPhy_name_l()+":"+min);
  5905. }
  5906. if ("2".equals(bool0)||"2".equals(bool1)) {
  5907. pass=false;
  5908. sod.setIsbz("1");
  5909. qjscList.add(sod);
  5910. }
  5911. }
  5912. //最小值
  5913. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("D")&&"1".equals(sod.getIsjudge())) {
  5914. String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(), sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(),"A");
  5915. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null);
  5916. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5917. lists.add(sod.getPhy_name_l()+":"+min);
  5918. }
  5919. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null);
  5920. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5921. lists.add(sod.getPhy_name_l()+":"+min);
  5922. }
  5923. if ("2".equals(bool0)||"2".equals(bool1)) {
  5924. pass=false;
  5925. sod.setIsbz("1");
  5926. qjscList.add(sod);
  5927. }
  5928. }
  5929. //最大值
  5930. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("E")&&"1".equals(sod.getIsjudge())) {
  5931. String min =compareVal(sod.getVal1(),sod.getVal2(),sod.getVal3(),sod.getVal4(),sod.getVal5(),sod.getVal6(),sod.getVal7(),sod.getVal8(),sod.getVal9(), "B");
  5932. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),min,null,null,null,null,null,null,null,null);
  5933. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5934. lists.add(sod.getPhy_name_l()+":"+min);
  5935. }
  5936. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),min,null,null,null,null,null,null,null,null);
  5937. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+min)) {
  5938. lists.add(sod.getPhy_name_l()+":"+min);
  5939. }
  5940. if ("2".equals(bool0)||"2".equals(bool1)) {
  5941. pass=false;
  5942. sod.setIsbz("1");
  5943. qjscList.add(sod);
  5944. }
  5945. }
  5946. //所有值
  5947. if (!SqlJoint.IsNullOrSpace(sod.getAddstdcon_code())&&sod.getAddstdcon_code().equalsIgnoreCase("E")&&"1".equals(sod.getIsjudge())) {
  5948. bool0=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal1(),null,null,null,null,null,null,null,null);
  5949. if ("2".equals(bool0)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) {
  5950. lists.add(sod.getPhy_name_l()+":"+sod.getVal1());
  5951. }
  5952. bool1=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal1(),null,null,null,null,null,null,null,null);
  5953. if ("2".equals(bool1)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal1())) {
  5954. lists.add(sod.getPhy_name_l()+":"+sod.getVal1());
  5955. }
  5956. bool2=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal2(),null,null,null,null,null,null,null,null);
  5957. if ("2".equals(bool2)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) {
  5958. lists.add(sod.getPhy_name_l()+":"+sod.getVal2());
  5959. }
  5960. bool3=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal2(),null,null,null,null,null,null,null,null);
  5961. if ("2".equals(bool3)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal2())) {
  5962. lists.add(sod.getPhy_name_l()+":"+sod.getVal2());
  5963. }
  5964. bool4=getJudgeColor(sod.getAddstd_min_sign(),sod.getAddstd_min(),sod.getVal3(),null,null,null,null,null,null,null,null);
  5965. if ("2".equals(bool4)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) {
  5966. lists.add(sod.getPhy_name_l()+":"+sod.getVal3());
  5967. }
  5968. bool5=getJudgeColor(sod.getAdd_std_max_sign(),sod.getAddstd_max(),sod.getVal3(),null,null,null,null,null,null,null,null);
  5969. if ("2".equals(bool5)&&!lists.contains(sod.getPhy_name_l()+":"+sod.getVal3())) {
  5970. lists.add(sod.getPhy_name_l()+":"+sod.getVal3());
  5971. }
  5972. if ("2".equals(bool0)||"2".equals(bool1) ||"2".equals(bool2)||"2".equals(bool3)||"2".equals(bool4)||"2".equals(bool5)) {
  5973. pass=false;
  5974. sod.setIsbz("1");
  5975. qjscList.add(sod);
  5976. }
  5977. }
  5978. }
  5979. if(sod.getDefect_flag()!= null){
  5980. if(sod.getDefect_flag().equals("1")){
  5981. pass = false;
  5982. }
  5983. }
  5984. if(!pass){
  5985. judge = false;
  5986. }
  5987. }
  5988. cro.setV_errCode(1);
  5989. cro.setV_errMsg(judge?"合格":"不合格");
  5990. }
  5991. }catch(Exception e){
  5992. cro.setV_errCode(-1);
  5993. cro.setV_errMsg(e.getMessage());
  5994. SqlSession.rollback();
  5995. logger.info(new Date().toString() + " QCM.QCM03.QCM0302.QcmJhyPhyresultServiceImpl#PhyFstJudge:【" + smp_no + "," + specimen_no.toString() + "," + username + "】" + e);
  5996. }
  5997. SqlSession.close();
  5998. return cro;
  5999. }
  6000. /**
  6001. * 材质重取样
  6002. * @param sum
  6003. * @return
  6004. */
  6005. public ResultModel AgainPhySendSample(List<QcmJhySampleConsignDItem> sum,QcmJhySampleConsignD sum1){
  6006. ResultModel rm=new ResultModel();
  6007. List<QcmJhySampleConsignDItem> listDItem = new ArrayList<QcmJhySampleConsignDItem>();
  6008. //去除重复的检验项
  6009. for(QcmJhySampleConsignDItem qjsc : sum){
  6010. Boolean flag = false; //检验项是否已存在
  6011. for(QcmJhySampleConsignDItem q : listDItem){
  6012. if(q.getPhy_code_s().equals(qjsc.getPhy_code_s())){
  6013. flag = true;
  6014. break;
  6015. }
  6016. }
  6017. if(!flag){
  6018. listDItem.add(qjsc);
  6019. }
  6020. }
  6021. QcmJhySampleConsignD consignD=sum1;
  6022. try {
  6023. //在QCM_JHY_SAMPLE_CONSIGN_D表根据试样号新增一条跟最大取样类似的数据
  6024. List<QcmJhySampleConsignD> listConsignD=mapper.findQcmJhySampleConsignD(sum1.getSmp_no(), sum1.getInspection_lot(), sum1.getHeat_no());
  6025. SqlJoint.CopyEntity(listConsignD.get(0), consignD);
  6026. consignD.setConsign_no(null);
  6027. consignD.setConsign_no_seq(null);
  6028. consignD.setSmp_type_code("409802");
  6029. consignD.setSmp_type_name("复样");
  6030. //获取最大取样编号
  6031. int count=0;
  6032. // 获取材质结果集编号最大值
  6033. List<QcmJhySampleConsignD> qrlist=mapper.findQcmJhySampleConsignD2(consignD.getSmp_no());
  6034. if(qrlist!=null&&qrlist.size()>0){
  6035. String s=qrlist.get(0).getSpecimen_no();
  6036. count=Integer.parseInt(s.substring(s.length()-2, s.length()));
  6037. }
  6038. count++;
  6039. String specimen_no=consignD.getSmp_no()+String.format("%02d",count);
  6040. consignD.setSpecimen_no(specimen_no);
  6041. consignD.setOld_consign_no(listConsignD.get(0).getSpecimen_no());
  6042. consignD.setStatus("0");
  6043. consignD.setValidflag("1");
  6044. consignD.setTest_qty((long)2);
  6045. mapper.insertQcmJhySampleConsignD(consignD);
  6046. //根据最大取样编号新增项目
  6047. Long seq=(long) 1;//检验项目流水号
  6048. for (QcmJhySampleConsignDItem ditem : listDItem) {
  6049. /*ComBasePhyB findById = this.getMapper(ComBasePhyBMapper.class).findById(ditem.getPhy_code_l());
  6050. if (findById!=null) {
  6051. if (findById.getRe_smp_mult()!=null) {
  6052. for(int flag=1;flag<=findById.getRe_smp_mult();flag++) {*/
  6053. QcmJhySampleConsignDItem qcm=new QcmJhySampleConsignDItem();
  6054. qcm.setSpecimen_no(specimen_no);
  6055. qcm.setPhy_code_l(ditem.getPhy_code_l());
  6056. qcm.setPhy_name_l(ditem.getPhy_name_l());
  6057. qcm.setPhy_code_m(ditem.getPhy_code_m());
  6058. qcm.setPhy_name_m(ditem.getPhy_name_m());
  6059. qcm.setPhy_code_s(ditem.getPhy_code_s());
  6060. qcm.setPhy_name_s(ditem.getPhy_name_s());
  6061. qcm.setItem_code_d(ditem.getItem_code_d());
  6062. qcm.setItem_name_d(ditem.getItem_name_d());
  6063. qcm.setItem_code_s(ditem.getItem_code_s());
  6064. qcm.setItem_name_s(ditem.getItem_name_s());
  6065. qcm.setItem_code_t(ditem.getItem_code_t());
  6066. qcm.setItem_name_t(ditem.getItem_name_t());
  6067. qcm.setCreate_name("SYSTEM");
  6068. qcm.setCreate_time(new Date());
  6069. qcm.setSeq(seq);
  6070. qcm.setIs_send("1");
  6071. seq++;
  6072. mapper.insertQcmJhySampleConsignDItem(qcm);
  6073. }
  6074. /*}*/
  6075. /*}*/
  6076. /*}*/
  6077. rm.setState("200");
  6078. } catch (Exception e) {
  6079. // TODO: handle exception
  6080. rm.setState("500");
  6081. rm.setMsgInfo("重取样失败");
  6082. rm.setErrorInfo(e.getMessage());
  6083. }
  6084. return rm;
  6085. }
  6086. /**
  6087. * 新增判定记录与判定结果集
  6088. * @param listResult
  6089. * @param qcmJhySampleROrd
  6090. * @param pass
  6091. * @throws Exception
  6092. */
  6093. public QcmJhySampleROrd UpdateData(List<QcmJhySampleConsignDItem> lists,List<QcmJhyPhyresult> listResult,QcmJhySampleROrd qcmJhySampleROrd,boolean pass,String username,String steelname,String remark) throws Exception{
  6094. List<QcmPhyJudgeResult> listJudgeResult=CreatePhyresult(lists,listResult, qcmJhySampleROrd);
  6095. QcmJudgePhysical phyCal=CreatePhyJudgeRecord(listResult.get(0).getSpecimen_no(),qcmJhySampleROrd,listJudgeResult.get(0).getPhy_id(),pass,username,steelname,remark);
  6096. String phy_id="";
  6097. if (listJudgeResult!=null&&listJudgeResult.size()>0) {
  6098. for (QcmPhyJudgeResult q : listJudgeResult) {
  6099. mapper.insertQcmPhyJudgeResult(q);
  6100. }
  6101. phy_id=listJudgeResult.get(0).getPhy_id();
  6102. }
  6103. mapper.insertQcmJudgePhysical(phyCal);
  6104. //修改委托为已判定
  6105. QcmJhySampleROrd ord=new QcmJhySampleROrd();
  6106. ord.setPhy_id(phy_id);
  6107. ord.setSmp_no(qcmJhySampleROrd.getSmp_no());
  6108. ord.setPsc(qcmJhySampleROrd.getPsc());
  6109. ord.setJudge_status("1");
  6110. ord.setDesign_key(qcmJhySampleROrd.getDesign_key());
  6111. ord.setJudge_memo(phyCal.getPhy_memo());
  6112. ord.setJudge_name(phyCal.getJudge_name());
  6113. ord.setJudge_time(phyCal.getJudge_ttime());
  6114. if (pass) {
  6115. ord.setJudge_result_code(phyCal.getPhy_result_code());
  6116. ord.setJudge_result_desc(phyCal.getPhy_result_desc());
  6117. }else {
  6118. ord.setJudge_result_code("2");
  6119. ord.setJudge_result_desc("不合格");
  6120. }
  6121. mapper.update(ord);
  6122. String sql = "select * from zj_result_all@xgcx where BILLETID_JY = '"+phyCal.getInspection_lot()+"'";
  6123. List<HashMap> list1 = mapper.query(sql);
  6124. sql = "select * from QCM_JUDGE_COIL_RESULT where INSPECTION_LOT = '"+phyCal.getInspection_lot()+"'";
  6125. List<HashMap> list2 = mapper.query(sql);
  6126. sql = "select * from QCM_JUDGE_YT_COIL_RESULT where INSPECTION_LOT = '"+phyCal.getInspection_lot()+"'";
  6127. List<HashMap> list3 = mapper.query(sql);
  6128. //判断试样号是否都已经判定完
  6129. List<QcmJhySampleROrd> listor = mapper.findInfo(qcmJhySampleROrd.getDesign_key(), "B",qcmJhySampleROrd.getInspection_lot());
  6130. List<String> lstr=new ArrayList<String>();
  6131. for (QcmJhySampleROrd l : listor) {
  6132. if(l.getCert_inst_name().equals("检测中心"))
  6133. {
  6134. if (!SqlJoint.IsNullOrSpace(l.getJudge_result_desc())) {
  6135. if ("0".equals(l.getJudge_result_code()) || "2".equals(l.getJudge_result_code())) {
  6136. lstr.add("待判");
  6137. }else{
  6138. lstr.add(l.getJudge_result_desc());
  6139. }
  6140. }
  6141. else {
  6142. lstr.add("null");
  6143. }
  6144. }
  6145. }
  6146. //三国认证存在法国船级社,韩国船级社,挪威船级社,中国船级社、需这些合格才能材质初检合格
  6147. List<HashMap> listsg = mapper.query("select distinct a.org_name from qcm_ord_design_std_pic a where a.design_key = '"+qcmJhySampleROrd.getDesign_key()+"'");
  6148. if(listsg.size() >0 && listsg.size()==3){
  6149. for (QcmJhySampleROrd l : listor) {
  6150. if(l.getCert_inst_name().equals("韩国船级社") || l.getCert_inst_name().equals("法国船级社") || l.getCert_inst_name().equals("挪威船级社") || l.getCert_inst_name().equals("中国船级社"))
  6151. {
  6152. if (!SqlJoint.IsNullOrSpace(l.getJudge_result_desc())) {
  6153. if ("0".equals(l.getJudge_result_code()) || "2".equals(l.getJudge_result_code())) {
  6154. lstr.add("待判");
  6155. }else{
  6156. lstr.add(l.getJudge_result_desc());
  6157. }
  6158. }
  6159. else {
  6160. lstr.add("null");
  6161. }
  6162. }
  6163. }
  6164. }
  6165. //增加三国验证
  6166. if(qcmJhySampleROrd.getCert_inst_name().equals("检测中心") || (listsg.size() >0 && listsg.size()==3 && (qcmJhySampleROrd.getCert_inst_name().equals("法国船级社") || qcmJhySampleROrd.getCert_inst_name().equals("韩国船级社") || qcmJhySampleROrd.getCert_inst_name().equals("挪威船级社") || qcmJhySampleROrd.getCert_inst_name().equals("中国船级社")))){
  6167. if (!lstr.contains("待判")) {
  6168. if (!lstr.contains("null")) {
  6169. //更新库存初判结果
  6170. if(list1.size() >0 || list2.size() >0 || list3.size() >0){
  6171. List<QcmJhySampleConsignD> listv = mapper.findQcmJhySampleConsignD2(qcmJhySampleROrd.getSmp_no());
  6172. if(list1.size()>0){
  6173. ZjResultAll zra = new ZjResultAll();
  6174. zra.setBilletid_jy(phyCal.getInspection_lot());
  6175. if(listv.get(0).getRz_old_sampl_no() != null && listv.get(0).getRz_mixroll() != null && !listv.get(0).getSpecimen_no().equals(listv.get(0).getRz_old_sampl_no()) && listv.get(0).getSmp_type_code().equals("0") && listv.get(0).getRz_roll_slab_seq() == null){
  6176. zra.setPic_is_lock("0");
  6177. }else{
  6178. zra.setPic_is_lock(pass?"0":"1");
  6179. }
  6180. zra.setPhyfstsid(phyCal.getPhy_id());
  6181. zra.setPhyfstsresult(pass?"1":"2");
  6182. zra.setPhyfstsresult_desc(pass?"合格":"不合格");
  6183. mapper.UpdateJugeResultB(zra);
  6184. }else if(list2.size()>0){
  6185. QcmJudgeCoilResult zra = new QcmJudgeCoilResult();
  6186. zra.setInspection_lot(phyCal.getInspection_lot());
  6187. zra.setPic_is_lock(pass?"0":"1");
  6188. /*if(SqlJoint.IsNullOrSpace(qcmJhySampleROrd.getDuplicate_sample()))
  6189. {
  6190. zra.setPic_is_lock(pass?"0":"1");
  6191. }else
  6192. {
  6193. zra.setPic_is_lock("0");
  6194. }*/
  6195. zra.setPhyfstsid(phyCal.getPhy_id());
  6196. zra.setPhyfstsresult(pass?"1":"2");
  6197. zra.setPhyfstsresult_desc(pass?"合格":"不合格");
  6198. mapper.UpdateJugeResultJ(zra);
  6199. }else{
  6200. QcmJudgeYtCoilResult zra = new QcmJudgeYtCoilResult();
  6201. zra.setInspection_lot(phyCal.getInspection_lot());
  6202. zra.setPic_is_lock(pass?"0":"1");
  6203. zra.setPhyfstsid(phyCal.getPhy_id());
  6204. zra.setPhyfstsresult(pass?"1":"2");
  6205. zra.setPhyfstsresult_desc(pass?"合格":"不合格");
  6206. mapper.UpdateJugeResultY(zra);
  6207. }
  6208. }else{
  6209. /*if(phyCal.getInspection_lot().startsWith("Z") ||phyCal.getInspection_lot().startsWith("H")){
  6210. ZHB1_QCM_JHY_SAMPLE_PHYSRESULT(qcmJhySampleROrd.getSmp_no(),qcmJhySampleROrd.getBatch_no());
  6211. }*/
  6212. throw new Exception("未找到该检验号下的库存信息!");
  6213. }
  6214. }
  6215. }
  6216. }
  6217. return ord;
  6218. }
  6219. /**
  6220. * 为前端获取对比结果好标颜色
  6221. * 0 为null
  6222. * 1 为合格
  6223. * 2为不合格
  6224. * @param sign 符号
  6225. * @param qsd 标准值
  6226. * @param val1 实测值
  6227. * @param val2
  6228. * @param val3
  6229. * @return
  6230. */
  6231. public String getJudgeColor1(String sign,String qsd,String val1,String val2,String val3){
  6232. boolean min1=true;
  6233. boolean min3=true;
  6234. boolean min2=true;
  6235. boolean v1=true;
  6236. boolean v2=true;
  6237. boolean v3=true;
  6238. boolean q=true;
  6239. if (SqlJoint.IsNullOrSpace(qsd)) {
  6240. return "0";
  6241. }
  6242. if (!SqlJoint.IsNullOrSpace(qsd)) {
  6243. q=isNumeric(qsd);
  6244. }
  6245. if (!SqlJoint.IsNullOrSpace(val1)) {
  6246. v1=isNumeric(val1);
  6247. }
  6248. if (!SqlJoint.IsNullOrSpace(val2)) {
  6249. v2=isNumeric(val2);
  6250. }
  6251. if (!SqlJoint.IsNullOrSpace(val3)) {
  6252. v3=isNumeric(val3);
  6253. }
  6254. if (!q) {
  6255. if (!SqlJoint.IsNullOrSpace(val1)) {
  6256. min1=qsd.equals(val1);
  6257. }
  6258. if (!SqlJoint.IsNullOrSpace(val2)) {
  6259. min2=qsd.equals(val2);
  6260. }
  6261. if (!SqlJoint.IsNullOrSpace(val3)) {
  6262. min3=qsd.equals(val3);
  6263. }
  6264. if (SqlJoint.IsNullOrSpace(val1)&&SqlJoint.IsNullOrSpace(val2)&&SqlJoint.IsNullOrSpace(val3)) {
  6265. return "0";
  6266. }
  6267. if (min1&&min2&&min3) {
  6268. return "1";
  6269. }else {
  6270. return "2";
  6271. }
  6272. }
  6273. ////111111111111111
  6274. if (!v1) {
  6275. if (v2) {
  6276. if (v3) {
  6277. min1=qsd.equals(val1);
  6278. min2=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val2);
  6279. min3=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val3);
  6280. }else {
  6281. min1=qsd.equals(val1);
  6282. min2=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val2);
  6283. min3=qsd.equals(val3);
  6284. }
  6285. }else {
  6286. if (v3) {
  6287. min1=qsd.equals(val1);
  6288. min2=qsd.equals(val2);
  6289. min3=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val3);
  6290. }else {
  6291. min1=qsd.equals(val1);
  6292. min2=qsd.equals(val2);
  6293. min3=qsd.equals(val3);
  6294. }
  6295. }
  6296. if (min1&&min2&&min3) {
  6297. return "1";
  6298. }else {
  6299. return "2";
  6300. }
  6301. }
  6302. //2222222222222222222222222
  6303. if (!v2) {
  6304. if (v1) {
  6305. if (v3) {
  6306. min2=qsd.equals(val2);
  6307. min1=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val1);
  6308. min3=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val3);
  6309. }else {
  6310. min2=qsd.equals(val2);
  6311. min1=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val1);
  6312. min3=qsd.equals(val3);
  6313. }
  6314. }else {
  6315. if (v3) {
  6316. min1=qsd.equals(val1);
  6317. min2=qsd.equals(val2);
  6318. min3=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val3);
  6319. }else {
  6320. min1=qsd.equals(val1);
  6321. min2=qsd.equals(val2);
  6322. min3=qsd.equals(val3);
  6323. }
  6324. }
  6325. if (min1&&min2&&min3) {
  6326. return "1";
  6327. }else {
  6328. return "2";
  6329. }
  6330. }
  6331. //3333333333333333333333333
  6332. if (!v3) {
  6333. if (v1) {
  6334. if (v2) {
  6335. min3=qsd.equals(val3);
  6336. min1=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val1);
  6337. min2=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val2);
  6338. }else {
  6339. min2=qsd.equals(val2);
  6340. min1=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val1);
  6341. min3=qsd.equals(val3);
  6342. }
  6343. }else {
  6344. if (v2) {
  6345. min1=qsd.equals(val1);
  6346. min3=qsd.equals(val3);
  6347. min2=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val2);
  6348. }else {
  6349. min1=qsd.equals(val1);
  6350. min2=qsd.equals(val2);
  6351. min3=qsd.equals(val3);
  6352. }
  6353. }
  6354. if (min1&&min2&&min3) {
  6355. return "1";
  6356. }else {
  6357. return "2";
  6358. }
  6359. }
  6360. if (qsd!=null) {
  6361. min1=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val1);
  6362. min2=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val2);
  6363. min3=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val3);
  6364. if (min1&&min2&&min3) {
  6365. return "1";
  6366. }else {
  6367. return "2";
  6368. }
  6369. }else {
  6370. return "0";
  6371. }
  6372. }
  6373. /**
  6374. * 为前端获取对比结果好标颜色
  6375. * 0 为null
  6376. * 1 为合格
  6377. * 2为不合格
  6378. * @param sign 符号
  6379. * @param qsd 标准值
  6380. * @param val1 实测值
  6381. * @param val2
  6382. * @param val3
  6383. * @return
  6384. */
  6385. public String getJudgeColor(String sign,String qsd,String val1,String val2,String val3,String val4,String val5,String val6,String val7,String val8,String val9){
  6386. boolean min1=true;
  6387. boolean min3=true;
  6388. boolean min2=true;
  6389. boolean min4=true;
  6390. boolean min5=true;
  6391. boolean min6=true;
  6392. boolean min7=true;
  6393. boolean min8=true;
  6394. boolean min9=true;
  6395. boolean v1=true;
  6396. boolean v2=true;
  6397. boolean v3=true;
  6398. boolean v4=true;
  6399. boolean v5=true;
  6400. boolean v6=true;
  6401. boolean v7=true;
  6402. boolean v8=true;
  6403. boolean v9=true;
  6404. boolean q=true;
  6405. if (SqlJoint.IsNullOrSpace(qsd)) {
  6406. return "0";
  6407. }
  6408. if (!SqlJoint.IsNullOrSpace(qsd)) {
  6409. q=isNumeric(qsd);
  6410. }
  6411. if (!SqlJoint.IsNullOrSpace(val1)) {
  6412. v1=isNumeric(val1);
  6413. }
  6414. if (!SqlJoint.IsNullOrSpace(val2)) {
  6415. v2=isNumeric(val2);
  6416. }
  6417. if (!SqlJoint.IsNullOrSpace(val3)) {
  6418. v3=isNumeric(val3);
  6419. }
  6420. if (!SqlJoint.IsNullOrSpace(val4)) {
  6421. v4=isNumeric(val4);
  6422. }
  6423. if (!SqlJoint.IsNullOrSpace(val5)) {
  6424. v5=isNumeric(val5);
  6425. }
  6426. if (!SqlJoint.IsNullOrSpace(val6)) {
  6427. v6=isNumeric(val6);
  6428. }
  6429. if (!SqlJoint.IsNullOrSpace(val7)) {
  6430. v7=isNumeric(val7);
  6431. }
  6432. if (!SqlJoint.IsNullOrSpace(val8)) {
  6433. v8=isNumeric(val8);
  6434. }
  6435. if (!SqlJoint.IsNullOrSpace(val9)) {
  6436. v9=isNumeric(val9);
  6437. }
  6438. if (!q) {
  6439. if (!SqlJoint.IsNullOrSpace(val1)) {
  6440. min1=qsd.equals(val1);
  6441. }
  6442. if (!SqlJoint.IsNullOrSpace(val2)) {
  6443. min2=qsd.equals(val2);
  6444. }
  6445. if (!SqlJoint.IsNullOrSpace(val3)) {
  6446. min3=qsd.equals(val3);
  6447. }
  6448. if (!SqlJoint.IsNullOrSpace(val4)) {
  6449. min4=qsd.equals(val4);
  6450. }
  6451. if (!SqlJoint.IsNullOrSpace(val5)) {
  6452. min5=qsd.equals(val5);
  6453. }
  6454. if (!SqlJoint.IsNullOrSpace(val6)) {
  6455. min6=qsd.equals(val6);
  6456. }
  6457. if (!SqlJoint.IsNullOrSpace(val7)) {
  6458. min7=qsd.equals(val7);
  6459. }
  6460. if (!SqlJoint.IsNullOrSpace(val8)) {
  6461. min8=qsd.equals(val8);
  6462. }
  6463. if (!SqlJoint.IsNullOrSpace(val9)) {
  6464. min9=qsd.equals(val9);
  6465. }
  6466. if (SqlJoint.IsNullOrSpace(val1)&&SqlJoint.IsNullOrSpace(val2)&&SqlJoint.IsNullOrSpace(val3)&&SqlJoint.IsNullOrSpace(val4)&&SqlJoint.IsNullOrSpace(val5)&&SqlJoint.IsNullOrSpace(val6)&&SqlJoint.IsNullOrSpace(val7)&&SqlJoint.IsNullOrSpace(val8)&&SqlJoint.IsNullOrSpace(val9)) {
  6467. return "0";
  6468. }
  6469. if (min1&&min2&&min3&&min4&&min5&&min6&&min7&&min8&&min9) {
  6470. return "1";
  6471. }else {
  6472. return "2";
  6473. }
  6474. }
  6475. if(v1){
  6476. min1=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val1);
  6477. }else{
  6478. min1=qsd.equals(val1);
  6479. }
  6480. if(v2){
  6481. min2=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val2);
  6482. }else{
  6483. min2=qsd.equals(val2);
  6484. }
  6485. if(v3){
  6486. min3=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val3);
  6487. }else{
  6488. min3=qsd.equals(val3);
  6489. }
  6490. if(v4){
  6491. min4=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val4);
  6492. }else{
  6493. min4=qsd.equals(val4);
  6494. }
  6495. if(v5){
  6496. min5=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val5);
  6497. }else{
  6498. min5=qsd.equals(val5);
  6499. }
  6500. if(v6){
  6501. min6=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val6);
  6502. }else{
  6503. min6=qsd.equals(val6);
  6504. }
  6505. if(v7){
  6506. min7=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val7);
  6507. }else{
  6508. min7=qsd.equals(val7);
  6509. }
  6510. if(v8){
  6511. min8=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val8);
  6512. }else{
  6513. min8=qsd.equals(val8);
  6514. }
  6515. if(v9){
  6516. min9=SqlJoint.checkSignAndValue(sign, Double.parseDouble(qsd), val9);
  6517. }else{
  6518. min9=qsd.equals(val9);
  6519. }
  6520. if (min1&&min2&&min3&&min4&&min5&&min6&&min7&&min8&&min9) {
  6521. return "1";
  6522. }else {
  6523. return "2";
  6524. }
  6525. }
  6526. /**
  6527. * 判断字符串是否为数字-------蒋崇波
  6528. * @param str
  6529. * @return
  6530. */
  6531. public boolean isNumeric(String str){
  6532. Pattern pattern = Pattern.compile("-?[0-9]*.?[0-9]*");//Pattern.compile("[0-9]+([.]{1}[0-9]+){0,1}");
  6533. Matcher isNum = pattern.matcher(str);
  6534. if( !isNum.matches() ){
  6535. return false;
  6536. }
  6537. return true;
  6538. }
  6539. /**
  6540. * 拼接val值----异常材料处理用---2019.1.8
  6541. * @param jyx
  6542. * @param val1
  6543. * @param val2
  6544. * @param val3
  6545. * @return
  6546. */
  6547. public String connectVal(String jyx,String val1,String val2,String val3){
  6548. if (!SqlJoint.IsNullOrSpace(val1)) {
  6549. if (!SqlJoint.IsNullOrSpace(val2)) {
  6550. if (!SqlJoint.IsNullOrSpace(val3)) {
  6551. jyx=jyx+":"+val1+"-"+val2+"-"+val3;
  6552. }else {
  6553. jyx=jyx+":"+val1+"-"+val2;
  6554. }
  6555. }else {
  6556. if (!SqlJoint.IsNullOrSpace(val3)) {
  6557. jyx=jyx+":"+val1+"-"+val3;
  6558. }else {
  6559. jyx=jyx+":"+val1;
  6560. }
  6561. }
  6562. }
  6563. if (!SqlJoint.IsNullOrSpace(val2)) {
  6564. if (!SqlJoint.IsNullOrSpace(val1)) {
  6565. if (!SqlJoint.IsNullOrSpace(val3)) {
  6566. jyx=jyx+":"+val1+"-"+val2+"-"+val3;
  6567. }else {
  6568. jyx=jyx+":"+val1+"-"+val2;
  6569. }
  6570. }else {
  6571. if (!SqlJoint.IsNullOrSpace(val3)) {
  6572. jyx=jyx+":"+val2+"-"+val3;
  6573. }else {
  6574. jyx=jyx+":"+val2;
  6575. }
  6576. }
  6577. }
  6578. if (!SqlJoint.IsNullOrSpace(val3)) {
  6579. if (!SqlJoint.IsNullOrSpace(val1)) {
  6580. if (!SqlJoint.IsNullOrSpace(val2)) {
  6581. jyx=jyx+":"+val1+"-"+val2+"-"+val3;
  6582. }else {
  6583. jyx=jyx+":"+val1+"-"+val3;
  6584. }
  6585. }else {
  6586. if (!SqlJoint.IsNullOrSpace(val2)) {
  6587. jyx=jyx+":"+val2+"-"+val3;
  6588. }else {
  6589. jyx=jyx+":"+val3;
  6590. }
  6591. }
  6592. }
  6593. return jyx;
  6594. }
  6595. /**
  6596. * 查询判定信息的检测值
  6597. */
  6598. public CoreReturnObject querryJudgetItemss(String phy_id) {
  6599. try {
  6600. List<QcmJudgePhysical> list = mapper.queryQcmJudgePhysical("select * from QCM_JUDGE_PHYSICAL where phy_id = '"+phy_id+"'");
  6601. List<QcmJhySampleConsignD> qd = mapper.findQcmJhySampleConsignD2(list.get(0).getSmp_no());
  6602. List<QcmJhySampleROrd> qrd = mapper.queryQcmJhySampleROrd1("select * from qcm_jhy_sample_r_ord where smp_no ='"+list.get(0).getSmp_no()+"'");
  6603. List<QcmOrdDesignStdPic> itemAll = new ArrayList<QcmOrdDesignStdPic>();
  6604. List<QcmOrdDesignStdPic> pic = new ArrayList<QcmOrdDesignStdPic>();
  6605. if(list.get(0).getPline_code().equals("LT1")){
  6606. pic = mapper.findQcmOrdDesignStdPic2(list.get(0).getDesign_key(),list.get(0).getSteel_name().equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":list.get(0).getSteel_name(),"LT1");
  6607. }else if(list.get(0).getPline_code().equals("RZ1")){
  6608. pic = mapper.findQcmOrdDesignStdPic2(list.get(0).getDesign_key(),list.get(0).getSteel_name().equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":list.get(0).getSteel_name(),"RZ1");
  6609. }else
  6610. {
  6611. pic = mapper.findQcmOrdDesignStdPic(list.get(0).getDesign_key(),list.get(0).getSteel_name().equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":list.get(0).getSteel_name());
  6612. }
  6613. //List<QcmOrdDesignStdPic> pic = mapper.findQcmOrdDesignStdPic(list.get(0).getDesign_key(),list.get(0).getSteel_name().equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":list.get(0).getSteel_name());
  6614. itemAll.addAll(pic);
  6615. String oldProject = null;
  6616. String newProject = null;
  6617. String oldProject1 = null;
  6618. List<QcmJhySampleConsignDItem> targets=new ArrayList<QcmJhySampleConsignDItem>();
  6619. for (QcmJhySampleConsignD qcmJhySampleConsignD : qd) {
  6620. List<QcmJhySampleConsignDItem> items = mapper.findQcmJhySampleConsignDItem(qcmJhySampleConsignD.getSpecimen_no());
  6621. for (QcmJhySampleConsignDItem qi : items) {
  6622. String sql = "select * from qcm_judge_physical_result where phy_id = '"+phy_id+"' and specimen_no || guid in (select z.specimen_no || z.guid from qcm_jhy_insp_physics z where z.specimen_no = '"+qi.getSpecimen_no()+"' and z.seq = '"+qi.getSeq()+"')";
  6623. List<QcmJudgePhysicalResult> listz = mapper.queryQcmJudgePhysicalResult(sql);
  6624. if(listz.size() == 0 && !list.get(0).getDesign_key().startsWith("19")){
  6625. continue;
  6626. }
  6627. oldProject = qi.getPhy_code_l() + qi.getPhy_code_m() + qi.getPhy_code_s() + qi.getItem_code_d()
  6628. + qi.getItem_code_s() + qi.getItem_code_t()+qrd.get(0).getSteel_code();
  6629. oldProject1 = qi.getPhy_code_l() + qi.getPhy_code_m() + qi.getPhy_code_s() + qi.getItem_code_d()
  6630. + qi.getItem_code_s() + qi.getItem_code_t();
  6631. //获取标准
  6632. for (QcmOrdDesignStdPic si : itemAll) {
  6633. newProject = si.getPhy_code_l() + si.getPhy_code_m() + si.getPhy_code_s() + si.getItem_code_d()
  6634. + si.getItem_code_s() + si.getItem_code_t()+si.getSteel_code();
  6635. if (oldProject.equals(newProject)) {
  6636. if ("0".equals(si.getSpecl_fl())) {
  6637. qi.setJf_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign()) +(si.getStdmax()==null?"":si.getStdmax()));
  6638. qi.setJf_stdmax_sign(si.getStdmax_sign());
  6639. qi.setJf_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin()));
  6640. qi.setJf_stdmin_sign(si.getStdmin_sign());
  6641. qi.setJudge_basis(si.getJudge_basis());
  6642. if(SqlJoint.IsNullOrSpace(si.getIsjudge())){
  6643. qi.setIsjudge("1");
  6644. }else{
  6645. qi.setIsjudge(si.getIsjudge());
  6646. }
  6647. qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no());
  6648. qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no());
  6649. } else if ("1".equals(si.getSpecl_fl())) {
  6650. qi.setKh_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign())+(si.getStdmax()==null?"":si.getStdmax()));
  6651. qi.setKh_stdmax_sign(si.getStdmax_sign());
  6652. qi.setKh_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin()));
  6653. qi.setKh_stdmin_sign(si.getStdmin_sign());
  6654. qi.setJudge_basis(si.getJudge_basis());
  6655. if(SqlJoint.IsNullOrSpace(si.getIsjudge())){
  6656. qi.setIsjudge("1");
  6657. }else{
  6658. qi.setIsjudge(si.getIsjudge());
  6659. }
  6660. qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no());
  6661. qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no());
  6662. } else if ("2".equals(si.getSpecl_fl())) {
  6663. qi.setNk_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign())+(si.getStdmax()==null?"":si.getStdmax()));
  6664. qi.setNk_stdmax_sign(si.getStdmax_sign());
  6665. qi.setNk_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin()));
  6666. qi.setNk_stdmin_sign(si.getStdmin_sign());
  6667. qi.setJudge_basis(si.getJudge_basis());
  6668. if(SqlJoint.IsNullOrSpace(si.getIsjudge())){
  6669. qi.setIsjudge("1");
  6670. }else{
  6671. qi.setIsjudge(si.getIsjudge());
  6672. }
  6673. qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no());
  6674. qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no());
  6675. }
  6676. else if ("3".equals(si.getSpecl_fl())) {
  6677. qi.setFx_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign())+(si.getStdmax()==null?"":si.getStdmax()));
  6678. qi.setFx_stdmax_sign(si.getStdmax_sign());
  6679. qi.setFx_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin()));
  6680. qi.setFx_stdmin_sign(si.getStdmin_sign());
  6681. qi.setJudge_basis(si.getJudge_basis());
  6682. if(SqlJoint.IsNullOrSpace(si.getIsjudge())){
  6683. qi.setIsjudge("1");
  6684. }else{
  6685. qi.setIsjudge(si.getIsjudge());
  6686. }
  6687. qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no());
  6688. qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no());
  6689. }else if ("4".equals(si.getSpecl_fl())) {
  6690. qi.setNk_stdmax(si.getStdmax());
  6691. qi.setNk_stdmax_sign(si.getStdmax_sign());
  6692. qi.setNk_stdmin(si.getStdmin());
  6693. qi.setNk_stdmin_sign(si.getStdmin_sign());
  6694. qi.setJudge_basis(si.getJudge_basis());
  6695. if(SqlJoint.IsNullOrSpace(si.getIsjudge())){
  6696. qi.setIsjudge("1");
  6697. }else{
  6698. qi.setIsjudge(si.getIsjudge());
  6699. }
  6700. qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no());
  6701. qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no());
  6702. }
  6703. }
  6704. }
  6705. //获取实测值
  6706. List<QcmJudgePhysicalResult> qpt = mapper.findphyresults(qi.getSpecimen_no(),phy_id);
  6707. //if (SqlJoint.IsNullOrSpace(qi.getQuote_specimen_no())) {
  6708. for (QcmJudgePhysicalResult qp : qpt) {
  6709. String str = qp.getPhy_code_l() + qp.getPhy_code_m() + qp.getPhy_code_s() + qp.getItem_code_d()
  6710. + qp.getItem_code_s() + qp.getItem_code_t();
  6711. if (!SqlJoint.IsNullOrSpace(oldProject1)&&!SqlJoint.IsNullOrSpace(str)) {
  6712. if (str.equals(oldProject1)) {
  6713. if (qi.getSeq().equals(qp.getSeq())) {
  6714. qi.setVal1(qp.getVal1());
  6715. qi.setVal2(qp.getVal2());
  6716. qi.setVal3(qp.getVal3());
  6717. qi.setVal4(qp.getVal4());
  6718. qi.setVal5(qp.getVal5());
  6719. qi.setVal6(qp.getVal6());
  6720. qi.setVal7(qp.getVal7());
  6721. qi.setVal8(qp.getVal8());
  6722. qi.setVal9(qp.getVal9());
  6723. qi.setDefect_flag(qp.getDefect_flag());
  6724. qi.setAvg_val(qp.getAvg_val());
  6725. if( qi.getFy_quote_specimen_no() != null){
  6726. List<HashMap> q1 = mapper.query("select * from qcm_jhy_insp_physics z where z.specimen_no = '"+qi.getFy_quote_specimen_no()+"' and z.guid = '"+qp.getGuid()+"'");
  6727. if(q1.size() >0 && q1.get(0).get("QUOTE_SPECIMEN_NO") != null){
  6728. List<HashMap> q3 = mapper.query("select * from qcm_jhy_sample_consign_d z where z.specimen_no = '"+q1.get(0).get("QUOTE_SPECIMEN_NO")+"'");
  6729. qi.setSmp_type_name(q3.get(0).get("SMP_TYPE_NAME").toString());
  6730. if(q3.get(0).get("SMP_LOCATION").toString().contains("一次模拟焊后")){
  6731. if(q3.get(0).get("SMP_TYPE_CODE").toString().equals("1")){
  6732. qi.setSmp_type_name("一次模拟焊后(复样)");
  6733. }else{
  6734. qi.setSmp_type_name("一次模拟焊后");
  6735. }
  6736. }else if(q3.get(0).get("SMP_LOCATION").toString().contains("二次模拟焊后")){
  6737. if(q3.get(0).get("SMP_TYPE_CODE").toString().equals("1")){
  6738. qi.setSmp_type_name("二次模拟焊后(复样)");
  6739. }else{
  6740. qi.setSmp_type_name("二次模拟焊后");
  6741. }
  6742. }else if(q3.get(0).get("SMP_LOCATION").toString().contains("三次模拟焊后")){
  6743. if(q3.get(0).get("SMP_TYPE_CODE").toString().equals("1")){
  6744. qi.setSmp_type_name("三次模拟焊后(复样)");
  6745. }else{
  6746. qi.setSmp_type_name("三次模拟焊后");
  6747. }
  6748. }else if(q3.get(0).get("SMP_LOCATION").toString().contains("四次模拟焊后")){
  6749. if(q3.get(0).get("SMP_TYPE_CODE").toString().equals("1")){
  6750. qi.setSmp_type_name("四次模拟焊后(复样)");
  6751. }else{
  6752. qi.setSmp_type_name("四次模拟焊后");
  6753. }
  6754. }
  6755. qi.setMaterial_no(q3.get(0).get("MATERIAL_NO").toString());
  6756. }else{
  6757. List<HashMap> q2 = mapper.query("select * from qcm_jhy_sample_consign_d z where z.specimen_no = '"+qi.getFy_quote_specimen_no()+"'");
  6758. qi.setSmp_type_name(q2.get(0).get("SMP_TYPE_NAME").toString());
  6759. qi.setSmp_location(q2.get(0).get("SMP_LOCATION").toString());
  6760. if(q2.get(0).get("SMP_LOCATION").toString().contains("一次模拟焊后")){
  6761. if(q2.get(0).get("SMP_TYPE_CODE").toString().equals("1")){
  6762. qi.setSmp_type_name("一次模拟焊后(复样)");
  6763. }else{
  6764. qi.setSmp_type_name("一次模拟焊后");
  6765. }
  6766. }else if(q2.get(0).get("SMP_LOCATION").toString().contains("二次模拟焊后")){
  6767. if(q2.get(0).get("SMP_TYPE_CODE").toString().equals("1")){
  6768. qi.setSmp_type_name("二次模拟焊后(复样)");
  6769. }else{
  6770. qi.setSmp_type_name("二次模拟焊后");
  6771. }
  6772. }else if(q2.get(0).get("SMP_LOCATION").toString().contains("三次模拟焊后")){
  6773. if(q2.get(0).get("SMP_TYPE_CODE").toString().equals("1")){
  6774. qi.setSmp_type_name("三次模拟焊后(复样)");
  6775. }else{
  6776. qi.setSmp_type_name("三次模拟焊后");
  6777. }
  6778. }else if(q2.get(0).get("SMP_LOCATION").toString().contains("四次模拟焊后")){
  6779. if(q2.get(0).get("SMP_TYPE_CODE").toString().equals("1")){
  6780. qi.setSmp_type_name("四次模拟焊后(复样)");
  6781. }else{
  6782. qi.setSmp_type_name("四次模拟焊后");
  6783. }
  6784. }
  6785. qi.setMaterial_no(q2.get(0).get("MATERIAL_NO").toString());
  6786. }
  6787. }else{
  6788. qi.setSmp_type_code(qcmJhySampleConsignD.getSmp_type_code());
  6789. if(qcmJhySampleConsignD.getSmp_type_code().equals("0") && (!qrd.get(0).getCert_inst_code().equals("IC003") && !qrd.get(0).getCert_inst_code().equals("IC004") && !qrd.get(0).getCert_inst_code().equals("IC001") && !qrd.get(0).getCert_inst_code().equals("IC010") && !qrd.get(0).getCert_inst_code().equals("5000"))){
  6790. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  6791. qi.setSmp_type_name("认证样(复样)");
  6792. }else
  6793. {
  6794. qi.setSmp_type_name("认证样");
  6795. }
  6796. }
  6797. else{
  6798. if(qcmJhySampleConsignD.getSmp_location().contains("一次模拟焊后")){
  6799. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  6800. qi.setSmp_type_name("一次模拟焊后(复样)");
  6801. }else{
  6802. qi.setSmp_type_name("一次模拟焊后");
  6803. }
  6804. }else if(qcmJhySampleConsignD.getSmp_location().contains("二次模拟焊后")){
  6805. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  6806. qi.setSmp_type_name("二次模拟焊后(复样)");
  6807. }else{
  6808. qi.setSmp_type_name("二次模拟焊后");
  6809. }
  6810. }else if(qcmJhySampleConsignD.getSmp_location().contains("三次模拟焊后")){
  6811. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  6812. qi.setSmp_type_name("三次模拟焊后(复样)");
  6813. }else{
  6814. qi.setSmp_type_name("三次模拟焊后");
  6815. }
  6816. }else if(qcmJhySampleConsignD.getSmp_location().contains("四次模拟焊后")){
  6817. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  6818. qi.setSmp_type_name("四次模拟焊后(复样)");
  6819. }else{
  6820. qi.setSmp_type_name("四次模拟焊后");
  6821. }
  6822. }else{
  6823. qi.setSmp_type_name(qcmJhySampleConsignD.getSmp_type_name());
  6824. }
  6825. qi.setSmp_location(qcmJhySampleConsignD.getSmp_location());
  6826. }
  6827. qi.setMaterial_no(qcmJhySampleConsignD.getMaterial_no());
  6828. }
  6829. }
  6830. }
  6831. }
  6832. }
  6833. //}
  6834. if(qi.getJudge_basis() != null)
  6835. {
  6836. if(qi.getJudge_basis().equals("A")){
  6837. qi.setJudge_basis("最小值");
  6838. }else if(qi.getJudge_basis().equals("B")){
  6839. qi.setJudge_basis("最大值");
  6840. }else if(qi.getJudge_basis().equals("C")){
  6841. qi.setJudge_basis("平均值");
  6842. }else if(qi.getJudge_basis().equals("D")){
  6843. qi.setJudge_basis("逐值判定");
  6844. }
  6845. }
  6846. if(qi.getIsjudge() != null){
  6847. qi.setIsjudge(qi.getIsjudge().equals("0")?"否":"是");
  6848. }
  6849. if(qi.getDefect_flag() != null){
  6850. qi.setDefect_flag(qi.getDefect_flag().equals("0")?"否":"是");
  6851. }
  6852. if(qi.getSmp_type_name() == null){
  6853. if(!SqlJoint.IsNullOrSpace(qi.getFy_quote_specimen_no())){
  6854. qi.setSmp_type_code("0");
  6855. qi.setSmp_type_name("初样");
  6856. }
  6857. else
  6858. {
  6859. qi.setSmp_type_code(qcmJhySampleConsignD.getSmp_type_code());
  6860. if(qcmJhySampleConsignD.getSmp_type_code().equals("0") && (!qrd.get(0).getCert_inst_code().equals("IC003") && !qrd.get(0).getCert_inst_code().equals("IC004") && !qrd.get(0).getCert_inst_code().equals("IC001") && !qrd.get(0).getCert_inst_code().equals("IC010") && !qrd.get(0).getCert_inst_code().equals("5000"))){
  6861. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  6862. qi.setSmp_type_name("认证样(复样)");
  6863. }else
  6864. {
  6865. qi.setSmp_type_name("认证样");
  6866. }
  6867. }
  6868. else{
  6869. if(qcmJhySampleConsignD.getSmp_location().contains("一次模拟焊后")){
  6870. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  6871. qi.setSmp_type_name("一次模拟焊后(复样)");
  6872. }else{
  6873. qi.setSmp_type_name("一次模拟焊后");
  6874. }
  6875. }else if(qcmJhySampleConsignD.getSmp_location().contains("二次模拟焊后")){
  6876. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  6877. qi.setSmp_type_name("二次模拟焊后(复样)");
  6878. }else{
  6879. qi.setSmp_type_name("二次模拟焊后");
  6880. }
  6881. }else if(qcmJhySampleConsignD.getSmp_location().contains("三次模拟焊后")){
  6882. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  6883. qi.setSmp_type_name("三次模拟焊后(复样)");
  6884. }else{
  6885. qi.setSmp_type_name("三次模拟焊后");
  6886. }
  6887. }else if(qcmJhySampleConsignD.getSmp_location().contains("四次模拟焊后")){
  6888. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  6889. qi.setSmp_type_name("四次模拟焊后(复样)");
  6890. }else{
  6891. qi.setSmp_type_name("四次模拟焊后");
  6892. }
  6893. }
  6894. else{
  6895. qi.setSmp_type_name(qcmJhySampleConsignD.getSmp_type_name());
  6896. }
  6897. qi.setSmp_location(qcmJhySampleConsignD.getSmp_location());
  6898. }
  6899. }
  6900. }
  6901. if(qi.getMaterial_no() == null){
  6902. qi.setMaterial_no(qcmJhySampleConsignD.getMaterial_no());
  6903. }
  6904. qi.setHt_no(qcmJhySampleConsignD.getProcess_nos());
  6905. qi.setSteelname(list.get(0).getSteel_name());
  6906. qi.setThick(qrd.get(0).getThick());
  6907. /*List<HashMap> hashmap = new ArrayList<HashMap>();
  6908. if(qcmJhySampleConsignD.getMaterial_no().startsWith("Z")){
  6909. hashmap = mapper.doQueryMaterialInfoZB(qcmJhySampleConsignD.getMaterial_no());
  6910. }else if(qcmJhySampleConsignD.getMaterial_no().startsWith("H")){
  6911. hashmap = mapper.doQueryMaterialInfoHB(qcmJhySampleConsignD.getMaterial_no());
  6912. }
  6913. if(hashmap.size() > 0){
  6914. if(hashmap.get(0).get("HT_NO") != null) {
  6915. qi.setHt_no(hashmap.get(0).get("HT_NO").toString());
  6916. }
  6917. }*/
  6918. targets.add(qi);
  6919. }
  6920. }
  6921. cro.setResult(targets);
  6922. } catch (Exception e) {
  6923. cro.setV_errCode(-1);
  6924. cro.setV_errMsg(e.getMessage());
  6925. }
  6926. SqlSession.close();
  6927. return cro;
  6928. }
  6929. /** 判定调用
  6930. * 查询对应项目实测值,标准值
  6931. */
  6932. public CoreReturnObject querryJudgetItemInfo(String smp_no, String design_key,String steel_name,String prod_line) {
  6933. try {
  6934. List<QcmJhySampleConsignD> qd = mapper.findQcmJhySampleConsignD2(smp_no);
  6935. List<QcmJhySampleROrd> qrd = mapper.queryQcmJhySampleROrd1("select * from qcm_jhy_sample_r_ord where smp_no ='"+smp_no+"'");
  6936. List<QcmOrdDesignStdPic> itemAll = new ArrayList<QcmOrdDesignStdPic>();
  6937. List<QcmOrdDesignStdPic> pic = new ArrayList<QcmOrdDesignStdPic>();
  6938. if(prod_line.equals("LT1")){
  6939. pic = mapper.findQcmOrdDesignStdPic2(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name,"LT1");
  6940. }else if(prod_line.equals("RZ1")){
  6941. pic = mapper.findQcmOrdDesignStdPic2(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name,"RZ1");
  6942. }else if(prod_line.equals("YT1")){
  6943. pic = mapper.findQcmOrdDesignStdPic2(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name,"YT1");
  6944. }else
  6945. {
  6946. pic = mapper.findQcmOrdDesignStdPic(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name);
  6947. }
  6948. //List<QcmOrdDesignStdPic> pic = mapper.findQcmOrdDesignStdPic(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name);
  6949. itemAll.addAll(pic);
  6950. String oldProject = null;
  6951. String newProject = null;
  6952. String oldProject1 = null;
  6953. List<QcmJhySampleConsignDItem> targets=new ArrayList<QcmJhySampleConsignDItem>();
  6954. for (QcmJhySampleConsignD qcmJhySampleConsignD : qd) {
  6955. List<QcmJhySampleConsignDItem> items = mapper.findQcmJhySampleConsignDItem(qcmJhySampleConsignD.getSpecimen_no());
  6956. for (QcmJhySampleConsignDItem qi : items) {
  6957. oldProject = qi.getPhy_code_l() + qi.getPhy_code_m() + qi.getPhy_code_s() + qi.getItem_code_d()
  6958. + qi.getItem_code_s() + qi.getItem_code_t()+qrd.get(0).getSteel_code();
  6959. oldProject1 = qi.getPhy_code_l() + qi.getPhy_code_m() + qi.getPhy_code_s() + qi.getItem_code_d()
  6960. + qi.getItem_code_s() + qi.getItem_code_t();
  6961. //获取标准
  6962. for (QcmOrdDesignStdPic si : itemAll) {
  6963. newProject = si.getPhy_code_l() + si.getPhy_code_m() + si.getPhy_code_s() + si.getItem_code_d()
  6964. + si.getItem_code_s() + si.getItem_code_t()+si.getSteel_code();
  6965. if (oldProject.equals(newProject)) {
  6966. if ("0".equals(si.getSpecl_fl())) {
  6967. qi.setJf_stdmax(si.getStdmax());
  6968. qi.setJf_stdmax_sign(si.getStdmax_sign());
  6969. qi.setJf_stdmin(si.getStdmin());
  6970. qi.setJf_stdmin_sign(si.getStdmin_sign());
  6971. qi.setJudge_basis(si.getJudge_basis());
  6972. if(SqlJoint.IsNullOrSpace(si.getIsjudge())){
  6973. qi.setIsjudge("1");
  6974. }else{
  6975. qi.setIsjudge(si.getIsjudge());
  6976. }
  6977. qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no());
  6978. qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no());
  6979. qi.setAddcondition(si.getAddcondition());
  6980. qi.setAddstdcon_code(si.getAddstdcon_code());
  6981. qi.setAddstd_max(si.getAddstd_max());
  6982. qi.setAdd_std_max_sign(si.getAddstd_max_sign());
  6983. qi.setAddstd_min(si.getAddstd_min());
  6984. qi.setAddstd_min_sign(si.getAddstd_min_sign());
  6985. qi.setAddpercent(si.getAddpercent());
  6986. } else if ("1".equals(si.getSpecl_fl())) {
  6987. qi.setKh_stdmax(si.getStdmax());
  6988. qi.setKh_stdmax_sign(si.getStdmax_sign());
  6989. qi.setKh_stdmin(si.getStdmin());
  6990. qi.setKh_stdmin_sign(si.getStdmin_sign());
  6991. qi.setJudge_basis(si.getJudge_basis());
  6992. if(SqlJoint.IsNullOrSpace(si.getIsjudge())){
  6993. qi.setIsjudge("1");
  6994. }else{
  6995. qi.setIsjudge(si.getIsjudge());
  6996. }
  6997. qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no());
  6998. qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no());
  6999. qi.setAddcondition(si.getAddcondition());
  7000. qi.setAddstdcon_code(si.getAddstdcon_code());
  7001. qi.setAddstd_max(si.getAddstd_max());
  7002. qi.setAdd_std_max_sign(si.getAddstd_max_sign());
  7003. qi.setAddstd_min(si.getAddstd_min());
  7004. qi.setAddstd_min_sign(si.getAddstd_min_sign());
  7005. qi.setAddpercent(si.getAddpercent());
  7006. } else if ("2".equals(si.getSpecl_fl())) {
  7007. qi.setNk_stdmax(si.getStdmax());
  7008. qi.setNk_stdmax_sign(si.getStdmax_sign());
  7009. qi.setNk_stdmin(si.getStdmin());
  7010. qi.setNk_stdmin_sign(si.getStdmin_sign());
  7011. qi.setJudge_basis(si.getJudge_basis());
  7012. if(SqlJoint.IsNullOrSpace(si.getIsjudge())){
  7013. qi.setIsjudge("1");
  7014. }else{
  7015. qi.setIsjudge(si.getIsjudge());
  7016. }
  7017. qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no());
  7018. qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no());
  7019. qi.setAddcondition(si.getAddcondition());
  7020. qi.setAddstdcon_code(si.getAddstdcon_code());
  7021. qi.setAddstd_max(si.getAddstd_max());
  7022. qi.setAdd_std_max_sign(si.getAddstd_max_sign());
  7023. qi.setAddstd_min(si.getAddstd_min());
  7024. qi.setAddstd_min_sign(si.getAddstd_min_sign());
  7025. qi.setAddpercent(si.getAddpercent());
  7026. }else if ("3".equals(si.getSpecl_fl())) {
  7027. qi.setFx_stdmax(si.getStdmax());
  7028. qi.setFx_stdmax_sign(si.getStdmax_sign());
  7029. qi.setFx_stdmin(si.getStdmin());
  7030. qi.setFx_stdmin_sign(si.getStdmin_sign());
  7031. qi.setJudge_basis(si.getJudge_basis());
  7032. if (SqlJoint.IsNullOrSpace(si.getIsjudge())) {
  7033. qi.setIsjudge("1");
  7034. } else {
  7035. qi.setIsjudge(si.getIsjudge());
  7036. }
  7037. qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no());
  7038. qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no());
  7039. qi.setAddcondition(si.getAddcondition());
  7040. qi.setAddstdcon_code(qi.getAddstdcon_code());
  7041. qi.setAddstd_max(si.getAddstd_max());
  7042. qi.setAdd_std_max_sign(si.getAddstd_max_sign());
  7043. qi.setAddstd_min(si.getAddstd_min());
  7044. qi.setAddstd_min_sign(si.getAddstd_min_sign());
  7045. qi.setAddpercent(si.getAddpercent());
  7046. }else if ("4".equals(si.getSpecl_fl())) {
  7047. qi.setNk_stdmax(si.getStdmax());
  7048. qi.setNk_stdmax_sign(si.getStdmax_sign());
  7049. qi.setNk_stdmin(si.getStdmin());
  7050. qi.setNk_stdmin_sign(si.getStdmin_sign());
  7051. qi.setJudge_basis(si.getJudge_basis());
  7052. if(SqlJoint.IsNullOrSpace(si.getIsjudge())){
  7053. qi.setIsjudge("1");
  7054. }else{
  7055. qi.setIsjudge(si.getIsjudge());
  7056. }
  7057. qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no());
  7058. qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no());
  7059. qi.setAddcondition(si.getAddcondition());
  7060. qi.setAddstdcon_code(si.getAddstdcon_code());
  7061. qi.setAddstd_max(si.getAddstd_max());
  7062. qi.setAdd_std_max_sign(si.getAddstd_max_sign());
  7063. qi.setAddstd_min(si.getAddstd_min());
  7064. qi.setAddstd_min_sign(si.getAddstd_min_sign());
  7065. qi.setAddpercent(si.getAddpercent());
  7066. }
  7067. }
  7068. }
  7069. //获取实测值
  7070. List<QcmJhyPhyresult> qpt = mapper.findphyresult1(qi.getSpecimen_no(),qi.getSeq());
  7071. //if (SqlJoint.IsNullOrSpace(qi.getQuote_specimen_no())) {
  7072. for (QcmJhyPhyresult qp : qpt) {
  7073. String str = qp.getPhy_code_l() + qp.getPhy_code_m() + qp.getPhy_code_s() + qp.getItem_code_d()
  7074. + qp.getItem_code_s() + qp.getItem_code_t();
  7075. if (!SqlJoint.IsNullOrSpace(oldProject1)&&!SqlJoint.IsNullOrSpace(str)) {
  7076. if (str.equals(oldProject1)) {
  7077. //if (SqlJoint.IsNullOrSpace(qi.getQuote_consign_no())) {
  7078. qi.setVal1(qp.getVal1());
  7079. qi.setVal2(qp.getVal2());
  7080. qi.setVal3(qp.getVal3());
  7081. qi.setVal4(qp.getVal4());
  7082. qi.setVal5(qp.getVal5());
  7083. qi.setVal6(qp.getVal6());
  7084. qi.setVal7(qp.getVal7());
  7085. qi.setVal8(qp.getVal8());
  7086. qi.setVal9(qp.getVal9());
  7087. qi.setDefect_flag(qp.getDefect_flag());
  7088. qi.setAvg_val(qp.getAvg_val());
  7089. //}
  7090. }
  7091. }
  7092. }
  7093. //}
  7094. /*else {//不为空则获取引用检验项目的实测值
  7095. List<QcmJhyPhyresult> q = mapper.findphyresult(qi.getQuote_specimen_no());
  7096. for (QcmJhyPhyresult qjp : q) {
  7097. String qutospe=qjp.getPhy_code_l() + qjp.getPhy_code_m() + qjp.getPhy_code_s() + qjp.getItem_code_d()
  7098. + qjp.getItem_code_s() + qjp.getItem_code_t();
  7099. String qutospeI=qi.getQuote_phy_code_l()+qi.getQuote_phy_code_m()+qi.getQuote_phy_code_s()+qi.getQuote_item_code_d()
  7100. +qi.getQuote_item_code_s()+qi.getQuote_item_code_t();
  7101. if (qutospe.endsWith(qutospeI)) {
  7102. qi.setVal1(qjp.getVal1());
  7103. qi.setVal2(qjp.getVal2());
  7104. qi.setVal3(qjp.getVal3());
  7105. qi.setVal4(qjp.getVal4());
  7106. qi.setVal5(qjp.getVal5());
  7107. qi.setVal6(qjp.getVal6());
  7108. qi.setVal7(qjp.getVal7());
  7109. qi.setVal8(qjp.getVal8());
  7110. qi.setVal9(qjp.getVal9());
  7111. qi.setDefect_flag(qjp.getDefect_flag());
  7112. qi.setAvg_val(qjp.getAvg_val());
  7113. }
  7114. }
  7115. }*/
  7116. if(qi.getSmp_type_name() == null){
  7117. if(!SqlJoint.IsNullOrSpace(qi.getFy_quote_specimen_no())){
  7118. qi.setSmp_type_code("0");
  7119. qi.setSmp_type_name("初样");
  7120. }
  7121. else
  7122. {
  7123. qi.setSmp_type_code(qcmJhySampleConsignD.getSmp_type_code());
  7124. if(qcmJhySampleConsignD.getSmp_type_code().equals("0") && (!qrd.get(0).getCert_inst_code().equals("IC003") && !qrd.get(0).getCert_inst_code().equals("IC004") && !qrd.get(0).getCert_inst_code().equals("IC001") && !qrd.get(0).getCert_inst_code().equals("IC010") && !qrd.get(0).getCert_inst_code().equals("5000"))){
  7125. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7126. qi.setSmp_type_name("认证样(复样)");
  7127. }else
  7128. {
  7129. qi.setSmp_type_name("认证样");
  7130. }
  7131. }
  7132. else{
  7133. if(qcmJhySampleConsignD.getSmp_location().contains("一次模拟焊后")){
  7134. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7135. qi.setSmp_type_name("一次模拟焊后(复样)");
  7136. }else{
  7137. qi.setSmp_type_name("一次模拟焊后");
  7138. }
  7139. }else if(qcmJhySampleConsignD.getSmp_location().contains("二次模拟焊后")){
  7140. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7141. qi.setSmp_type_name("二次模拟焊后(复样)");
  7142. }else{
  7143. qi.setSmp_type_name("二次模拟焊后");
  7144. }
  7145. }else if(qcmJhySampleConsignD.getSmp_location().contains("三次模拟焊后")){
  7146. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7147. qi.setSmp_type_name("三次模拟焊后(复样)");
  7148. }else{
  7149. qi.setSmp_type_name("三次模拟焊后");
  7150. }
  7151. }else if(qcmJhySampleConsignD.getSmp_location().contains("四次模拟焊后")){
  7152. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7153. qi.setSmp_type_name("四次模拟焊后(复样)");
  7154. }else{
  7155. qi.setSmp_type_name("四次模拟焊后");
  7156. }
  7157. }
  7158. else{
  7159. qi.setSmp_type_name(qcmJhySampleConsignD.getSmp_type_name());
  7160. }
  7161. qi.setSmp_location(qcmJhySampleConsignD.getSmp_location());
  7162. }
  7163. }
  7164. }
  7165. qi.setHt_no(qcmJhySampleConsignD.getProcess_nos());
  7166. /*List<HashMap> hashmap = new ArrayList<HashMap>();
  7167. if(qcmJhySampleConsignD.getMaterial_no().startsWith("Z")){
  7168. hashmap = mapper.doQueryMaterialInfoZB(qcmJhySampleConsignD.getMaterial_no());
  7169. }else if(qcmJhySampleConsignD.getMaterial_no().startsWith("H")){
  7170. hashmap = mapper.doQueryMaterialInfoHB(qcmJhySampleConsignD.getMaterial_no());
  7171. }
  7172. if(hashmap.size() > 0){
  7173. if(hashmap.get(0).get("HT_NO") != null) {
  7174. qi.setHt_no(hashmap.get(0).get("HT_NO").toString());
  7175. }
  7176. }*/
  7177. targets.add(qi);
  7178. }
  7179. }
  7180. cro.setResult(targets);
  7181. } catch (Exception e) {
  7182. cro.setV_errCode(-1);
  7183. cro.setV_errMsg("查询失败!"+e.getMessage());
  7184. }
  7185. return cro;
  7186. }
  7187. /**
  7188. * 查询订单力学性能特殊要求
  7189. * @param design_key
  7190. * @return
  7191. */
  7192. public CoreReturnObject queryTsyq(String design_key){
  7193. try{
  7194. String sql = "select phy_desc_l,phy_desc_m,PHY_NAME_S,item_desc_s,item_desc_d,item_desc_t,t.stdmin_sign||t.stdmin min,t.stdmax_sign||t.stdmax max,t.item_desc_l FROM qcm_ord_design_std_pic t where T.specl_fl ='1' AND t.design_key = '"+design_key+"'"
  7195. + "union all"
  7196. + " select '成分', '',t.chem_name,'','','',t.stdmin_sign || t.stdmin min,t.stdmax_sign || t.stdmax max, '' FROM qcm_ord_design_std_cic t where T.specl_fl ='1' AND t.design_key = '"+design_key+"' and t.std_type_code = 'C'";
  7197. List<HashMap> list = mapper.query(sql);
  7198. cro.setResult(list);
  7199. }catch(Exception ex){
  7200. ex.printStackTrace();
  7201. cro.setV_errCode(-1);
  7202. cro.setV_errMsg("查询失败!" + ex.getMessage());
  7203. }
  7204. SqlSession.close();
  7205. return cro;
  7206. }
  7207. /** 待判信息
  7208. * 查询对应项目实测值,标准值
  7209. */
  7210. public CoreReturnObject querryJudgetItems1(String smp_no, String design_key,String steel_name) {
  7211. try {
  7212. List<QcmJhySampleConsignD> qd = mapper.findQcmJhySampleConsignD2(smp_no);
  7213. List<QcmJhySampleROrd> qrd = mapper.queryQcmJhySampleROrd1("select * from qcm_jhy_sample_r_ord where smp_no ='"+smp_no+"'");
  7214. List<QcmOrdDesignStdPic> itemAll = new ArrayList<QcmOrdDesignStdPic>();
  7215. List<QcmOrdDesignStdPic> pic = new ArrayList<QcmOrdDesignStdPic>();
  7216. if(qd.get(0).getPline_code().equals("LT1")){
  7217. pic = mapper.findQcmOrdDesignStdPic2(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name,"LT1");
  7218. }else if(qd.get(0).getPline_code().equals("RZ1")){
  7219. pic = mapper.findQcmOrdDesignStdPic2(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name,"RZ1");
  7220. }else if(qd.get(0).getPline_code().equals("YT1")){
  7221. pic = mapper.findQcmOrdDesignStdPic2(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name,"YT1");
  7222. }else
  7223. {
  7224. pic = mapper.findQcmOrdDesignStdPic(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name);
  7225. }
  7226. //List<QcmOrdDesignStdPic> pic = mapper.findQcmOrdDesignStdPic(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name);
  7227. itemAll.addAll(pic);
  7228. String oldProject = null;
  7229. String newProject = null;
  7230. String oldProject1 = null;
  7231. List<QcmOrdDesignStdPic> targets=new ArrayList<QcmOrdDesignStdPic>();
  7232. for (QcmJhySampleConsignD qcmJhySampleConsignD : qd) {
  7233. List<QcmJhySampleConsignDItem> items = mapper.findQcmJhySampleConsignDItem(qcmJhySampleConsignD.getSpecimen_no());
  7234. for (QcmOrdDesignStdPic si : itemAll) {
  7235. oldProject = si.getPhy_code_l() + si.getPhy_code_m() + si.getPhy_code_s() + si.getItem_code_d()
  7236. + si.getItem_code_s() + si.getItem_code_t()+qrd.get(0).getSteel_code();
  7237. oldProject1 = si.getPhy_code_l() + si.getPhy_code_m() + si.getPhy_code_s() + si.getItem_code_d()
  7238. + si.getItem_code_s() + si.getItem_code_t();
  7239. //获取标准
  7240. for (QcmJhySampleConsignDItem qi : items) {
  7241. newProject = si.getPhy_code_l() + si.getPhy_code_m() + si.getPhy_code_s() + si.getItem_code_d()
  7242. + si.getItem_code_s() + si.getItem_code_t()+si.getSteel_code();
  7243. if (oldProject.equals(newProject)) {
  7244. if ("0".equals(si.getSpecl_fl())) {
  7245. si.setJf_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign())+(si.getStdmax()==null?"":si.getStdmax()));
  7246. si.setJf_stdmax_sign(si.getStdmax_sign());
  7247. si.setJf_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin()));
  7248. si.setJf_stdmin_sign(si.getStdmin_sign());
  7249. si.setJudge_basis(si.getJudge_basis());
  7250. if(SqlJoint.IsNullOrSpace(si.getIsjudge())){
  7251. si.setIsjudge("1");
  7252. }else{
  7253. si.setIsjudge(si.getIsjudge());
  7254. }
  7255. si.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no());
  7256. si.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no());
  7257. si.setAddcondition(si.getAddcondition());
  7258. si.setAddstdcon_code(si.getAddstdcon_code());
  7259. si.setAddstd_max((si.getAddstd_max_sign()==null?"":si.getAddstd_max_sign())+(si.getAddstd_max()==null?"":si.getAddstd_max()));
  7260. si.setAdd_std_max_sign(si.getAddstd_max_sign());
  7261. si.setAddstd_min((si.getAddstd_min_sign()==null?"":si.getAddstd_min_sign())+(si.getAddstd_min()==null?"":si.getAddstd_min()));
  7262. si.setAddstd_min_sign(si.getAddstd_min_sign());
  7263. si.setAddpercent(si.getAddpercent());
  7264. } else if ("1".equals(si.getSpecl_fl())) {
  7265. si.setKh_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign())+(si.getStdmax()==null?"":si.getStdmax()));
  7266. si.setKh_stdmax_sign(si.getStdmax_sign());
  7267. si.setKh_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin()));
  7268. si.setKh_stdmin_sign(si.getStdmin_sign());
  7269. si.setJudge_basis(si.getJudge_basis());
  7270. if(SqlJoint.IsNullOrSpace(si.getIsjudge())){
  7271. si.setIsjudge("1");
  7272. }else{
  7273. si.setIsjudge(si.getIsjudge());
  7274. }
  7275. si.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no());
  7276. si.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no());
  7277. si.setAddcondition(si.getAddcondition());
  7278. si.setAddstdcon_code(si.getAddstdcon_code());
  7279. si.setAddstd_max((si.getAddstd_max_sign()==null?"":si.getAddstd_max_sign())+(si.getAddstd_max()==null?"":si.getAddstd_max()));
  7280. si.setAdd_std_max_sign(si.getAddstd_max_sign());
  7281. si.setAddstd_min((si.getAddstd_min_sign()==null?"":si.getAddstd_min_sign())+(si.getAddstd_min()==null?"":si.getAddstd_min()));
  7282. si.setAddstd_min_sign(si.getAddstd_min_sign());
  7283. si.setAddpercent(si.getAddpercent());
  7284. } else if ("2".equals(si.getSpecl_fl())) {
  7285. si.setNk_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign())+(si.getStdmax()==null?"":si.getStdmax()));
  7286. si.setNk_stdmax_sign(si.getStdmax_sign());
  7287. si.setNk_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin()));
  7288. si.setNk_stdmin_sign(si.getStdmin_sign());
  7289. si.setJudge_basis(si.getJudge_basis());
  7290. if(SqlJoint.IsNullOrSpace(si.getIsjudge())){
  7291. si.setIsjudge("1");
  7292. }else{
  7293. si.setIsjudge(si.getIsjudge());
  7294. }
  7295. si.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no());
  7296. si.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no());
  7297. si.setAddcondition(si.getAddcondition());
  7298. si.setAddstdcon_code(si.getAddstdcon_code());
  7299. si.setAddstd_max((si.getAddstd_max_sign()==null?"":si.getAddstd_max_sign())+(si.getAddstd_max()==null?"":si.getAddstd_max()));
  7300. si.setAdd_std_max_sign(si.getAddstd_max_sign());
  7301. si.setAddstd_min((si.getAddstd_min_sign()==null?"":si.getAddstd_min_sign())+(si.getAddstd_min()==null?"":si.getAddstd_min()));
  7302. si.setAddstd_min_sign(si.getAddstd_min_sign());
  7303. si.setAddpercent(si.getAddpercent());
  7304. }else if ("3".equals(si.getSpecl_fl())) {
  7305. si.setFx_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign())+(si.getStdmax()==null?"":si.getStdmax()));
  7306. si.setFx_stdmax_sign(si.getStdmax_sign());
  7307. si.setFx_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin()));
  7308. si.setFx_stdmin_sign(si.getStdmin_sign());
  7309. si.setJudge_basis(si.getJudge_basis());
  7310. if(SqlJoint.IsNullOrSpace(si.getIsjudge())){
  7311. si.setIsjudge("1");
  7312. }else{
  7313. si.setIsjudge(si.getIsjudge());
  7314. }
  7315. si.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no());
  7316. si.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no());
  7317. si.setAddcondition(si.getAddcondition());
  7318. si.setAddstdcon_code(si.getAddstdcon_code());
  7319. si.setAddstd_max((si.getAddstd_max_sign()==null?"":si.getAddstd_max_sign())+(si.getAddstd_max()==null?"":si.getAddstd_max()));
  7320. si.setAdd_std_max_sign(si.getAddstd_max_sign());
  7321. si.setAddstd_min((si.getAddstd_min_sign()==null?"":si.getAddstd_min_sign())+(si.getAddstd_min()==null?"":si.getAddstd_min()));
  7322. si.setAddstd_min_sign(si.getAddstd_min_sign());
  7323. si.setAddpercent(si.getAddpercent());
  7324. }else if ("4".equals(si.getSpecl_fl())) {
  7325. qi.setNk_stdmax(si.getStdmax());
  7326. qi.setNk_stdmax_sign(si.getStdmax_sign());
  7327. qi.setNk_stdmin(si.getStdmin());
  7328. qi.setNk_stdmin_sign(si.getStdmin_sign());
  7329. qi.setJudge_basis(si.getJudge_basis());
  7330. if(SqlJoint.IsNullOrSpace(si.getIsjudge())){
  7331. qi.setIsjudge("1");
  7332. }else{
  7333. qi.setIsjudge(si.getIsjudge());
  7334. }
  7335. qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no());
  7336. qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no());
  7337. qi.setAddcondition(si.getAddcondition());
  7338. qi.setAddstdcon_code(si.getAddstdcon_code());
  7339. qi.setAddstd_max(si.getAddstd_max());
  7340. qi.setAdd_std_max_sign(si.getAddstd_max_sign());
  7341. qi.setAddstd_min(si.getAddstd_min());
  7342. qi.setAddstd_min_sign(si.getAddstd_min_sign());
  7343. qi.setAddpercent(si.getAddpercent());
  7344. }
  7345. }
  7346. //获取实测值
  7347. List<QcmJhyPhyresult> qpt = mapper.findphyresult1(qi.getSpecimen_no(),qi.getSeq());
  7348. //if (SqlJoint.IsNullOrSpace(qi.getQuote_specimen_no())) {
  7349. for (QcmJhyPhyresult qp : qpt) {
  7350. String str = qp.getPhy_code_l() + qp.getPhy_code_m() + qp.getPhy_code_s() + qp.getItem_code_d()
  7351. + qp.getItem_code_s() + qp.getItem_code_t();
  7352. if (!SqlJoint.IsNullOrSpace(oldProject1)&&!SqlJoint.IsNullOrSpace(str)) {
  7353. if (str.equals(oldProject1)) {
  7354. //if (SqlJoint.IsNullOrSpace(qi.getQuote_consign_no())) {
  7355. si.setVal1(qp.getVal1());
  7356. si.setVal2(qp.getVal2());
  7357. si.setVal3(qp.getVal3());
  7358. si.setVal4(qp.getVal4());
  7359. si.setVal5(qp.getVal5());
  7360. si.setVal6(qp.getVal6());
  7361. si.setVal7(qp.getVal7());
  7362. si.setVal8(qp.getVal8());
  7363. si.setVal9(qp.getVal9());
  7364. si.setDefect_flag(qp.getDefect_flag());
  7365. si.setAvg_val(qp.getAvg_val());
  7366. //}
  7367. }
  7368. }
  7369. }
  7370. if(!SqlJoint.IsNullOrSpace(qi.getFy_quote_specimen_no())){
  7371. si.setSmp_type_code("0");
  7372. si.setSmp_type_name("初样");
  7373. }
  7374. }
  7375. //}
  7376. /*else {//不为空则获取引用检验项目的实测值
  7377. List<QcmJhyPhyresult> q = mapper.findphyresult(qi.getQuote_specimen_no());
  7378. for (QcmJhyPhyresult qjp : q) {
  7379. String qutospe=qjp.getPhy_code_l() + qjp.getPhy_code_m() + qjp.getPhy_code_s() + qjp.getItem_code_d()
  7380. + qjp.getItem_code_s() + qjp.getItem_code_t();
  7381. String qutospeI=qi.getQuote_phy_code_l()+qi.getQuote_phy_code_m()+qi.getQuote_phy_code_s()+qi.getQuote_item_code_d()
  7382. +qi.getQuote_item_code_s()+qi.getQuote_item_code_t();
  7383. if (qutospe.endsWith(qutospeI)) {
  7384. qi.setVal1(qjp.getVal1());
  7385. qi.setVal2(qjp.getVal2());
  7386. qi.setVal3(qjp.getVal3());
  7387. qi.setDefect_flag(qjp.getDefect_flag());
  7388. qi.setAvg_val(qjp.getAvg_val());
  7389. }
  7390. }
  7391. }*/
  7392. if(si.getJudge_basis() != null)
  7393. {
  7394. if(si.getJudge_basis().equals("A")){
  7395. si.setJudge_basis("最小值");
  7396. }else if(si.getJudge_basis().equals("B")){
  7397. si.setJudge_basis("最大值");
  7398. }else if(si.getJudge_basis().equals("C")){
  7399. si.setJudge_basis("平均值");
  7400. }else if(si.getJudge_basis().equals("D")){
  7401. si.setJudge_basis("逐值判定");
  7402. }
  7403. }
  7404. if(si.getIsjudge() != null){
  7405. si.setIsjudge(si.getIsjudge().equals("0")?"否":"是");
  7406. }
  7407. if(si.getDefect_flag()!=null){
  7408. si.setDefect_flag(si.getDefect_flag().equals("0")?"否":"是");
  7409. }
  7410. else
  7411. {
  7412. si.setSmp_type_code(qcmJhySampleConsignD.getSmp_type_code());
  7413. if(qcmJhySampleConsignD.getSmp_type_code().equals("0") && (!qrd.get(0).getCert_inst_code().equals("IC003") && !qrd.get(0).getCert_inst_code().equals("IC004") && !qrd.get(0).getCert_inst_code().equals("IC001") && !qrd.get(0).getCert_inst_code().equals("IC010") && !qrd.get(0).getCert_inst_code().equals("5000"))){
  7414. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7415. si.setSmp_type_name("认证样(复样)");
  7416. }else
  7417. {
  7418. si.setSmp_type_name("认证样");
  7419. }
  7420. }
  7421. else{
  7422. si.setSmp_type_name(qcmJhySampleConsignD.getSmp_type_name());
  7423. }
  7424. }
  7425. /*if(qcmJhySampleConsignD.getSmp_location().contains("一次模拟焊后")){
  7426. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7427. si.setSmp_type_name("一次模拟焊后(复样)");
  7428. }else{
  7429. si.setSmp_type_name("一次模拟焊后");
  7430. }
  7431. }else if(qcmJhySampleConsignD.getSmp_location().contains("二次模拟焊后")){
  7432. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7433. si.setSmp_type_name("二次模拟焊后(复样)");
  7434. }else{
  7435. si.setSmp_type_name("二次模拟焊后");
  7436. }
  7437. }else if(qcmJhySampleConsignD.getSmp_location().contains("三次模拟焊后")){
  7438. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7439. si.setSmp_type_name("三次模拟焊后(复样)");
  7440. }else{
  7441. si.setSmp_type_name("三次模拟焊后");
  7442. }
  7443. }else if(qcmJhySampleConsignD.getSmp_location().contains("四次模拟焊后")){
  7444. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7445. si.setSmp_type_name("四次模拟焊后(复样)");
  7446. }else{
  7447. si.setSmp_type_name("四次模拟焊后");
  7448. }
  7449. }*/
  7450. si.setMaterial_no(qcmJhySampleConsignD.getMaterial_no());
  7451. si.setHt_no(qcmJhySampleConsignD.getProcess_nos());
  7452. /*List<HashMap> hashmap = new ArrayList<HashMap>();
  7453. if(qcmJhySampleConsignD.getMaterial_no().startsWith("Z")){
  7454. hashmap = mapper.doQueryMaterialInfoZB(qcmJhySampleConsignD.getMaterial_no());
  7455. }else if(qcmJhySampleConsignD.getMaterial_no().startsWith("H")){
  7456. hashmap = mapper.doQueryMaterialInfoHB(qcmJhySampleConsignD.getMaterial_no());
  7457. }
  7458. if(hashmap.size() > 0){
  7459. if(hashmap.get(0).get("HT_NO") != null) {
  7460. qi.setHt_no(hashmap.get(0).get("HT_NO").toString());
  7461. }
  7462. }*/
  7463. targets.add(si);
  7464. }
  7465. }
  7466. cro.setResult(targets);
  7467. } catch (Exception e) {
  7468. cro.setV_errCode(-1);
  7469. cro.setV_errMsg("查询失败!"+e.getMessage());
  7470. }
  7471. SqlSession.close();
  7472. return cro;
  7473. }
  7474. /** 待判信息
  7475. * 查询对应项目实测值,标准值
  7476. */
  7477. public CoreReturnObject querryJudgetItems(String smp_no, String design_key,String steel_name) {
  7478. try {
  7479. List<QcmJhySampleConsignD> qd = mapper.findQcmJhySampleConsignD2(smp_no);
  7480. List<QcmJhySampleROrd> qrd = mapper.queryQcmJhySampleROrd1("select * from qcm_jhy_sample_r_ord where smp_no ='"+smp_no+"'");
  7481. List<QcmOrdDesignStdPic> itemAll = new ArrayList<QcmOrdDesignStdPic>();
  7482. List<QcmOrdDesignStdPic> pic = new ArrayList<QcmOrdDesignStdPic>();
  7483. if(qd.get(0).getPline_code().equals("LT1")){
  7484. pic = mapper.findQcmOrdDesignStdPic2(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name,"LT1");
  7485. }else if(qd.get(0).getPline_code().equals("RZ1")){
  7486. pic = mapper.findQcmOrdDesignStdPic2(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name,"RZ1");
  7487. }else if(qd.get(0).getPline_code().equals("YT1")){
  7488. pic = mapper.findQcmOrdDesignStdPic2(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name,"YT1");
  7489. }else
  7490. {
  7491. pic = mapper.findQcmOrdDesignStdPic(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name);
  7492. }
  7493. //List<QcmOrdDesignStdPic> pic = mapper.findQcmOrdDesignStdPic(design_key,steel_name.equals("SWRH82B-YL-Ⅰ")?"SWRH82B-YL":steel_name);
  7494. itemAll.addAll(pic);
  7495. String oldProject = null;
  7496. String newProject = null;
  7497. String oldProject1 = null;
  7498. List<QcmJhySampleConsignDItem> targets=new ArrayList<QcmJhySampleConsignDItem>();
  7499. for (QcmJhySampleConsignD qcmJhySampleConsignD : qd) {
  7500. List<QcmJhySampleConsignDItem> items = mapper.findQcmJhySampleConsignDItem(qcmJhySampleConsignD.getSpecimen_no());
  7501. for (QcmJhySampleConsignDItem qi : items) {
  7502. oldProject = qi.getPhy_code_l() + qi.getPhy_code_m() + qi.getPhy_code_s() + qi.getItem_code_d()
  7503. + qi.getItem_code_s() + qi.getItem_code_t()+qrd.get(0).getSteel_code();
  7504. oldProject1 = qi.getPhy_code_l() + qi.getPhy_code_m() + qi.getPhy_code_s() + qi.getItem_code_d()
  7505. + qi.getItem_code_s() + qi.getItem_code_t();
  7506. //获取标准
  7507. for (QcmOrdDesignStdPic si : itemAll) {
  7508. newProject = si.getPhy_code_l() + si.getPhy_code_m() + si.getPhy_code_s() + si.getItem_code_d()
  7509. + si.getItem_code_s() + si.getItem_code_t()+si.getSteel_code();
  7510. if (oldProject.equals(newProject)) {
  7511. if ("0".equals(si.getSpecl_fl())) {
  7512. qi.setJf_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign())+(si.getStdmax()==null?"":si.getStdmax()));
  7513. qi.setJf_stdmax_sign(si.getStdmax_sign());
  7514. qi.setJf_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin()));
  7515. qi.setJf_stdmin_sign(si.getStdmin_sign());
  7516. qi.setJudge_basis(si.getJudge_basis());
  7517. if(SqlJoint.IsNullOrSpace(si.getIsjudge())){
  7518. qi.setIsjudge("1");
  7519. }else{
  7520. qi.setIsjudge(si.getIsjudge());
  7521. }
  7522. qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no());
  7523. qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no());
  7524. qi.setAddcondition(si.getAddcondition());
  7525. qi.setAddstdcon_code(si.getAddstdcon_code());
  7526. qi.setAddstd_max((si.getAddstd_max_sign()==null?"":si.getAddstd_max_sign())+(si.getAddstd_max()==null?"":si.getAddstd_max()));
  7527. qi.setAdd_std_max_sign(si.getAddstd_max_sign());
  7528. qi.setAddstd_min((si.getAddstd_min_sign()==null?"":si.getAddstd_min_sign())+(si.getAddstd_min()==null?"":si.getAddstd_min()));
  7529. qi.setAddstd_min_sign(si.getAddstd_min_sign());
  7530. qi.setAddpercent(si.getAddpercent());
  7531. } else if ("1".equals(si.getSpecl_fl())) {
  7532. qi.setKh_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign())+(si.getStdmax()==null?"":si.getStdmax()));
  7533. qi.setKh_stdmax_sign(si.getStdmax_sign());
  7534. qi.setKh_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin()));
  7535. qi.setKh_stdmin_sign(si.getStdmin_sign());
  7536. qi.setJudge_basis(si.getJudge_basis());
  7537. if(SqlJoint.IsNullOrSpace(si.getIsjudge())){
  7538. qi.setIsjudge("1");
  7539. }else{
  7540. qi.setIsjudge(si.getIsjudge());
  7541. }
  7542. qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no());
  7543. qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no());
  7544. qi.setAddcondition(si.getAddcondition());
  7545. qi.setAddstdcon_code(si.getAddstdcon_code());
  7546. qi.setAddstd_max((si.getAddstd_max_sign()==null?"":si.getAddstd_max_sign())+(si.getAddstd_max()==null?"":si.getAddstd_max()));
  7547. qi.setAdd_std_max_sign(si.getAddstd_max_sign());
  7548. qi.setAddstd_min((si.getAddstd_min_sign()==null?"":si.getAddstd_min_sign())+(si.getAddstd_min()==null?"":si.getAddstd_min()));
  7549. qi.setAddstd_min_sign(si.getAddstd_min_sign());
  7550. qi.setAddpercent(si.getAddpercent());
  7551. } else if ("2".equals(si.getSpecl_fl())) {
  7552. qi.setNk_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign())+(si.getStdmax()==null?"":si.getStdmax()));
  7553. qi.setNk_stdmax_sign(si.getStdmax_sign());
  7554. qi.setNk_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin()));
  7555. qi.setNk_stdmin_sign(si.getStdmin_sign());
  7556. qi.setJudge_basis(si.getJudge_basis());
  7557. if(SqlJoint.IsNullOrSpace(si.getIsjudge())){
  7558. qi.setIsjudge("1");
  7559. }else{
  7560. qi.setIsjudge(si.getIsjudge());
  7561. }
  7562. qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no());
  7563. qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no());
  7564. qi.setAddcondition(si.getAddcondition());
  7565. qi.setAddstdcon_code(si.getAddstdcon_code());
  7566. qi.setAddstd_max((si.getAddstd_max_sign()==null?"":si.getAddstd_max_sign())+(si.getAddstd_max()==null?"":si.getAddstd_max()));
  7567. qi.setAdd_std_max_sign(si.getAddstd_max_sign());
  7568. qi.setAddstd_min((si.getAddstd_min_sign()==null?"":si.getAddstd_min_sign())+(si.getAddstd_min()==null?"":si.getAddstd_min()));
  7569. qi.setAddstd_min_sign(si.getAddstd_min_sign());
  7570. qi.setAddpercent(si.getAddpercent());
  7571. }else if ("3".equals(si.getSpecl_fl())) {
  7572. qi.setFx_stdmax((si.getStdmax_sign()==null?"":si.getStdmax_sign())+(si.getStdmax()==null?"":si.getStdmax()));
  7573. qi.setFx_stdmax_sign(si.getStdmax_sign());
  7574. qi.setFx_stdmin((si.getStdmin_sign()==null?"":si.getStdmin_sign())+(si.getStdmin()==null?"":si.getStdmin()));
  7575. qi.setFx_stdmin_sign(si.getStdmin_sign());
  7576. qi.setJudge_basis(si.getJudge_basis());
  7577. if(SqlJoint.IsNullOrSpace(si.getIsjudge())){
  7578. qi.setIsjudge("1");
  7579. }else{
  7580. qi.setIsjudge(si.getIsjudge());
  7581. }
  7582. qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no());
  7583. qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no());
  7584. qi.setAddcondition(si.getAddcondition());
  7585. qi.setAddstdcon_code(si.getAddstdcon_code());
  7586. qi.setAddstd_max((si.getAddstd_max_sign()==null?"":si.getAddstd_max_sign())+(si.getAddstd_max()==null?"":si.getAddstd_max()));
  7587. qi.setAdd_std_max_sign(si.getAddstd_max_sign());
  7588. qi.setAddstd_min((si.getAddstd_min_sign()==null?"":si.getAddstd_min_sign())+(si.getAddstd_min()==null?"":si.getAddstd_min()));
  7589. qi.setAddstd_min_sign(si.getAddstd_min_sign());
  7590. qi.setAddpercent(si.getAddpercent());
  7591. }else if ("4".equals(si.getSpecl_fl())) {
  7592. qi.setNk_stdmax(si.getStdmax());
  7593. qi.setNk_stdmax_sign(si.getStdmax_sign());
  7594. qi.setNk_stdmin(si.getStdmin());
  7595. qi.setNk_stdmin_sign(si.getStdmin_sign());
  7596. qi.setJudge_basis(si.getJudge_basis());
  7597. if(SqlJoint.IsNullOrSpace(si.getIsjudge())){
  7598. qi.setIsjudge("1");
  7599. }else{
  7600. qi.setIsjudge(si.getIsjudge());
  7601. }
  7602. qi.setQuote_consign_no(qcmJhySampleConsignD.getQuote_consign_no());
  7603. qi.setOld_consign_no(qcmJhySampleConsignD.getOld_consign_no());
  7604. qi.setAddcondition(si.getAddcondition());
  7605. qi.setAddstdcon_code(si.getAddstdcon_code());
  7606. qi.setAddstd_max(si.getAddstd_max());
  7607. qi.setAdd_std_max_sign(si.getAddstd_max_sign());
  7608. qi.setAddstd_min(si.getAddstd_min());
  7609. qi.setAddstd_min_sign(si.getAddstd_min_sign());
  7610. qi.setAddpercent(si.getAddpercent());
  7611. }
  7612. }
  7613. }
  7614. //获取实测值
  7615. List<QcmJhyPhyresult> qpt = mapper.findphyresult1(qi.getSpecimen_no(),qi.getSeq());
  7616. //if (SqlJoint.IsNullOrSpace(qi.getQuote_specimen_no())) {
  7617. for (QcmJhyPhyresult qp : qpt) {
  7618. String str = qp.getPhy_code_l() + qp.getPhy_code_m() + qp.getPhy_code_s() + qp.getItem_code_d()
  7619. + qp.getItem_code_s() + qp.getItem_code_t();
  7620. if (!SqlJoint.IsNullOrSpace(oldProject1)&&!SqlJoint.IsNullOrSpace(str)) {
  7621. if (str.equals(oldProject1)) {
  7622. //if (SqlJoint.IsNullOrSpace(qi.getQuote_consign_no())) {
  7623. qi.setVal1(qp.getVal1());
  7624. qi.setVal2(qp.getVal2());
  7625. qi.setVal3(qp.getVal3());
  7626. qi.setVal4(qp.getVal4());
  7627. qi.setVal5(qp.getVal5());
  7628. qi.setVal6(qp.getVal6());
  7629. qi.setVal7(qp.getVal7());
  7630. qi.setVal8(qp.getVal8());
  7631. qi.setVal9(qp.getVal9());
  7632. qi.setDefect_flag(qp.getDefect_flag());
  7633. qi.setAvg_val(qp.getAvg_val());
  7634. if(qi.getFy_quote_specimen_no() != null){
  7635. List<HashMap> q1 = mapper.query("select * from qcm_jhy_insp_physics z where z.specimen_no = '"+qi.getFy_quote_specimen_no()+"' and z.guid = '"+qp.getGuid()+"'");
  7636. if(q1.size() >0 && q1.get(0).get("QUOTE_SPECIMEN_NO") != null){
  7637. List<HashMap> q3 = mapper.query("select * from qcm_jhy_sample_consign_d z where z.specimen_no = '"+q1.get(0).get("QUOTE_SPECIMEN_NO")+"'");
  7638. qi.setSmp_type_name(q3.get(0).get("SMP_TYPE_NAME").toString());
  7639. if(q3.get(0).get("SMP_LOCATION").toString().contains("一次模拟焊后")){
  7640. qi.setSmp_type_name("一次模拟焊后");
  7641. }else if(q3.get(0).get("SMP_LOCATION").toString().contains("二次模拟焊后")){
  7642. qi.setSmp_type_name("二次模拟焊后");
  7643. }else if(q3.get(0).get("SMP_LOCATION").toString().contains("三次模拟焊后")){
  7644. qi.setSmp_type_name("三次模拟焊后");
  7645. }else if(q3.get(0).get("SMP_LOCATION").toString().contains("四次模拟焊后")){
  7646. qi.setSmp_type_name("四次模拟焊后");
  7647. }
  7648. qi.setMaterial_no(q3.get(0).get("MATERIAL_NO").toString());
  7649. }else{
  7650. List<HashMap> q2 = mapper.query("select * from qcm_jhy_sample_consign_d z where z.specimen_no = '"+qi.getFy_quote_specimen_no()+"'");
  7651. qi.setSmp_type_name(q2.get(0).get("SMP_TYPE_NAME").toString());
  7652. if(q2.get(0).get("SMP_LOCATION").toString().contains("一次模拟焊后")){
  7653. qi.setSmp_type_name("一次模拟焊后");
  7654. }else if(q2.get(0).get("SMP_LOCATION").toString().contains("二次模拟焊后")){
  7655. qi.setSmp_type_name("二次模拟焊后");
  7656. }else if(q2.get(0).get("SMP_LOCATION").toString().contains("三次模拟焊后")){
  7657. qi.setSmp_type_name("三次模拟焊后");
  7658. }else if(q2.get(0).get("SMP_LOCATION").toString().contains("四次模拟焊后")){
  7659. qi.setSmp_type_name("四次模拟焊后");
  7660. }
  7661. qi.setMaterial_no(q2.get(0).get("MATERIAL_NO").toString());
  7662. }
  7663. }else{
  7664. qi.setSmp_type_code(qcmJhySampleConsignD.getSmp_type_code());
  7665. if(qcmJhySampleConsignD.getSmp_type_code().equals("0") && (!qrd.get(0).getCert_inst_code().equals("IC003") && !qrd.get(0).getCert_inst_code().equals("IC004") && !qrd.get(0).getCert_inst_code().equals("IC001") && !qrd.get(0).getCert_inst_code().equals("IC010") && !qrd.get(0).getCert_inst_code().equals("5000"))){
  7666. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7667. qi.setSmp_type_name("认证样(复样)");
  7668. }else
  7669. {
  7670. qi.setSmp_type_name("认证样");
  7671. }
  7672. }
  7673. else{
  7674. if(qcmJhySampleConsignD.getSmp_location().contains("一次模拟焊后")){
  7675. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7676. qi.setSmp_type_name("一次模拟焊后(复样)");
  7677. }else{
  7678. qi.setSmp_type_name("一次模拟焊后");
  7679. }
  7680. }else if(qcmJhySampleConsignD.getSmp_location().contains("二次模拟焊后")){
  7681. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7682. qi.setSmp_type_name("二次模拟焊后(复样)");
  7683. }else{
  7684. qi.setSmp_type_name("二次模拟焊后");
  7685. }
  7686. }else if(qcmJhySampleConsignD.getSmp_location().contains("三次模拟焊后")){
  7687. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7688. qi.setSmp_type_name("三次模拟焊后(复样)");
  7689. }else{
  7690. qi.setSmp_type_name("三次模拟焊后");
  7691. }
  7692. }else if(qcmJhySampleConsignD.getSmp_location().contains("四次模拟焊后")){
  7693. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7694. qi.setSmp_type_name("四次模拟焊后(复样)");
  7695. }else{
  7696. qi.setSmp_type_name("四次模拟焊后");
  7697. }
  7698. }else{
  7699. qi.setSmp_type_name(qcmJhySampleConsignD.getSmp_type_name());
  7700. }
  7701. qi.setSmp_location(qcmJhySampleConsignD.getSmp_location());
  7702. }
  7703. qi.setMaterial_no(qcmJhySampleConsignD.getMaterial_no());
  7704. }
  7705. //}
  7706. }
  7707. }
  7708. }
  7709. //}
  7710. /*else {//不为空则获取引用检验项目的实测值
  7711. List<QcmJhyPhyresult> q = mapper.findphyresult(qi.getQuote_specimen_no());
  7712. for (QcmJhyPhyresult qjp : q) {
  7713. String qutospe=qjp.getPhy_code_l() + qjp.getPhy_code_m() + qjp.getPhy_code_s() + qjp.getItem_code_d()
  7714. + qjp.getItem_code_s() + qjp.getItem_code_t();
  7715. String qutospeI=qi.getQuote_phy_code_l()+qi.getQuote_phy_code_m()+qi.getQuote_phy_code_s()+qi.getQuote_item_code_d()
  7716. +qi.getQuote_item_code_s()+qi.getQuote_item_code_t();
  7717. if (qutospe.endsWith(qutospeI)) {
  7718. qi.setVal1(qjp.getVal1());
  7719. qi.setVal2(qjp.getVal2());
  7720. qi.setVal3(qjp.getVal3());
  7721. qi.setDefect_flag(qjp.getDefect_flag());
  7722. qi.setAvg_val(qjp.getAvg_val());
  7723. }
  7724. }
  7725. }*/
  7726. if(qi.getJudge_basis() != null)
  7727. {
  7728. if(qi.getJudge_basis().equals("A")){
  7729. qi.setJudge_basis("最小值");
  7730. }else if(qi.getJudge_basis().equals("B")){
  7731. qi.setJudge_basis("最大值");
  7732. }else if(qi.getJudge_basis().equals("C")){
  7733. qi.setJudge_basis("平均值");
  7734. }else if(qi.getJudge_basis().equals("D")){
  7735. qi.setJudge_basis("逐值判定");
  7736. }
  7737. }
  7738. if(qi.getIsjudge() != null){
  7739. qi.setIsjudge(qi.getIsjudge().equals("0")?"否":"是");
  7740. }
  7741. if(qi.getDefect_flag()!=null){
  7742. qi.setDefect_flag(qi.getDefect_flag().equals("0")?"否":"是");
  7743. }
  7744. if(qi.getSmp_type_name() == null){
  7745. if(!SqlJoint.IsNullOrSpace(qi.getFy_quote_specimen_no())){
  7746. qi.setSmp_type_code("0");
  7747. qi.setSmp_type_name("初样");
  7748. }
  7749. else
  7750. {
  7751. qi.setSmp_type_code(qcmJhySampleConsignD.getSmp_type_code());
  7752. if(qcmJhySampleConsignD.getSmp_type_code().equals("0") && (!qrd.get(0).getCert_inst_code().equals("IC003") && !qrd.get(0).getCert_inst_code().equals("IC004") && !qrd.get(0).getCert_inst_code().equals("IC001") && !qrd.get(0).getCert_inst_code().equals("IC010") && !qrd.get(0).getCert_inst_code().equals("5000"))){
  7753. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7754. qi.setSmp_type_name("认证样(复样)");
  7755. }else
  7756. {
  7757. qi.setSmp_type_name("认证样");
  7758. }
  7759. }
  7760. else{
  7761. if(qcmJhySampleConsignD.getSmp_location().contains("一次模拟焊后")){
  7762. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7763. qi.setSmp_type_name("一次模拟焊后(复样)");
  7764. }else{
  7765. qi.setSmp_type_name("一次模拟焊后");
  7766. }
  7767. }else if(qcmJhySampleConsignD.getSmp_location().contains("二次模拟焊后")){
  7768. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7769. qi.setSmp_type_name("二次模拟焊后(复样)");
  7770. }else{
  7771. qi.setSmp_type_name("二次模拟焊后");
  7772. }
  7773. }else if(qcmJhySampleConsignD.getSmp_location().contains("三次模拟焊后")){
  7774. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7775. qi.setSmp_type_name("三次模拟焊后(复样)");
  7776. }else{
  7777. qi.setSmp_type_name("三次模拟焊后");
  7778. }
  7779. }else if(qcmJhySampleConsignD.getSmp_location().contains("四次模拟焊后")){
  7780. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7781. qi.setSmp_type_name("四次模拟焊后(复样)");
  7782. }else{
  7783. qi.setSmp_type_name("四次模拟焊后");
  7784. }
  7785. }
  7786. else{
  7787. qi.setSmp_type_name(qcmJhySampleConsignD.getSmp_type_name());
  7788. }
  7789. qi.setSmp_location(qcmJhySampleConsignD.getSmp_location());
  7790. }
  7791. }
  7792. }
  7793. /*if(qcmJhySampleConsignD.getSmp_location().contains("一次模拟焊后")){
  7794. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7795. qi.setSmp_type_name("一次模拟焊后(复样)");
  7796. }else{
  7797. qi.setSmp_type_name("一次模拟焊后");
  7798. }
  7799. }else if(qcmJhySampleConsignD.getSmp_location().contains("二次模拟焊后")){
  7800. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7801. qi.setSmp_type_name("二次模拟焊后(复样)");
  7802. }else{
  7803. qi.setSmp_type_name("二次模拟焊后");
  7804. }
  7805. }else if(qcmJhySampleConsignD.getSmp_location().contains("三次模拟焊后")){
  7806. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7807. qi.setSmp_type_name("三次模拟焊后(复样)");
  7808. }else{
  7809. qi.setSmp_type_name("三次模拟焊后");
  7810. }
  7811. }else if(qcmJhySampleConsignD.getSmp_location().contains("四次模拟焊后")){
  7812. if(qcmJhySampleConsignD.getSmp_type_code().equals("1")){
  7813. qi.setSmp_type_name("四次模拟焊后(复样)");
  7814. }else{
  7815. qi.setSmp_type_name("四次模拟焊后");
  7816. }
  7817. }*/
  7818. if(qi.getMaterial_no() == null){
  7819. qi.setMaterial_no(qcmJhySampleConsignD.getMaterial_no());
  7820. }
  7821. qi.setHt_no(qcmJhySampleConsignD.getProcess_nos());
  7822. qi.setSteelname(steel_name);
  7823. qi.setThick(qrd.get(0).getThick());
  7824. /*List<HashMap> hashmap = new ArrayList<HashMap>();
  7825. if(qcmJhySampleConsignD.getMaterial_no().startsWith("Z")){
  7826. hashmap = mapper.doQueryMaterialInfoZB(qcmJhySampleConsignD.getMaterial_no());
  7827. }else if(qcmJhySampleConsignD.getMaterial_no().startsWith("H")){
  7828. hashmap = mapper.doQueryMaterialInfoHB(qcmJhySampleConsignD.getMaterial_no());
  7829. }
  7830. if(hashmap.size() > 0){
  7831. if(hashmap.get(0).get("HT_NO") != null) {
  7832. qi.setHt_no(hashmap.get(0).get("HT_NO").toString());
  7833. }
  7834. }*/
  7835. targets.add(qi);
  7836. }
  7837. }
  7838. cro.setResult(targets);
  7839. } catch (Exception e) {
  7840. cro.setV_errCode(-1);
  7841. cro.setV_errMsg("查询失败!"+e.getMessage());
  7842. }
  7843. SqlSession.close();
  7844. return cro;
  7845. }
  7846. /**
  7847. * 比较val值,根据判定依据比较
  7848. * @param val1
  7849. * @param val2
  7850. * @param val3
  7851. * @param type
  7852. * @return
  7853. */
  7854. public String compareVal(String val1,String val2,String val3,String val4,String val5,String val6,String val7,String val8,String val9,String type){
  7855. String flag="";
  7856. String max = "";
  7857. String min = "";
  7858. //最小值
  7859. if (type.equalsIgnoreCase("A")) {
  7860. //如果val1不为空
  7861. if (!SqlJoint.IsNullOrSpace(val1)) {
  7862. flag=val1;
  7863. if (!SqlJoint.IsNullOrSpace(val2)) {
  7864. if (flag.compareTo(val2)>=0) {
  7865. flag=val2;
  7866. if (!SqlJoint.IsNullOrSpace(val3)) {
  7867. if (flag.compareTo(val3)>=0) {
  7868. flag=val3;
  7869. }
  7870. }
  7871. }else {
  7872. if (!SqlJoint.IsNullOrSpace(val3)) {
  7873. if (flag.compareTo(val3)>=0) {
  7874. flag=val3;
  7875. }
  7876. }
  7877. }
  7878. }else {
  7879. if (!SqlJoint.IsNullOrSpace(val3)) {
  7880. if (flag.compareTo(val3)>=0) {
  7881. flag=val3;
  7882. }
  7883. }
  7884. }
  7885. return flag;
  7886. }
  7887. //如果val1为空
  7888. if (!SqlJoint.IsNullOrSpace(val2)) {
  7889. flag=val2;
  7890. if (!SqlJoint.IsNullOrSpace(val3)) {
  7891. if (flag.compareTo(val3)>=0) {
  7892. flag=val3;
  7893. }
  7894. }
  7895. return flag;
  7896. }
  7897. //如果val1和val2都为空
  7898. if (!SqlJoint.IsNullOrSpace(val3)) {
  7899. flag=val3;
  7900. return flag;
  7901. }
  7902. }
  7903. //最大值
  7904. if (type.equalsIgnoreCase("B")) {
  7905. //如果val1不为空
  7906. if (!SqlJoint.IsNullOrSpace(val1)) {
  7907. flag=val1;
  7908. if (!SqlJoint.IsNullOrSpace(val2)) {
  7909. if (flag.compareTo(val2)<=0) {
  7910. flag=val2;
  7911. if (!SqlJoint.IsNullOrSpace(val3)) {
  7912. if (flag.compareTo(val3)<=0) {
  7913. flag=val3;
  7914. }
  7915. }
  7916. }else {
  7917. if (!SqlJoint.IsNullOrSpace(val3)) {
  7918. if (flag.compareTo(val3)<=0) {
  7919. flag=val3;
  7920. }
  7921. }
  7922. }
  7923. }else {
  7924. if (!SqlJoint.IsNullOrSpace(val3)) {
  7925. if (flag.compareTo(val3)<=0) {
  7926. flag=val3;
  7927. }
  7928. }
  7929. }
  7930. return flag;
  7931. }
  7932. //如果val1为空
  7933. if (!SqlJoint.IsNullOrSpace(val2)) {
  7934. flag=val2;
  7935. if (!SqlJoint.IsNullOrSpace(val3)) {
  7936. if (flag.compareTo(val3)<=0) {
  7937. flag=val3;
  7938. }
  7939. }
  7940. return flag;
  7941. }
  7942. //如果val1和val2都为空
  7943. if (!SqlJoint.IsNullOrSpace(val3)) {
  7944. flag=val3;
  7945. return flag;
  7946. }
  7947. }
  7948. //平均值判定
  7949. if (type.equalsIgnoreCase("C")) {
  7950. if (!SqlJoint.IsNullOrSpace(val1)) {
  7951. flag=val1;
  7952. if (!SqlJoint.IsNullOrSpace(val2)) {
  7953. if (!SqlJoint.IsNullOrSpace(val3)) {
  7954. Double a=(Double.parseDouble(val1)+Double.parseDouble(val2)+Double.parseDouble(val3))/3;
  7955. flag=a.toString();
  7956. }else {
  7957. Double a=(Double.parseDouble(val1)+Double.parseDouble(val2))/2;
  7958. flag=a.toString();
  7959. }
  7960. }else {
  7961. if (!SqlJoint.IsNullOrSpace(val3)) {
  7962. Double a=(Double.parseDouble(val1)+Double.parseDouble(val3))/2;
  7963. flag=a.toString();
  7964. }
  7965. }
  7966. }else {
  7967. if (!SqlJoint.IsNullOrSpace(val2)) {
  7968. flag=val2;
  7969. if (!SqlJoint.IsNullOrSpace(val3)) {
  7970. Double a=(Double.parseDouble(val2)+Double.parseDouble(val3))/2;
  7971. flag=a.toString();
  7972. }
  7973. }else {
  7974. if (!SqlJoint.IsNullOrSpace(val3)) {
  7975. flag=val3;
  7976. }
  7977. }
  7978. }
  7979. return flag;
  7980. }
  7981. //最大最小差值
  7982. if (type.equalsIgnoreCase("D")) {
  7983. //如果val1不为空
  7984. if (!SqlJoint.IsNullOrSpace(val1)) {
  7985. min=val1;
  7986. if (!SqlJoint.IsNullOrSpace(val2)) {
  7987. if (min.compareTo(val2)>=0) {
  7988. min=val2;
  7989. if (!SqlJoint.IsNullOrSpace(val3)) {
  7990. if (min.compareTo(val3)>=0) {
  7991. min=val3;
  7992. }
  7993. }
  7994. }else {
  7995. if (!SqlJoint.IsNullOrSpace(val3)) {
  7996. if (min.compareTo(val3)>=0) {
  7997. min=val3;
  7998. }
  7999. }
  8000. }
  8001. }else {
  8002. if (!SqlJoint.IsNullOrSpace(val3)) {
  8003. if (min.compareTo(val3)>=0) {
  8004. min=val3;
  8005. }
  8006. }
  8007. }
  8008. }else if (!SqlJoint.IsNullOrSpace(val2)) {
  8009. min=val2;
  8010. if (!SqlJoint.IsNullOrSpace(val3)) {
  8011. if (min.compareTo(val3)>=0) {
  8012. min=val3;
  8013. }
  8014. }
  8015. }else if (!SqlJoint.IsNullOrSpace(val3)) {
  8016. min=val3;
  8017. }
  8018. //如果val1不为空
  8019. if (!SqlJoint.IsNullOrSpace(val1)) {
  8020. max=val1;
  8021. if (!SqlJoint.IsNullOrSpace(val2)) {
  8022. if (max.compareTo(val2)<=0) {
  8023. max=val2;
  8024. if (!SqlJoint.IsNullOrSpace(val3)) {
  8025. if (max.compareTo(val3)<=0) {
  8026. max=val3;
  8027. }
  8028. }
  8029. }else {
  8030. if (!SqlJoint.IsNullOrSpace(val3)) {
  8031. if (max.compareTo(val3)<=0) {
  8032. max=val3;
  8033. }
  8034. }
  8035. }
  8036. }else {
  8037. if (!SqlJoint.IsNullOrSpace(val3)) {
  8038. if (max.compareTo(val3)<=0) {
  8039. max=val3;
  8040. }
  8041. }
  8042. }
  8043. }else if (!SqlJoint.IsNullOrSpace(val2)) {
  8044. max=val2;
  8045. if (!SqlJoint.IsNullOrSpace(val3)) {
  8046. if (max.compareTo(val3)<=0) {
  8047. max=val3;
  8048. }
  8049. }
  8050. }else if (!SqlJoint.IsNullOrSpace(val3)) {
  8051. max=val3;
  8052. }
  8053. if(!SqlJoint.IsNullOrSpace(max)){
  8054. if(SqlJoint.IsNullOrSpace(min)){
  8055. flag = max;
  8056. }else{
  8057. flag = String.valueOf(Double.parseDouble(max)-Double.parseDouble(min));
  8058. }
  8059. }
  8060. }
  8061. return flag;
  8062. }
  8063. /**
  8064. * 比较val值,根据判定依据比较
  8065. * @param val1
  8066. * @param val2
  8067. * @param val3
  8068. * @param type
  8069. * @return
  8070. */
  8071. public String compareVal1(String val1,String val2,String val3,String val4,String val5,String val6,String val7,String val8,String val9,String type){
  8072. String flag=val1;
  8073. String max = val1;
  8074. String min = val1;
  8075. Double c = 0.0;
  8076. Double d = 0.0;
  8077. int count = 0;
  8078. String[] a ={val1,val2,val3,val4,val5,val6,val7,val8,val9};
  8079. //最小值
  8080. if (type.equalsIgnoreCase("A")) {
  8081. for (int i = 0; i < a.length; i++) {
  8082. if(!SqlJoint.IsNullOrSpace(a[i]))
  8083. {
  8084. if (flag.compareTo(a[i])> 0 ) {
  8085. flag=a[i];
  8086. }
  8087. }
  8088. }
  8089. return flag;
  8090. }
  8091. //最大值
  8092. if (type.equalsIgnoreCase("B")) {
  8093. for (int i = 0; i < a.length; i++) {
  8094. if(!SqlJoint.IsNullOrSpace(a[i]))
  8095. {
  8096. if (flag.compareTo(a[i])< 0 ) {
  8097. flag=a[i];
  8098. }
  8099. }
  8100. }
  8101. return flag;
  8102. }
  8103. //平均值判定
  8104. if (type.equalsIgnoreCase("C")) {
  8105. for (int i = 0; i < a.length; i++) {
  8106. if(!SqlJoint.IsNullOrSpace(a[i]))
  8107. {
  8108. c = c+Double.parseDouble(a[i]);
  8109. count ++;
  8110. }
  8111. }
  8112. d= c/count;
  8113. flag = d.toString();
  8114. return flag;
  8115. }
  8116. //最大最小差值
  8117. if (type.equalsIgnoreCase("D")) {
  8118. for (int i = 0; i < a.length; i++) {
  8119. if(!SqlJoint.IsNullOrSpace(a[i]))
  8120. {
  8121. if (min.compareTo(a[i])> 0 ) {
  8122. min=a[i];
  8123. }
  8124. if (max.compareTo(a[i])< 0 ) {
  8125. max=a[i];
  8126. }
  8127. }
  8128. }
  8129. flag = String.valueOf(Double.parseDouble(max)-Double.parseDouble(min));
  8130. return flag;
  8131. }
  8132. return flag;
  8133. }
  8134. /*
  8135. * @desc coiljudge_status_call
  8136. * @param pline 产线'RZ1' 'SZ1' 'LT1'
  8137. * @param pcoilno 钢卷号
  8138. * @param chemrs 成分判定结果 '1'合格 '2'不合格
  8139. * @param qltyrs 材质判定结果 '1'合格 '2'不合格
  8140. * @param sizers 尺寸判定结果 '1'合格 '2'不合格
  8141. * @param exshrs 外观判定结果 '1'合格 '2'不合格,'3'次品 '4'废品
  8142. * @param totrs 综合判定
  8143. * @param fb_yn 是否封闭
  8144. * @param fb_reason 封闭原因
  8145. * @return void
  8146. *
  8147. * @date 2022/8/24 17:22
  8148. * @author Ljy
  8149. */
  8150. public void coiljudge_status_call(
  8151. String pline
  8152. , String pcoilno
  8153. , String chemrs
  8154. , String qltyrs
  8155. , String sizers
  8156. , String exshrs
  8157. , String totrs
  8158. , String fb_yn
  8159. , String fb_reason,String sf_lv) throws java.lang.Exception {
  8160. Connection conn = null;
  8161. CallableStatement cstmt = null;
  8162. ResultSet rs = null;
  8163. try {
  8164. conn = SqlSession.getConnection();
  8165. String callSql = "{call COILJUDGE_STATUSNEW(?,?,?,?,?,?,?,?,?,?,?,?) }";
  8166. cstmt = conn.prepareCall(callSql);
  8167. cstmt.setString(1, StringUtils.isBlank(pline) ? "" : pline);
  8168. cstmt.setString(2, StringUtils.isBlank(pcoilno) ? "" : pcoilno);
  8169. cstmt.setString(3, StringUtils.isBlank(chemrs) ? "" : chemrs);
  8170. cstmt.setString(4, StringUtils.isBlank(qltyrs) ? "" : qltyrs);
  8171. cstmt.setString(5, StringUtils.isBlank(sizers) ? "" : sizers);
  8172. cstmt.setString(6, StringUtils.isBlank(exshrs) ? "" : exshrs);
  8173. cstmt.setString(7, StringUtils.isBlank(totrs) ? "" : totrs);
  8174. cstmt.setString(8, StringUtils.isBlank(fb_yn) ? "" : fb_yn);
  8175. cstmt.setString(9, StringUtils.isBlank(fb_reason) ? "" : fb_reason);
  8176. cstmt.setString(10, StringUtils.isBlank(sf_lv) ? "" : sf_lv);
  8177. cstmt.registerOutParameter(11, java.sql.Types.INTEGER);
  8178. cstmt.registerOutParameter(12, java.sql.Types.VARCHAR);
  8179. cstmt.execute();
  8180. if(cstmt.getString(11) != null){
  8181. if(cstmt.getString(11).equals("2")){
  8182. throw new java.lang.Exception(cstmt.getString(11).toString());
  8183. }
  8184. }
  8185. } catch (Exception e) {
  8186. throw new Exception(e.getMessage());
  8187. } finally {
  8188. try {
  8189. if (rs != null) {
  8190. rs.close();
  8191. }
  8192. } catch (Exception e) {
  8193. throw new Exception(e.getMessage());
  8194. }
  8195. try {
  8196. if (cstmt != null) {
  8197. cstmt.close();
  8198. }
  8199. } catch (Exception e) {
  8200. throw new Exception(e.getMessage());
  8201. }
  8202. }
  8203. }
  8204. private void ZHB1_QCM_JHY_SAMPLE_PHYSRESULT(String smp_no,String batch_no) throws java.lang.Exception
  8205. {
  8206. Connection conn = null;
  8207. CallableStatement cstmt = null;
  8208. ResultSet rs = null;
  8209. try {
  8210. conn = SqlSession.getConnection();
  8211. String callSql = "{ZHB1_QCM_JHY_SAMPLE_PHYSRESULT(?,?) }";
  8212. cstmt = conn.prepareCall(callSql);
  8213. cstmt.setString(1, smp_no);
  8214. cstmt.setString(2, batch_no);
  8215. cstmt.execute();
  8216. } catch (Exception e) {
  8217. throw new Exception(e.getMessage());
  8218. } finally {
  8219. try {
  8220. if (rs != null) {
  8221. rs.close();
  8222. }
  8223. } catch (Exception e) {
  8224. throw new Exception(e.getMessage());
  8225. }
  8226. try {
  8227. if (cstmt != null) {
  8228. cstmt.close();
  8229. }
  8230. } catch (Exception e) {
  8231. throw new Exception(e.getMessage());
  8232. }
  8233. }
  8234. }
  8235. @SuppressWarnings({ "unused", "rawtypes" })
  8236. public CoreReturnObject cancelUltimateJudge(String username,String material_no,String utm_id) throws Exception{
  8237. try {
  8238. String sql = "";
  8239. sql = "select * from zj_result_all@xgcx where BILLETID = '"+material_no+"'";
  8240. List<HashMap> list1 = mapper.query(sql);
  8241. sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+material_no+"'";
  8242. List<HashMap> list2 = mapper.query(sql);
  8243. //库存表放
  8244. List<QcmJudgeUltimate> qju = mapper.QcmJudgeUltimate("select * from Qcm_Judge_Ultimate where utm_id = '"+utm_id+"'");
  8245. String inspection_lot = "";
  8246. if(list1.size() >0 || list2.size() >0){
  8247. if(list1.size()>0){
  8248. if(list1.get(0).get("BILLETID_JY")==null || list1.get(0).get("BILLETID_JY").toString().equals("") ){
  8249. if(qju.size() > 0){
  8250. inspection_lot = qju.get(0).getInspection_lot();
  8251. }
  8252. }else{
  8253. inspection_lot = list1.get(0).get("BILLETID_JY").toString();
  8254. }
  8255. String design_key = qju.get(0).getDesign_key() == null?"":qju.get(0).getDesign_key().toString();
  8256. mapper.clearJUDGERESULT(material_no,inspection_lot);
  8257. canceljudge_call(material_no,design_key);
  8258. /*String steelname = hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString();
  8259. String phyid = list1.get(0).get("PHYSID")==null?"":list1.get(0).get("PHYSID").toString();
  8260. 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+"')";
  8261. List<HashMap> liststeel = mapper.query(sql);
  8262. if(liststeel != null && liststeel.size() >0 ){
  8263. steelname = liststeel.get(0).get("STEEL_NAME").toString();
  8264. }
  8265. 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);*/
  8266. }else{
  8267. /*QcmJudgeMeasureServiceImpl qjms = new QcmJudgeMeasureServiceImpl();
  8268. List<HashMap> hashmap = qjms.doQueryMaterialInfoJ(material_no);*/
  8269. if(list2.get(0).get("INSPECTION_LOT")==null){
  8270. inspection_lot = qju.get(0).getInspection_lot();
  8271. }else{
  8272. inspection_lot = list2.get(0).get("INSPECTION_LOT").toString();
  8273. }
  8274. mapper.clearJUDGERESULT1(material_no,inspection_lot);
  8275. coiljudge_status_call(qju.get(0).getPline_code(), material_no, null, null, null, null, "D", null, null,"");
  8276. }
  8277. }else{
  8278. throw new Exception("未找到库存信息!");
  8279. }
  8280. mapper.CancelUltimate(utm_id, "表面判定",username);
  8281. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  8282. qjog.setOperate_name(username);
  8283. qjog.setOperate_type("取消综合判定");
  8284. qjog.setParams(material_no);
  8285. qjog.setProd_line(qju.get(0).getPline_code());
  8286. qjog.setBatchno(qju.get(0).getBatch_no());
  8287. mapper.insertQcmJudgeOperateLog(qjog);
  8288. } catch (Exception e) {
  8289. SqlSession.rollback();
  8290. cro.setV_errCode(-1);
  8291. cro.setV_errMsg("取消综合判定失败!"+e.getMessage());
  8292. logger.info(new Date().toString() + " QCM.QCM03.QCM0302.QcmJudgePhysicalServiceImpl.cancelUltimateJudge:【" + username + "," + material_no + "】" + e);
  8293. }
  8294. return cro;
  8295. }
  8296. private void canceljudge_call(String aSlabNos,String design_key) throws java.lang.Exception
  8297. {
  8298. Connection conn = null;
  8299. CallableStatement cstmt = null;
  8300. ResultSet rs = null;
  8301. try {
  8302. conn = SqlSession.getConnection();
  8303. String callSql = "{call GETJHTOMESPLAN.JudgeRec_Del@xgcx(?,?,?) }";
  8304. cstmt = conn.prepareCall(callSql);
  8305. cstmt.setString(1, aSlabNos);
  8306. cstmt.setString(2, design_key);
  8307. cstmt.registerOutParameter(3, java.sql.Types.INTEGER);
  8308. cstmt.execute();
  8309. if(cstmt.getString(3) != null){
  8310. if(cstmt.getString(3).equals("0")){
  8311. throw new java.lang.Exception("更新判定结果失败!");
  8312. }
  8313. }
  8314. } catch (Exception e) {
  8315. throw new Exception(e.getMessage());
  8316. } finally {
  8317. try {
  8318. if (rs != null) {
  8319. rs.close();
  8320. }
  8321. } catch (Exception e) {
  8322. throw new Exception(e.getMessage());
  8323. }
  8324. try {
  8325. if (cstmt != null) {
  8326. cstmt.close();
  8327. }
  8328. } catch (Exception e) {
  8329. throw new Exception(e.getMessage());
  8330. }
  8331. }
  8332. }
  8333. /**param1 改判除外的异常材处置
  8334. * 产品序号、锁定记录号、封锁来源、处置去向、处置去向说明、操作人,单项判定记录号
  8335. * @param param1
  8336. * @return
  8337. * @throws Exception
  8338. */
  8339. @SuppressWarnings("rawtypes")
  8340. public CoreReturnObject doInformationSure(ArrayList param1) throws Exception{
  8341. try{
  8342. if(param1 == null || param1.size() <= 0){
  8343. throw new Exception("请传入参数!");
  8344. }
  8345. List<HashMap> hashmap = mapper.doQueryMaterialInfoHB(param1.get(0).toString());
  8346. if(hashmap.size() == 0){
  8347. hashmap = mapper.doQueryMaterialInfoZB(param1.get(0).toString());
  8348. }
  8349. if(hashmap.size() == 0){
  8350. hashmap = mapper.doQueryMaterialInfoX(param1.get(0).toString());
  8351. }
  8352. if(hashmap.size() == 0){
  8353. hashmap = mapper.doQueryMaterialInfoJ(param1.get(0).toString());
  8354. }
  8355. String sql = "select * from qcm_judge_locking where material_no = '"+param1.get(0).toString()+"' and lock_seq = '"+param1.get(1).toString()+"' and unlock_type_code is null and lock_memo != '待判' ";
  8356. List<QCMJudgeLocking> qjls = mapper.queryQCMJudgeLockings(sql);
  8357. if(qjls.size() == 0){
  8358. // SqlSession.close();
  8359. return cro;
  8360. }
  8361. QCMJudgeLocking qjl = mapper.queryQCMJudgeLockings(sql).get(0);
  8362. sql = "select * from zj_result_all@xgcx where BILLETID = '"+param1.get(0).toString()+"'";
  8363. List<HashMap> list1 = mapper.query(sql);
  8364. sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+param1.get(0).toString()+"'";
  8365. List<HashMap> list2 = mapper.query(sql);
  8366. //判废
  8367. if(param1.get(3).toString().equals("5")){
  8368. qjl.setUnlock_type_code("5");
  8369. qjl.setUnlock_type_desc("判废");
  8370. qjl.setUnlock_memo(param1.get(4).toString());
  8371. qjl.setUnlock_name(param1.get(5).toString());
  8372. if(param1.get(2).toString().equals("P")){
  8373. qjl.setPic_locking("0");
  8374. //修改库存锁定
  8375. //更新库存表放行
  8376. if(list1.size() >0 || list2.size() >0){
  8377. if(list1.size()>0){
  8378. for(HashMap lists:list1){
  8379. if(!lists.get("JUDGERESULT").toString().equals("0")){
  8380. throw new Exception("该产品序号["+param1.get(0).toString()+"]做了综合判定,不能放行!");
  8381. }
  8382. }
  8383. ZjResultAll zra = new ZjResultAll();
  8384. if(param1.get(6).toString().equals(list1.get(0).get("PHYFSTSID"))){
  8385. zra.setPhyfstsresult("4");
  8386. zra.setPhyfstsresult_desc("判废");
  8387. }
  8388. zra.setPhysresult("4");
  8389. zra.setPhysresult_desc("判废");
  8390. sql = "select * from qcm_judge_physical_utm_d a where a.phy_id = '"+list2.get(0).get("PHYFSTSID")+"'";
  8391. List<HashMap> list = mapper.query(sql);
  8392. if(list.size() >0){
  8393. zra.setPhysid(list.get(0).get("PIC_ID").toString());
  8394. }
  8395. zra.setBilletid(list1.get(0).get("BILLETID").toString());
  8396. zra.setPic_is_lock("0");
  8397. mapper.UpdateJugeResultB(zra);
  8398. qjl.setMaterial_no(param1.get(0).toString());
  8399. qjl.setUnlock_name(param1.get(5).toString());
  8400. //qjl.setLock_id(param1.get(6).toString());
  8401. qjl.setReason_code(param1.get(7).toString());
  8402. List<HashMap> listsu = mapper.finddefecttype(param1.get(7).toString());
  8403. if(listsu.size() >0)
  8404. {
  8405. qjl.setReason_desc(listsu.get(0).get("DEFECT_DESC")==null?"":listsu.get(0).get("DEFECT_DESC").toString());
  8406. qjl.setFlaw_code(listsu.get(0).get("DEFECT_TYPE_CODE")==null?"":listsu.get(0).get("DEFECT_TYPE_CODE").toString());
  8407. qjl.setFlaw_desc(listsu.get(0).get("DEFECT_TYPE_DESC") == null ?"":listsu.get(0).get("DEFECT_TYPE_DESC").toString());
  8408. }
  8409. mapper.UpdateQcmJudgeLocking1(qjl);
  8410. ultimateJudgeAuto1(param1.get(0).toString(),param1.get(5).toString(),"4");
  8411. //脱单
  8412. order_down(param1.get(0).toString(),"判废");
  8413. // SqlSession.commit();
  8414. }else{
  8415. for(HashMap lists:list2){
  8416. if(!lists.get("JUDGERESULT").toString().equals("0")){
  8417. throw new Exception("该产品序号["+param1.get(0).toString()+"]做了综合判定,不能放行!");
  8418. }
  8419. }
  8420. QcmJudgeCoilResult zra = new QcmJudgeCoilResult();
  8421. if(param1.get(6).toString().equals(list2.get(0).get("PHYFSTSID"))){
  8422. zra.setPhyfstsresult("4");
  8423. zra.setPhyfstsresult_desc("判废");
  8424. }
  8425. zra.setPhysresult("4");
  8426. zra.setPhysresult_desc("判废");
  8427. sql = "select * from qcm_judge_physical_utm_d a where a.phy_id = '"+list2.get(0).get("PHYFSTSID")+"'";
  8428. List<HashMap> list = mapper.query(sql);
  8429. if(list.size() >0){
  8430. zra.setPhysid(list.get(0).get("PIC_ID").toString());
  8431. }
  8432. zra.setCoil_no(list2.get(0).get("COIL_NO").toString());
  8433. //zra.setInspection_lot(list2.get(0).get("INSPECTION_LOT").toString());
  8434. zra.setPic_is_lock("0");
  8435. mapper.UpdateJugeResultJ(zra);
  8436. PhyUtmJudge(qjl.getDesign_key(),list2.get(0).get("INSPECTION_LOT").toString() , param1.get(5).toString());
  8437. qjl.setMaterial_no(param1.get(0).toString());
  8438. qjl.setUnlock_name(param1.get(5).toString());
  8439. //qjl.setLock_id(param1.get(6).toString());
  8440. qjl.setReason_code(param1.get(7).toString());
  8441. List<HashMap> listsu = mapper.finddefecttype(param1.get(7).toString());
  8442. if(listsu.size() >0)
  8443. {
  8444. qjl.setReason_desc(listsu.get(0).get("DEFECT_DESC")==null?"":listsu.get(0).get("DEFECT_DESC").toString());
  8445. qjl.setFlaw_code(listsu.get(0).get("DEFECT_TYPE_CODE")==null?"":listsu.get(0).get("DEFECT_TYPE_CODE").toString());
  8446. qjl.setFlaw_desc(listsu.get(0).get("DEFECT_TYPE_DESC") == null ?"":listsu.get(0).get("DEFECT_TYPE_DESC").toString());
  8447. }
  8448. mapper.UpdateQcmJudgeLocking1(qjl);
  8449. //脱单
  8450. // SqlSession.commit();
  8451. }
  8452. }else{
  8453. throw new Exception("未找到库存信息!");
  8454. }
  8455. }
  8456. }
  8457. if(param1.get(3).toString().equals("10")){
  8458. qjl.setUnlock_type_code("10");
  8459. qjl.setUnlock_type_desc("待判");
  8460. qjl.setUnlock_memo(param1.get(4).toString());
  8461. qjl.setUnlock_result("");
  8462. qjl.setUnlock_name(param1.get(5).toString());
  8463. qjl.setLock_id(param1.get(6).toString());
  8464. qjl.setMaterial_no(param1.get(0).toString());
  8465. List<HashMap> listsu = mapper.finddefecttype(param1.get(7).toString());
  8466. if(listsu.size() >0)
  8467. {
  8468. qjl.setReason_desc(listsu.get(0).get("DEFECT_DESC")==null?"":listsu.get(0).get("DEFECT_DESC").toString());
  8469. qjl.setFlaw_code(listsu.get(0).get("DEFECT_TYPE_CODE")==null?"":listsu.get(0).get("DEFECT_TYPE_CODE").toString());
  8470. qjl.setFlaw_desc(listsu.get(0).get("DEFECT_TYPE_DESC") == null ?"":listsu.get(0).get("DEFECT_TYPE_DESC").toString());
  8471. }
  8472. mapper.UpdateQcmJudgeLocking1(qjl);
  8473. int count = 0;
  8474. String condition = " and MATERIAL_NO = '"+param1.get(0).toString()+"' order by LOCK_SEQ desc ";
  8475. List<QCMJudgeLocking> qjlk = mapper.queryQCMJudgeLocking(condition);
  8476. if(qjlk.size() > 0){
  8477. count=qjlk.get(0).getLock_seq();
  8478. }
  8479. count++;
  8480. //锁定记录号
  8481. int lock_seq=count;
  8482. qjl.setLock_seq(lock_seq);
  8483. qjl.setUnlock_type_code("");
  8484. qjl.setUnlock_type_desc("");
  8485. qjl.setLock_memo("待判");
  8486. qjl.setTarget_design_key("");
  8487. qjl.setUnlock_name("");
  8488. mapper.insertQCMJudgeLocking(qjl);
  8489. if(param1.get(0).toString().startsWith("Z") || param1.get(0).toString().startsWith("H")){
  8490. sql = "select billetid from kch_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + param1.get(0).toString() + "'"
  8491. + " union all select billetid from kcz_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + param1.get(0).toString() + "' UNION ALL "
  8492. + " select billetid from kcj_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + param1.get(0).toString() + "' union all "
  8493. + " select billetid from kcj_storagelist@xgcx where storagestatus = '501002' and billetid = '" + param1.get(0).toString() + "'";
  8494. List<HashMap> listB = mapper.query(sql);
  8495. if(listB.size() >0){
  8496. ultimateJudgeAuto1(param1.get(0).toString(),param1.get(5).toString(),"0");
  8497. }
  8498. }
  8499. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  8500. qjog.setOperate_name(param1.get(5).toString());
  8501. qjog.setOperate_type("异常处置待判");
  8502. qjog.setParams(param1.get(0).toString());
  8503. qjog.setBatchno(qjls.get(0).getBatch_no());
  8504. qjog.setProd_line(qjl.getPline_code());
  8505. mapper.insertQcmJudgeOperateLog(qjog);
  8506. }
  8507. //复样
  8508. if(param1.get(3).toString().equals("1")){
  8509. hashmap = mapper.doQueryMaterialInfoHB(param1.get(0).toString());
  8510. if(hashmap.size() == 0){
  8511. hashmap = mapper.doQueryMaterialInfoZB(param1.get(0).toString());
  8512. }
  8513. if(hashmap.size() == 0){
  8514. hashmap = mapper.doQueryMaterialInfoX(param1.get(0).toString());
  8515. }
  8516. if(hashmap.size() == 0){
  8517. hashmap = mapper.doQueryMaterialInfoJ(param1.get(0).toString());
  8518. }
  8519. if(hashmap.size() == 0){
  8520. throw new Exception("找不到库存,不能复样!");
  8521. }
  8522. //重新
  8523. //质量锁定解锁
  8524. /*sql = "select * from qcm_judge_locking where material_no = '"+param1.get(0).toString()+"' and lock_type_code = '"+param1.get(2).toString()+"' and unlock_type_code = '1' ";
  8525. List<QCMJudgeLocking> qjlt = mapper.queryQCMJudgeLockings(sql);*/
  8526. /*if(qjlt.size() > 0){
  8527. throw new Exception("该产品序号["+param1.get(0).toString()+"]已经做了复样,不能重复复样!");
  8528. }*/
  8529. qjl.setUnlock_type_code("1");
  8530. qjl.setUnlock_type_desc("复样");
  8531. qjl.setUnlock_memo(param1.get(4).toString());
  8532. qjl.setUnlock_name(param1.get(5).toString());
  8533. if(param1.get(2).toString().equals("P")){
  8534. qjl.setPic_locking("0");
  8535. List<QcmJudgePhysical> list = mapper.queryQcmJudgePhysical(param1.get(6).toString());
  8536. //更新库存表
  8537. if(list1.size() >0 || list2.size() >0){
  8538. if(list1.size()>0){
  8539. for(HashMap lists:list1){
  8540. if(!lists.get("JUDGERESULT").toString().equals("0")){
  8541. throw new Exception("该产品序号["+param1.get(0).toString()+"]做了综合判定,不能复样!");
  8542. }
  8543. }
  8544. ZjResultAll zra = new ZjResultAll();
  8545. if(list.get(0).getCert_inst_name().equals("检测中心"))
  8546. {
  8547. zra.setPhyfstsresult("0");
  8548. zra.setPhyfstsresult_desc("");
  8549. }
  8550. zra.setPhysresult("0");
  8551. zra.setPhysresult_desc("");
  8552. zra.setPic_is_lock("0");
  8553. List<QcmJhySampleROrd> qjsrt = mapper.queryQcmJhySampleROrd1("select * from QCM_JHY_SAMPLE_R_ORD where INSPECTION_LOT = '"+list1.get(0).get("BILLETID_JY").toString()+"' and JUDGE_STATUS = '0'");
  8554. if(qjsrt.size() > 0 && !param1.get(0).toString().startsWith("Z") && !param1.get(0).toString().startsWith("H")){
  8555. throw new Exception("该检验号下存在未判信息,不能复样!");
  8556. }
  8557. sql = "select * from qcm_jhy_sample_r_ord z where z.smp_no in (select a.smp_no from qcm_judge_physical a where a.phy_id = '"+param1.get(6).toString()+"') and z.duplicate_sample = '复样'";
  8558. List<HashMap> listF= mapper.query(sql);
  8559. if(listF.size() >0){
  8560. throw new Exception("已复样的不能复样!");
  8561. }
  8562. sql = "SELECT * FROM QCM_JHY_SAMPLE_CONSIGN_D A WHERE A.INSPECTION_LOT = '"+list1.get(0).get("BILLETID_JY").toString()+"' and a.phy_item like '%夹杂%'";
  8563. List<HashMap> listd1 = mapper.query(sql);
  8564. for(HashMap lists:list1){
  8565. if((param1.get(0).toString().startsWith("H") || param1.get(0).toString().startsWith("Z")) && qjl.getLock_memo().contains("夹杂") && listd1.get(0).get("FREQ_CODE").equals("D")){
  8566. List<HashMap> listd = mapper.query("select t.* from QCM_JHY_SAMPLE_CONSIGN_D t where substr(t.HEAT_NO,0,9) = substr('"+list.get(0).getHeat_no()+"',0,9) and t.FREQ_CODE = 'D' and t.smp_type_code = '0' and T.QUOTE_CONSIGN_NO is null and rownum <=1");
  8567. /*if(listd.get(0).get("BATCH_NO").toString().equals(qjl.getBatch_no())){
  8568. throw new Exception("夹杂不能选择初样不合格的轧批进行复样!");
  8569. }*/
  8570. //非初样轧批质量异常材处置
  8571. qjl = new QCMJudgeLocking();
  8572. qjl.setUnlock_type_code("1");
  8573. qjl.setUnlock_type_desc("复样");
  8574. qjl.setUnlock_memo(param1.get(4).toString());
  8575. qjl.setUnlock_result("");
  8576. qjl.setPic_locking("0");
  8577. qjl.setHeat_no(list.get(0).getHeat_no());
  8578. //qjl.setMaterial_no(lists.get("BILLETID").toString());
  8579. qjl.setBatch_no(listd.get(0).get("BATCH_NO").toString());
  8580. qjl.setUnlock_name(param1.get(5).toString());
  8581. qjl.setLock_id(param1.get(6).toString());
  8582. qjl.setReason_code(param1.get(7).toString());
  8583. qjl.setLock_type_code(param1.get(2).toString());
  8584. List<HashMap> listsu = mapper.finddefecttype(param1.get(7).toString());
  8585. if(listsu.size() >0)
  8586. {
  8587. qjl.setReason_desc(listsu.get(0).get("DEFECT_DESC")==null?"":listsu.get(0).get("DEFECT_DESC").toString());
  8588. qjl.setFlaw_code(listsu.get(0).get("DEFECT_TYPE_CODE")==null?"":listsu.get(0).get("DEFECT_TYPE_CODE").toString());
  8589. qjl.setFlaw_desc(listsu.get(0).get("DEFECT_TYPE_DESC") == null ?"":listsu.get(0).get("DEFECT_TYPE_DESC").toString());
  8590. }
  8591. mapper.UpdateQcmJudgeLocking7(qjl);
  8592. sql = "select * from qcm_judge_locking where batch_no = '"+qjls.get(0).getBatch_no()+"'";
  8593. List<QCMJudgeLocking> qjlf = mapper.queryQCMJudgeLockings(sql);
  8594. for(QCMJudgeLocking qjll:qjlf){
  8595. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  8596. qjog.setOperate_name(param1.get(5).toString());
  8597. qjog.setOperate_type("复样");
  8598. qjog.setParams(qjll.getMaterial_no());
  8599. qjog.setBatchno(qjls.get(0).getBatch_no());
  8600. qjog.setProd_line(qjll.getPline_code());
  8601. mapper.insertQcmJudgeOperateLog(qjog);
  8602. }
  8603. //初样质量异常材处置
  8604. qjl = new QCMJudgeLocking();
  8605. qjl.setUnlock_type_code("0");
  8606. qjl.setUnlock_type_desc("待判");
  8607. qjl.setUnlock_memo("初样取样批号不可复样");
  8608. qjl.setPic_locking("0");
  8609. //qjl.setMaterial_no(lists.get("BILLETID").toString());
  8610. qjl.setBatch_no(listd.get(0).get("BATCH_NO").toString());
  8611. qjl.setUnlock_name(param1.get(5).toString());
  8612. qjl.setLock_id(param1.get(6).toString());
  8613. qjl.setReason_code(param1.get(7).toString());
  8614. qjl.setLock_type_code(param1.get(2).toString());
  8615. qjl.setLock_name(param1.get(5).toString());
  8616. listsu = mapper.finddefecttype(param1.get(7).toString());
  8617. if(listsu.size() >0)
  8618. {
  8619. qjl.setReason_desc(listsu.get(0).get("DEFECT_DESC")==null?"":listsu.get(0).get("DEFECT_DESC").toString());
  8620. qjl.setFlaw_code(listsu.get(0).get("DEFECT_TYPE_CODE")==null?"":listsu.get(0).get("DEFECT_TYPE_CODE").toString());
  8621. qjl.setFlaw_desc(listsu.get(0).get("DEFECT_TYPE_DESC") == null ?"":listsu.get(0).get("DEFECT_TYPE_DESC").toString());
  8622. }
  8623. List<QCMJudgeLocking> qjl2 = mapper.queryQCMJudgeLockings("select * from qcm_judge_locking x where substr(x.heat_no,0,9) = substr('"+list.get(0).getHeat_no()+"',0,9) and batch_no <> '"+list.get(0).getBatch_no()+"' and unlock_type_code is null");
  8624. for(QCMJudgeLocking qjl22 : qjl2){
  8625. zra.setBilletid(qjl22.getMaterial_no());
  8626. mapper.UpdateJugeResultB(zra);
  8627. }
  8628. List<QCMJudgeLocking> qjl3 = mapper.queryQCMJudgeLockings("select * from qcm_judge_locking x where substr(x.heat_no,0,9) = substr('"+list.get(0).getHeat_no()+"',0,9) and batch_no = '"+list.get(0).getBatch_no()+"' and material_no = '"+lists.get("BILLETID").toString()+"' and unlock_type_code is null");
  8629. mapper.UpdateQcmJudgeLocking1(qjl);
  8630. for(QCMJudgeLocking qjl22 : qjl3){
  8631. int count = 0;
  8632. String condition = " and MATERIAL_NO = '"+qjl22.getMaterial_no()+"' order by LOCK_SEQ desc ";
  8633. List<QCMJudgeLocking> qjlk = mapper.queryQCMJudgeLocking(condition);
  8634. if(qjlk.size() > 0){
  8635. count=qjlk.get(0).getLock_seq();
  8636. }
  8637. count++;
  8638. //锁定记录号
  8639. int lock_seq=count;
  8640. qjl22.setLock_seq(lock_seq);
  8641. qjl22.setUnlock_type_code("");
  8642. qjl22.setUnlock_type_desc("");
  8643. qjl22.setLock_memo("待判");
  8644. qjl22.setTarget_design_key("");
  8645. qjl22.setUnlock_name("");
  8646. mapper.insertQCMJudgeLocking(qjl22);
  8647. }
  8648. //param1.set(6, listd.get(0).get("SMP_NO").toString());
  8649. SendGenerationSampleInfo2(listd.get(0).get("BATCH_NO").toString(),hashmap,param1,"1","1",listd.get(0).get("SMP_NO").toString(),"1");
  8650. }else{
  8651. //质量异常材处置
  8652. qjl = new QCMJudgeLocking();
  8653. qjl.setUnlock_type_code("1");
  8654. qjl.setUnlock_type_desc("复样");
  8655. qjl.setUnlock_memo(param1.get(4).toString());
  8656. qjl.setUnlock_result("");
  8657. qjl.setPic_locking("0");
  8658. //qjl.setMaterial_no(lists.get("BILLETID").toString());
  8659. qjl.setBatch_no(qjls.get(0).getBatch_no());
  8660. qjl.setUnlock_name(param1.get(5).toString());
  8661. if(param1.get(0).toString().startsWith("H") || param1.get(0).toString().startsWith("Z")){
  8662. qjl.setLock_id(param1.get(6).toString());
  8663. }
  8664. qjl.setReason_code(param1.get(7).toString());
  8665. qjl.setLock_type_code(param1.get(2).toString());
  8666. List<HashMap> listsu = mapper.finddefecttype(param1.get(7).toString());
  8667. if(listsu.size() >0)
  8668. {
  8669. qjl.setReason_desc(listsu.get(0).get("DEFECT_DESC")==null?"":listsu.get(0).get("DEFECT_DESC").toString());
  8670. qjl.setFlaw_code(listsu.get(0).get("DEFECT_TYPE_CODE")==null?"":listsu.get(0).get("DEFECT_TYPE_CODE").toString());
  8671. qjl.setFlaw_desc(listsu.get(0).get("DEFECT_TYPE_DESC") == null ?"":listsu.get(0).get("DEFECT_TYPE_DESC").toString());
  8672. }
  8673. mapper.UpdateQcmJudgeLocking1(qjl);
  8674. SendGenerationSampleInfo("",hashmap,param1,"1","1","2");
  8675. zra.setBilletid_jy(list1.get(0).get("BILLETID_JY").toString());
  8676. mapper.UpdateJugeResultB(zra);
  8677. sql = "select * from qcm_judge_locking where batch_no = '"+qjls.get(0).getBatch_no()+"'";
  8678. List<QCMJudgeLocking> qjlf = mapper.queryQCMJudgeLockings(sql);
  8679. for(QCMJudgeLocking qjll:qjlf){
  8680. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  8681. qjog.setOperate_name(param1.get(5).toString());
  8682. qjog.setOperate_type("复样");
  8683. qjog.setParams(qjll.getMaterial_no());
  8684. qjog.setBatchno(qjls.get(0).getBatch_no());
  8685. qjog.setProd_line(qjll.getPline_code());
  8686. mapper.insertQcmJudgeOperateLog(qjog);
  8687. }
  8688. }
  8689. }
  8690. }else{
  8691. for(HashMap lists:list2){
  8692. if(!lists.get("JUDGERESULT").toString().equals("0")){
  8693. throw new Exception("该产品序号["+param1.get(0).toString()+"]做了综合判定,不能复样!");
  8694. }
  8695. }
  8696. QcmJudgeCoilResult zra = new QcmJudgeCoilResult();
  8697. if(list.get(0).getCert_inst_name().equals("检测中心"))
  8698. {
  8699. zra.setPhyfstsresult("0");
  8700. zra.setPhyfstsresult_desc("");
  8701. }
  8702. zra.setPhysresult("0");
  8703. zra.setPhysresult_desc("");
  8704. zra.setInspection_lot(list2.get(0).get("INSPECTION_LOT").toString());
  8705. zra.setPic_is_lock("0");
  8706. List<QcmJhySampleROrd> qjsrt = mapper.queryQcmJhySampleROrd1("select * from QCM_JHY_SAMPLE_R_ORD where INSPECTION_LOT = '"+list2.get(0).get("COIL_NO").toString()+"' and JUDGE_STATUS = '0'");
  8707. if(qjsrt.size() > 0){
  8708. throw new Exception("该检验号下存在未判信息,不能复样!");
  8709. }
  8710. sql = "select * from qcm_jhy_sample_r_ord z where z.smp_no in (select a.smp_no from qcm_judge_physical a where a.phy_id = '"+param1.get(6).toString()+"') and z.duplicate_sample = '复样'";
  8711. List<HashMap> listF= mapper.query(sql);
  8712. if(listF.size() >0){
  8713. throw new Exception("已复样的不能复样!");
  8714. }
  8715. for(HashMap lists:list2){
  8716. //质量异常材处置
  8717. qjl = new QCMJudgeLocking();
  8718. qjl.setUnlock_type_code("1");
  8719. qjl.setUnlock_type_desc("复样");
  8720. qjl.setUnlock_memo(param1.get(4).toString());
  8721. qjl.setUnlock_result("");
  8722. qjl.setPic_locking("0");
  8723. //qjl.setMaterial_no(lists.get("COIL_NO").toString());
  8724. qjl.setBatch_no(qjls.get(0).getBatch_no());
  8725. qjl.setUnlock_name(param1.get(5).toString());
  8726. qjl.setLock_id(param1.get(6).toString());
  8727. qjl.setReason_code(param1.get(7).toString());
  8728. qjl.setLock_type_code(param1.get(2).toString());
  8729. List<HashMap> listsu = mapper.finddefecttype(param1.get(7).toString());
  8730. if(listsu.size() >0)
  8731. {
  8732. qjl.setReason_desc(listsu.get(0).get("DEFECT_DESC")==null?"":listsu.get(0).get("DEFECT_DESC").toString());
  8733. qjl.setFlaw_code(listsu.get(0).get("DEFECT_TYPE_CODE")==null?"":listsu.get(0).get("DEFECT_TYPE_CODE").toString());
  8734. qjl.setFlaw_desc(listsu.get(0).get("DEFECT_TYPE_DESC") == null ?"":listsu.get(0).get("DEFECT_TYPE_DESC").toString());
  8735. }
  8736. mapper.UpdateQcmJudgeLocking1(qjl);
  8737. sql = "select * from qcm_judge_locking where batch_no = '"+qjls.get(0).getBatch_no()+"'";
  8738. List<QCMJudgeLocking> qjlf = mapper.queryQCMJudgeLockings(sql);
  8739. for(QCMJudgeLocking qjll:qjlf){
  8740. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  8741. qjog.setOperate_name(param1.get(5).toString());
  8742. qjog.setOperate_type("复样");
  8743. qjog.setParams(qjll.getMaterial_no());
  8744. qjog.setBatchno(qjls.get(0).getBatch_no());
  8745. qjog.setProd_line(qjll.getPline_code());
  8746. mapper.insertQcmJudgeOperateLog(qjog);
  8747. }
  8748. }
  8749. //QcmJhyPhyresultServiceImpl qjps = new QcmJhyPhyresultServiceImpl();
  8750. SendGenerationSampleInfo("",hashmap,param1,"1","1","");
  8751. mapper.UpdateJugeResultJ(zra);
  8752. }
  8753. }else{
  8754. throw new Exception("未找到库存信息!");
  8755. }
  8756. }else{
  8757. throw new Exception("封锁来源与所选的异常材处置操作不一致,请重新选择处置操作!");
  8758. }
  8759. SqlSession.commit();
  8760. //
  8761. }
  8762. }catch(Exception e){
  8763. cro.setV_errCode(-1);
  8764. cro.setV_errMsg(e.getMessage());
  8765. logger.info(e.getMessage());
  8766. // SqlSession.rollback();
  8767. }
  8768. // SqlSession.close();
  8769. return cro;
  8770. }
  8771. private void order_down(String billet_id,String reason) throws java.lang.Exception
  8772. {
  8773. Connection conn = null;
  8774. CallableStatement cstmt = null;
  8775. ResultSet rs = null;
  8776. try {
  8777. conn = SqlSession.getConnection();
  8778. String callSql = "{call GETJHTOMESPLAN.ORDER_DOWN@xgcx(?,?) }";
  8779. cstmt = conn.prepareCall(callSql);
  8780. cstmt.setString(1, billet_id);
  8781. cstmt.setString(2, reason);
  8782. cstmt.execute();
  8783. } catch (Exception e) {
  8784. throw new Exception(e.getMessage());
  8785. } finally {
  8786. try {
  8787. if (rs != null) {
  8788. rs.close();
  8789. }
  8790. } catch (Exception e) {
  8791. throw new Exception(e.getMessage());
  8792. }
  8793. try {
  8794. if (cstmt != null) {
  8795. cstmt.close();
  8796. }
  8797. } catch (Exception e) {
  8798. throw new Exception(e.getMessage());
  8799. }
  8800. }
  8801. }
  8802. /***
  8803. * 判次、判废综合判定:
  8804. * @param sum
  8805. * @return
  8806. */
  8807. @SuppressWarnings({ "rawtypes", "unused" })
  8808. public CoreReturnObject ultimateJudgeAuto1(String material_no, String username,String type) throws Exception{
  8809. try{
  8810. int count = 0;
  8811. List<HashMap> hashmap = mapper.doQueryMaterialInfoHB(material_no);
  8812. if(hashmap.size() == 0){
  8813. hashmap = mapper.doQueryMaterialInfoZB(material_no);
  8814. }
  8815. if(hashmap.size() == 0){
  8816. hashmap = mapper.doQueryMaterialInfoX(material_no);
  8817. }
  8818. if(hashmap.size() == 0){
  8819. hashmap = mapper.doQueryMaterialInfoJ(material_no);
  8820. }
  8821. String sql = "select * from zj_result_all@xgcx where BILLETID = '"+material_no+"'";
  8822. int flag = 0;
  8823. List<HashMap> list1 = mapper.query(sql);
  8824. sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+material_no+"'";
  8825. List<HashMap> list2 = mapper.query(sql);
  8826. if(list1.size() >0 || list2.size() >0){
  8827. if(list1.size()>0){
  8828. for(HashMap list:list1){
  8829. QcmJudgeUltimate qju=new QcmJudgeUltimate();
  8830. //获取判定记录号当天的最大值
  8831. Date now = new Date();
  8832. String opr_time = new SimpleDateFormat("yyyyMMddHHmmss").format(now); //操作时间
  8833. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  8834. String date=sdf.format(now);
  8835. count=0;
  8836. String type1 = "";
  8837. if(material_no.startsWith("Z")||material_no.startsWith("H")){
  8838. type1 = "ZB";
  8839. }else{
  8840. type1 = "ZX";
  8841. }
  8842. sql ="select * from (select * from qcm_judge_ultimate where UTM_ID like '"+type1+date+"%' order by UTM_ID desc) where rownum <= 1";
  8843. List<QcmJudgeUltimate> listUl=mapper.QcmJudgeUltimate(sql);
  8844. if (listUl!=null&&listUl.size()>0) {
  8845. String s=listUl.get(0).getUtm_id();
  8846. count=Integer.parseInt(s.substring(s.length()-4,s.length()));
  8847. }
  8848. count++;
  8849. String utm_id=type1+sdf.format(now)+String.format("%04d",count);
  8850. qju.setUtm_id(utm_id);
  8851. //更新库存表综合判定结果
  8852. ZjResultAll zra = new ZjResultAll();
  8853. zra.setBilletid(material_no);
  8854. zra.setJudgeid(utm_id);
  8855. if(type.equals("3")){
  8856. zra.setJudgeresult("3");
  8857. zra.setJudgeresult_desc("次品");
  8858. }
  8859. else if(type.equals("4")){
  8860. zra.setJudgeresult("4");
  8861. zra.setJudgeresult_desc("废品");
  8862. }else if(type.equals("0")){
  8863. zra.setJudgeresult("0");
  8864. zra.setJudgeresult_desc("待判");
  8865. }
  8866. if(zra.getJudgeresult().equals("2")){
  8867. throw new Exception("综合判定不合格!");
  8868. }
  8869. mapper.UpdateJugeResultB(zra);
  8870. //插入综合判定记录表
  8871. qju.setDesign_key(hashmap.get(0).get("DESIGN_KEY") == null ?"":hashmap.get(0).get("DESIGN_KEY").toString());
  8872. qju.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString());
  8873. qju.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString());
  8874. qju.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString());
  8875. qju.setInspection_lot(hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString());
  8876. qju.setMaterial_no(material_no);
  8877. qju.setUtm_id(utm_id);
  8878. qju.setUtm_memo("");
  8879. qju.setUtm_result_code(zra.getJudgeresult());
  8880. qju.setUtm_result_desc(zra.getJudgeresult_desc());
  8881. qju.setCic_id(list1.get(0).get("CHEMID") == null?"":list1.get(0).get("CHEMID").toString());
  8882. qju.setCic_result_code(list1.get(0).get("CHEMRESULT")==null?"":list1.get(0).get("CHEMRESULT").toString());
  8883. qju.setCic_result_desc(list1.get(0).get("CHEMRESULT_DESC")==null?"":list1.get(0).get("CHEMRESULT_DESC").toString());
  8884. qju.setR_cic_id(list1.get(0).get("R_CHEMID") == null?"":list1.get(0).get("R_CHEMID").toString());
  8885. qju.setR_cic_result_code(list1.get(0).get("R_CHEMRESULT")==null?"":list1.get(0).get("R_CHEMRESULT").toString());
  8886. qju.setR_cic_result_desc(list1.get(0).get("R_CHEMRESULT_DESC")==null?"":list1.get(0).get("R_CHEMRESULT_DESC").toString());
  8887. qju.setPic_id(list1.get(0).get("PHYSID") == null?"":list1.get(0).get("PHYSID").toString());
  8888. qju.setPic_result_code(list1.get(0).get("PHYSRESULT")==null?"":list1.get(0).get("PHYSRESULT").toString());
  8889. qju.setPic_result_desc(list1.get(0).get("PHYSRESULT_DESC")==null?"":list1.get(0).get("PHYSRESULT_DESC").toString());
  8890. qju.setSic_id(list1.get(0).get("SIZEID") == null?"":list1.get(0).get("SIZEID").toString());
  8891. qju.setSic_result_code(list1.get(0).get("SIZERESULT")==null?"":list1.get(0).get("SIZERESULT").toString());
  8892. qju.setSic_result_desc(list1.get(0).get("SIZERESULT_DESC")==null?"":list1.get(0).get("SIZERESULT_DESC").toString());
  8893. qju.setDic_id(list1.get(0).get("SPYID")==null?"":list1.get(0).get("SPYID").toString());
  8894. qju.setDic_result_code(list1.get(0).get("SPYRESULT")==null?"":list1.get(0).get("SPYRESULT").toString());
  8895. qju.setDic_result_desc(list1.get(0).get("SPYRESULT_DESC")==null?"":list1.get(0).get("SPYRESULT_DESC").toString());
  8896. qju.setSfd_id(list1.get(0).get("SURFACEID")==null?"":list1.get(0).get("SURFACEID").toString());
  8897. qju.setSfd_result_code(list1.get(0).get("UD_SURFACE_RESULT")==null?"":list1.get(0).get("UD_SURFACE_RESULT").toString());
  8898. qju.setSfd_result_desc(list1.get(0).get("UD_SURFACE_RESULT_DESC")==null?"":list1.get(0).get("UD_SURFACE_RESULT_DESC").toString());
  8899. qju.setSfu_id(list1.get(0).get("SURFACEID")==null?"":list1.get(0).get("SURFACEID").toString());
  8900. qju.setSfu_result_code(list1.get(0).get("UP_SURFACE_RESULT")==null?"":list1.get(0).get("UP_SURFACE_RESULT").toString());
  8901. qju.setSfu_result_desc(list1.get(0).get("UP_SURFACE_RESULT_DESC")==null?"":list1.get(0).get("UP_SURFACE_RESULT_DESC").toString());
  8902. qju.setSfe_id(list1.get(0).get("SURFACEID")==null?"":list1.get(0).get("SURFACEID").toString());
  8903. qju.setSfe_result_code(list1.get(0).get("MARGINAL_RESULT")==null?"":list1.get(0).get("MARGINAL_RESULT").toString());
  8904. qju.setSfe_result_desc(list1.get(0).get("MARGINAL_RESULT_DESC")==null?"":list1.get(0).get("MARGINAL_RESULT_DESC").toString());
  8905. qju.setMst_id(list1.get(0).get("SURFACEID")==null?"":list1.get(0).get("SURFACEID").toString());
  8906. qju.setMst_result_code(list1.get(0).get("SURFACERESULT")==null?"":list1.get(0).get("SURFACERESULT").toString());
  8907. qju.setMst_result_desc(list1.get(0).get("SURFACERESULT_DESC")==null?"":list1.get(0).get("SURFACERESULT_DESC").toString());
  8908. qju.setFst_id(list1.get(0).get("PHYFSTSID")==null?"":list1.get(0).get("PHYFSTSID").toString());
  8909. qju.setFst_result_code(list1.get(0).get("PHYFSTSRESULT")==null?"":list1.get(0).get("PHYFSTSRESULT").toString());
  8910. qju.setFst_result_desc(list1.get(0).get("PHYFSTSRESULT_DESC")==null?"":list1.get(0).get("PHYFSTSRESULT_DESC").toString());
  8911. qju.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString());
  8912. qju.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  8913. qju.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  8914. qju.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  8915. qju.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString());
  8916. qju.setSteel_name(hashmap.get(0).get("STEEL_NAME").toString());
  8917. qju.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString());
  8918. qju.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString());
  8919. qju.setJudge_name(username);
  8920. qju.setJudge_time(new Date());
  8921. qju.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  8922. qju.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString());
  8923. mapper.insertQcmJudgeUltimate(qju);
  8924. String judgeresult = "";
  8925. if(zra.getJudgeresult().equals("1")){
  8926. judgeresult = "40140101";
  8927. }else if(zra.getJudgeresult().equals("3")){
  8928. if(zra.getSurfaceresult() != null && zra.getSurfaceresult().equals("3")){
  8929. judgeresult = "40140301";
  8930. }else{
  8931. judgeresult = "40140302";
  8932. }
  8933. }else if(zra.getJudgeresult().equals("4")){
  8934. judgeresult = "40140303";
  8935. }else if(zra.getJudgeresult().equals("0")){
  8936. judgeresult = "40140401";
  8937. }
  8938. String cj_result = "";
  8939. String steelname = hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString();
  8940. String phyid = list1.get(0).get("PHYSID")==null?"":list1.get(0).get("PHYSID").toString();
  8941. 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+"')";
  8942. List<HashMap> liststeel = mapper.query(sql);
  8943. if(liststeel != null && liststeel.size() >0 ){
  8944. steelname = liststeel.get(0).get("STEEL_NAME").toString();
  8945. }
  8946. 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(),judgeresult,"","","",cj_result,material_no,username,hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString(),hashmap.get(0).get("HT_NO")==null?"":hashmap.get(0).get("HT_NO").toString(),utm_id,hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString(),steelname);
  8947. }
  8948. }else{
  8949. for(HashMap list:list2){
  8950. QcmJudgeUltimate qju=new QcmJudgeUltimate();
  8951. //获取判定记录号当天的最大值
  8952. Date now = new Date();
  8953. String opr_time = new SimpleDateFormat("yyyyMMddHHmmss").format(now); //操作时间
  8954. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  8955. String date=sdf.format(now);
  8956. count=0;
  8957. sql ="select * from qcm_judge_ultimate where UTM_ID like 'ZJ"+date+"%' order by UTM_ID desc";
  8958. List<QcmJudgeUltimate> listUl=mapper.QcmJudgeUltimate(sql);
  8959. if (listUl!=null&&listUl.size()>0) {
  8960. String s=listUl.get(0).getUtm_id();
  8961. count=Integer.parseInt(s.substring(s.length()-4,s.length()));
  8962. }
  8963. count++;
  8964. String utm_id="ZJ"+sdf.format(now)+String.format("%04d",count);
  8965. //更新库存表综合判定结果
  8966. QcmJudgeCoilResult zra = new QcmJudgeCoilResult();
  8967. zra.setCoil_no(material_no);
  8968. zra.setJudgeid(utm_id);
  8969. if(type.equals("3")){
  8970. zra.setJudgeresult("3");
  8971. zra.setJudgeresult_desc("次品");
  8972. }
  8973. else if(type.equals("4")){
  8974. zra.setJudgeresult("4");
  8975. zra.setJudgeresult_desc("废品");
  8976. }
  8977. if(zra.getJudgeresult().equals("2")){
  8978. throw new Exception("综合判定不合格!");
  8979. }
  8980. mapper.UpdateJugeResultJ(zra);
  8981. //插入综合判定记录表
  8982. qju.setDesign_key(hashmap.get(0).get("DESIGN_KEY") == null ?"":hashmap.get(0).get("DESIGN_KEY").toString());
  8983. qju.setHeat_no(hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString());
  8984. qju.setBatch_no(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString());
  8985. qju.setBoard_no(hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString());
  8986. qju.setInspection_lot(hashmap.get(0).get("INSPECTION_LOT")==null ?"":hashmap.get(0).get("INSPECTION_LOT").toString());
  8987. qju.setMaterial_no(material_no);
  8988. qju.setUtm_id(utm_id);
  8989. qju.setUtm_memo("");
  8990. qju.setUtm_result_code(zra.getJudgeresult());
  8991. qju.setUtm_result_desc(zra.getJudgeresult_desc());
  8992. qju.setCic_id(list2.get(0).get("CHEMID") == null?"":list2.get(0).get("CHEMID").toString());
  8993. qju.setCic_result_code(list2.get(0).get("CHEMRESULT")==null?"":list2.get(0).get("CHEMRESULT").toString());
  8994. qju.setCic_result_desc(list2.get(0).get("CHEMRESULT_DESC")==null?"":list2.get(0).get("CHEMRESULT_DESC").toString());
  8995. qju.setR_cic_id(list2.get(0).get("R_CHEMID") == null?"":list2.get(0).get("R_CHEMID").toString());
  8996. qju.setR_cic_result_code(list2.get(0).get("R_CHEMRESULT")==null?"":list2.get(0).get("R_CHEMRESULT").toString());
  8997. qju.setR_cic_result_desc(list2.get(0).get("R_CHEMRESULT_DESC")==null?"":list2.get(0).get("R_CHEMRESULT_DESC").toString());
  8998. qju.setPic_id(list2.get(0).get("PHYSID") == null?"":list2.get(0).get("PHYSID").toString());
  8999. qju.setPic_result_code(list2.get(0).get("PHYSRESULT")==null?"":list2.get(0).get("PHYSRESULT").toString());
  9000. qju.setPic_result_desc(list2.get(0).get("PHYSRESULT_DESC")==null?"":list2.get(0).get("PHYSRESULT_DESC").toString());
  9001. qju.setSic_id(list2.get(0).get("SIZEID") == null?"":list2.get(0).get("SIZEID").toString());
  9002. qju.setSic_result_code(list2.get(0).get("SIZERESULT")==null?"":list2.get(0).get("SIZERESULT").toString());
  9003. qju.setSic_result_desc(list2.get(0).get("SIZERESULT_DESC")==null?"":list2.get(0).get("SIZERESULT_DESC").toString());
  9004. qju.setDic_id(list2.get(0).get("SPYID")==null?"":list2.get(0).get("SPYID").toString());
  9005. qju.setDic_result_code(list2.get(0).get("SPYRESULT")==null?"":list2.get(0).get("SPYRESULT").toString());
  9006. qju.setDic_result_desc(list2.get(0).get("SPYRESULT_DESC")==null?"":list2.get(0).get("SPYRESULT_DESC").toString());
  9007. qju.setSfd_id(list2.get(0).get("SURFACEID")==null?"":list2.get(0).get("SURFACEID").toString());
  9008. qju.setSfd_result_code(list2.get(0).get("UD_SURFACE_RESULT")==null?"":list2.get(0).get("UD_SURFACE_RESULT").toString());
  9009. qju.setSfd_result_desc(list2.get(0).get("UD_SURFACE_RESULT_DESC")==null?"":list2.get(0).get("UD_SURFACE_RESULT_DESC").toString());
  9010. qju.setSfu_id(list2.get(0).get("SURFACEID")==null?"":list2.get(0).get("SURFACEID").toString());
  9011. qju.setSfu_result_code(list2.get(0).get("UP_SURFACE_RESULT")==null?"":list2.get(0).get("UP_SURFACE_RESULT").toString());
  9012. qju.setSfu_result_desc(list2.get(0).get("UP_SURFACE_RESULT_DESC")==null?"":list2.get(0).get("UP_SURFACE_RESULT_DESC").toString());
  9013. qju.setSfe_id(list2.get(0).get("SURFACEID")==null?"":list2.get(0).get("SURFACEID").toString());
  9014. qju.setSfe_result_code(list2.get(0).get("MARGINAL_RESULT")==null?"":list2.get(0).get("MARGINAL_RESULT").toString());
  9015. qju.setSfe_result_desc(list2.get(0).get("MARGINAL_RESULT_DESC")==null?"":list2.get(0).get("MARGINAL_RESULT_DESC").toString());
  9016. qju.setMst_id(list2.get(0).get("SURFACEID")==null?"":list2.get(0).get("SURFACEID").toString());
  9017. qju.setMst_result_code(list2.get(0).get("SURFACERESULT")==null?"":list2.get(0).get("SURFACERESULT").toString());
  9018. qju.setMst_result_desc(list2.get(0).get("SURFACERESULT_DESC")==null?"":list2.get(0).get("SURFACERESULT_DESC").toString());
  9019. qju.setFst_id(list2.get(0).get("PHYFSTSID")==null?"":list2.get(0).get("PHYFSTSID").toString());
  9020. qju.setFst_result_code(list2.get(0).get("PHYFSTSRESULT")==null?"":list2.get(0).get("PHYFSTSRESULT").toString());
  9021. qju.setFst_result_desc(list2.get(0).get("PHYFSTSRESULT_DESC")==null?"":list2.get(0).get("PHYFSTSRESULT_DESC").toString());
  9022. qju.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString());
  9023. qju.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  9024. qju.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  9025. qju.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  9026. qju.setSteel_code(hashmap.get(0).get("STEEL_CODE")==null?"":hashmap.get(0).get("STEEL_CODE").toString());
  9027. qju.setSteel_name(hashmap.get(0).get("STEEL_NAME").toString());
  9028. qju.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString());
  9029. qju.setStd_name(hashmap.get(0).get("STD_NAME")==null?"":hashmap.get(0).get("STD_NAME").toString());
  9030. qju.setTic_id(list2.get(0).get("TIC_ID")==null?"":list2.get(0).get("TIC_ID").toString());
  9031. qju.setTic_result_code(list2.get(0).get("TIC_RESULT")==null?"":list2.get(0).get("TIC_RESULT").toString());
  9032. qju.setTic_result_desc(list2.get(0).get("TIC_RESULT_DESC")==null?"":list2.get(0).get("TIC_RESULT_DESC").toString());
  9033. qju.setJudge_name(username);
  9034. qju.setJudge_time(new Date());
  9035. qju.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  9036. qju.setPline_name(hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString());
  9037. mapper.insertQcmJudgeUltimate(qju);
  9038. }
  9039. }
  9040. }else{
  9041. throw new Exception("未找到该检验号下的库存信息!");
  9042. }
  9043. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  9044. qjog.setOperate_name("system");
  9045. qjog.setOperate_type("轧钢自动判定:综合判定ultimateJudgeAuto");
  9046. qjog.setParams(material_no);
  9047. qjog.setBatchno(hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString());
  9048. qjog.setProd_line(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  9049. mapper.insertQcmJudgeOperateLog(qjog);
  9050. //cro = creatUltimateResultByHand(material_no,username);//手动进行综合判定
  9051. }catch(Exception ex){
  9052. cro.setV_errCode(-1);
  9053. cro.setV_errMsg(ex.getMessage());
  9054. //SqlSession.rollback();
  9055. }
  9056. //SqlSession.close();
  9057. return cro;
  9058. }
  9059. private void judge_call(String aPlanStand,String aPlanPurpose,String aStand, String aPurpose, String aHIC,String aCollResult,String aJudgeReason, String aJudgeMemo , String aXJudgeMemo, String aMuliSteelInfo , String aSlabNos, String aOperator, String aProductName, String aRclStae,String sBH, String aApplyOrderno,String steelname) throws java.lang.Exception
  9060. {
  9061. Connection conn = null;
  9062. CallableStatement cstmt = null;
  9063. ResultSet rs = null;
  9064. try {
  9065. conn = SqlSession.getConnection();
  9066. String callSql = "{call GETJHTOMESPLAN.JudgeRec_Add@xgcx(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) }";
  9067. cstmt = conn.prepareCall(callSql);
  9068. cstmt.setString(1, aPlanStand);
  9069. cstmt.setString(2, aPlanPurpose);
  9070. cstmt.setString(3, aStand);
  9071. cstmt.setString(4, aPurpose);
  9072. cstmt.setString(5, aHIC);
  9073. cstmt.setString(6, aCollResult);
  9074. cstmt.setString(7, aJudgeReason);
  9075. cstmt.setString(8, aJudgeMemo);
  9076. cstmt.setString(9, aXJudgeMemo);
  9077. cstmt.setString(10, aMuliSteelInfo);
  9078. cstmt.setString(11, aSlabNos);
  9079. cstmt.setString(12, aOperator);
  9080. cstmt.setString(13, aProductName);
  9081. cstmt.setString(14, aRclStae);
  9082. cstmt.setString(15, sBH);
  9083. cstmt.setString(16, aApplyOrderno);
  9084. cstmt.setString(17, steelname);
  9085. cstmt.registerOutParameter(18, java.sql.Types.INTEGER);
  9086. cstmt.execute();
  9087. if(cstmt.getString(18) != null){
  9088. if(cstmt.getString(18).equals("0")){
  9089. throw new java.lang.Exception("更新判定结果失败!");
  9090. }
  9091. }
  9092. } catch (Exception e) {
  9093. throw new Exception(e.getMessage());
  9094. } finally {
  9095. try {
  9096. if (rs != null) {
  9097. rs.close();
  9098. }
  9099. } catch (Exception e) {
  9100. throw new Exception(e.getMessage());
  9101. }
  9102. try {
  9103. if (cstmt != null) {
  9104. cstmt.close();
  9105. }
  9106. } catch (Exception e) {
  9107. throw new Exception(e.getMessage());
  9108. }
  9109. }
  9110. }
  9111. /**
  9112. * 材质判定
  9113. */
  9114. public void PhyUtmJudge(String design_key,String inspection_lot,String username)throws Exception{
  9115. try
  9116. {
  9117. //判断试样号是否都已经判定完
  9118. List<QcmJhySampleROrd> listor = mapper.findInfo(design_key, "B",inspection_lot);
  9119. String pic_id="";
  9120. List<String> lstr=new ArrayList<String>();
  9121. for (QcmJhySampleROrd l : listor) {
  9122. if (!SqlJoint.IsNullOrSpace(l.getJudge_result_desc())) {
  9123. lstr.add(l.getJudge_result_desc());
  9124. }
  9125. /*else if ("0".equals(l.getJudge_result_desc()) || "2".equals(l.getJudge_result_desc())) {
  9126. lstr.add("待判");
  9127. }*/
  9128. else {
  9129. lstr.add("null");
  9130. }
  9131. }
  9132. QcmJudgePhysicalUtmM qpu=new QcmJudgePhysicalUtmM();
  9133. QcmJudgePhysicalUtmD qpd=new QcmJudgePhysicalUtmD();
  9134. if (!lstr.contains("待判")) {
  9135. if (!lstr.contains("null")) {
  9136. if (lstr.contains("不合格")) {
  9137. qpu.setPic_result_desc("不合格");
  9138. qpu.setPic_result_code("2");
  9139. }else if(lstr.contains("判次")){
  9140. qpu.setPic_result_desc("判次");
  9141. qpu.setPic_result_code("3");
  9142. }else if(lstr.contains("判废")){
  9143. qpu.setPic_result_desc("判废");
  9144. qpu.setPic_result_code("4");
  9145. }else{
  9146. qpu.setPic_result_desc("合格");
  9147. qpu.setPic_result_code("1");
  9148. }
  9149. //把对应的数据加入qcm_judge_Physical_Utm_M表中
  9150. int a=0;
  9151. for (QcmJhySampleROrd q : listor) {
  9152. //获取当日最大编号
  9153. if (a==0) {
  9154. int count=0;
  9155. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  9156. String date=sdf.format(new Date());
  9157. // 获取材质结果集编号最大值
  9158. List<QcmJudgePhysicalUtmM> qrlist=mapper.queryQcmJudgePhysicalUtmM("select * from QCM_JUDGE_PHYSICAL_UTM_M where PIC_ID like 'PIC%"+date+"%' order by PIC_ID DESC");
  9159. if(qrlist!=null&&qrlist.size()>0){
  9160. String s=qrlist.get(0).getPic_id();
  9161. count=Integer.parseInt(s.substring(s.length()-4, s.length()));
  9162. }
  9163. count++;
  9164. pic_id="PIC"+sdf.format(new Date())+String.format("%04d",count);
  9165. qpu.setPic_id(pic_id);
  9166. qpu.setInspection_lot(q.getInspection_lot());
  9167. qpu.setDesign_key(q.getDesign_key());
  9168. mapper.insertQcmJudgePhysicalUtmM(qpu);
  9169. a++;
  9170. }
  9171. qpd.setPic_id(pic_id);
  9172. qpd.setSmp_no(q.getSmp_no());
  9173. qpd.setHeat_no(q.getHeat_no());
  9174. qpd.setBatch_no(q.getBatch_no());
  9175. qpd.setInspection_lot(q.getInspection_lot());
  9176. qpd.setDesign_key(q.getDesign_key());
  9177. qpd.setPsc(q.getPsc());
  9178. qpd.setCert_inst_code(q.getCert_inst_code());
  9179. qpd.setCert_inst_name(q.getCert_inst_name());
  9180. qpd.setSmp_type_code(q.getSmp_type_code());
  9181. qpd.setSmp_type_name(q.getSmp_type_name());
  9182. qpd.setJudge_result_code(q.getJudge_result_code());
  9183. qpd.setJudge_result_desc(q.getJudge_result_desc());
  9184. qpd.setPhy_id(q.getPhy_id());
  9185. qpd.setJudge_ttime(new Date());
  9186. qpd.setJudge_name("system");
  9187. //pme.setPhysresult_id(pic_id);
  9188. mapper.insertQcmJudgePhysicalUtmD(qpd);
  9189. String sql = "select * from zj_result_all@xgcx where BILLETID_JY = '"+inspection_lot+"'";
  9190. List<HashMap> list1 = mapper.query(sql);
  9191. sql = "select * from QCM_JUDGE_COIL_RESULT where INSPECTION_LOT = '"+inspection_lot+"'";
  9192. List<HashMap> list2 = mapper.query(sql);
  9193. if(list1.size() >0 || list2.size() >0){
  9194. if(list1.size()>0){
  9195. // 更新库存表材质判定结果
  9196. ZjResultAll zra = new ZjResultAll();
  9197. zra.setBilletid_jy(inspection_lot);
  9198. zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0");
  9199. zra.setPhysid(pic_id);
  9200. zra.setPhysresult(qpu.getPic_result_code());
  9201. zra.setPhysresult_desc(qpu.getPic_result_desc());
  9202. mapper.UpdateJugeResultB(zra);
  9203. }else{
  9204. // 更新库存表材质判定结果
  9205. QcmJudgeCoilResult zra = new QcmJudgeCoilResult();
  9206. zra.setInspection_lot(inspection_lot);
  9207. zra.setPic_is_lock(qpu.getPic_result_code().equals("2")?"1":"0");
  9208. zra.setPhysid(pic_id);
  9209. zra.setPhysresult(qpu.getPic_result_code());
  9210. zra.setPhysresult_desc(qpu.getPic_result_desc());
  9211. mapper.UpdateJugeResultJ(zra);
  9212. }
  9213. }else{
  9214. continue;
  9215. }
  9216. }
  9217. }
  9218. }
  9219. }catch(Exception e){
  9220. throw new Exception(e.getMessage());
  9221. }
  9222. }
  9223. public void SendGenerationSampleInfo(String batch_no,List<HashMap> hashmap,ArrayList param1,String type,String type2,String hj_name)throws Exception{
  9224. JSONObject jsobj1 = new JSONObject();
  9225. JSONObject jsobj2 = new JSONObject();
  9226. JSONArray ttmaps = new JSONArray();
  9227. String smp_no = "";
  9228. String psc = "";
  9229. if(hashmap.size() == 0){
  9230. throw new Exception("找不到库存!");
  9231. }
  9232. QcmJhySampleROrd qjsp = mapper.queryQcmJhySampleROrd(hashmap.get(0).get("DESIGN_KEY").toString());
  9233. List<QcmJudgePhysical> listz = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where phy_id = '"+param1.get(6).toString()+"'");
  9234. if(listz.size()>0){
  9235. smp_no = listz.get(0).getSmp_no();
  9236. psc = listz.get(0).getPsc();
  9237. }
  9238. else{
  9239. List<QcmJudgeChemical> lists = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where cic_id = '"+param1.get(6).toString()+"'");
  9240. if(lists.size()>0){
  9241. smp_no = lists.get(0).getSmp_no();
  9242. psc = lists.get(0).getPsc();
  9243. }
  9244. }
  9245. /*int count=Integer.parseInt(hashmap.get(0).get("INSPECTION_LOT").toString().substring(hashmap.get(0).get("INSPECTION_LOT").toString().length()-4, hashmap.get(0).get("INSPECTION_LOT").toString().length()));
  9246. count++;
  9247. String INSPECTION_LOT=hashmap.get(0).get("INSPECTION_LOT").toString().substring(0,hashmap.get(0).get("INSPECTION_LOT").toString().length()-4)+String.format("%04d",count);*/
  9248. jsobj2.put("INSPECTION_LOT", hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString());
  9249. jsobj2.put("DESIGN_KEY", hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString());
  9250. jsobj2.put("PSC", psc);
  9251. jsobj2.put("HEAT_NO", hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString());
  9252. jsobj2.put("BATCH_NO", hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString());
  9253. jsobj2.put("BOARD_NO", hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString());
  9254. jsobj2.put("GRADE_CODE", hashmap.get(0).get("GRADE_CODE")==null?"":hashmap.get(0).get("GRADE_CODE").toString());
  9255. jsobj2.put("GRADE_NAME", hashmap.get(0).get("GRADE_NAME")==null?"":hashmap.get(0).get("GRADE_NAME").toString());
  9256. jsobj2.put("PLINE_ABBR", hashmap.get(0).get("PLINE_ABBR")==null?"":hashmap.get(0).get("PLINE_ABBR").toString());
  9257. jsobj2.put("MATERIAL_NO", hashmap.get(0).get("MATERIAL_NO")==null?"":hashmap.get(0).get("MATERIAL_NO").toString());
  9258. jsobj2.put("MSC_PLINE", "12345");
  9259. jsobj2.put("PLINE_CODE", hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  9260. jsobj2.put("PLINE_NAME", hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString());
  9261. jsobj2.put("DELIVERY_STATE_CODE", hashmap.get(0).get("DELIVERY_STATE_CODE")==null?"":hashmap.get(0).get("DELIVERY_STATE_CODE").toString());
  9262. jsobj2.put("DELIVERY_STATE_DESC", hashmap.get(0).get("DELIVERY_STATE_DESC")==null?"":hashmap.get(0).get("DELIVERY_STATE_DESC").toString());
  9263. jsobj2.put("PROCESS_CODE", "");
  9264. jsobj2.put("THICK", hashmap.get(0).get("THICK")==null?"": hashmap.get(0).get("THICK").toString());
  9265. jsobj2.put("WIDTH", hashmap.get(0).get("WIDTH")==null?"":hashmap.get(0).get("WIDTH").toString());
  9266. jsobj2.put("LENGTH", hashmap.get(0).get("LENGTH")==null?"": hashmap.get(0).get("LENGTH").toString());
  9267. jsobj2.put("IS_QTLY", type.equals("2")?"1":(type2.equals("0")?"0":"1"));
  9268. jsobj2.put("IS_CHEM", type.equals("2")?"1":(type2.equals("0")?"1":"0"));
  9269. jsobj2.put("TYPE", type);
  9270. jsobj2.put("MEMO", param1.get(4).toString());
  9271. jsobj2.put("QLTY_SMP_NO", smp_no);
  9272. jsobj2.put("HJ_NAME", hj_name);
  9273. if(!batch_no.equals("")){
  9274. jsobj2.put("BATCH_NO", batch_no);
  9275. }
  9276. ttmaps.add(jsobj2);
  9277. jsobj1.put("KEY", ttmaps);
  9278. WebService1Impl web = new WebService1Impl();
  9279. //复样
  9280. try {
  9281. String result = web.sendDuplicateSample(jsobj1.toString());
  9282. if(!result.equals("1")){
  9283. throw new Exception(result);
  9284. }
  9285. } catch (Exception e) {
  9286. // TODO Auto-generated catch block
  9287. throw new Exception(e.getMessage());
  9288. }
  9289. }
  9290. public void SendGenerationSampleInfo2(String batch_no,List<HashMap> hashmap,ArrayList param1,String type,String type2,String smp_no,String hj_name)throws Exception{
  9291. JSONObject jsobj1 = new JSONObject();
  9292. JSONObject jsobj2 = new JSONObject();
  9293. JSONArray ttmaps = new JSONArray();
  9294. String psc = "";
  9295. if(hashmap.size() == 0){
  9296. throw new Exception("找不到库存!");
  9297. }
  9298. QcmJhySampleROrd qjsp = mapper.queryQcmJhySampleROrd(hashmap.get(0).get("DESIGN_KEY").toString());
  9299. List<QcmJudgePhysical> listz = mapper.queryQcmJudgePhysical("select * from qcm_judge_physical where phy_id = '"+param1.get(6).toString()+"'");
  9300. if(listz.size()>0){
  9301. psc = listz.get(0).getPsc();
  9302. }
  9303. else{
  9304. List<QcmJudgeChemical> lists = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where cic_id = '"+param1.get(6).toString()+"'");
  9305. if(lists.size()>0){
  9306. psc = lists.get(0).getPsc();
  9307. }
  9308. }
  9309. /*int count=Integer.parseInt(hashmap.get(0).get("INSPECTION_LOT").toString().substring(hashmap.get(0).get("INSPECTION_LOT").toString().length()-4, hashmap.get(0).get("INSPECTION_LOT").toString().length()));
  9310. count++;
  9311. String INSPECTION_LOT=hashmap.get(0).get("INSPECTION_LOT").toString().substring(0,hashmap.get(0).get("INSPECTION_LOT").toString().length()-4)+String.format("%04d",count);*/
  9312. jsobj2.put("INSPECTION_LOT", hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString());
  9313. jsobj2.put("DESIGN_KEY", hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString());
  9314. jsobj2.put("PSC", psc);
  9315. jsobj2.put("HEAT_NO", hashmap.get(0).get("HEAT_NO")==null?"":hashmap.get(0).get("HEAT_NO").toString());
  9316. jsobj2.put("BATCH_NO", hashmap.get(0).get("BATCHNO")==null?"":hashmap.get(0).get("BATCHNO").toString());
  9317. jsobj2.put("BOARD_NO", hashmap.get(0).get("BOARD_NO")==null?"":hashmap.get(0).get("BOARD_NO").toString());
  9318. jsobj2.put("GRADE_CODE", hashmap.get(0).get("GRADE_CODE")==null?"":hashmap.get(0).get("GRADE_CODE").toString());
  9319. jsobj2.put("GRADE_NAME", hashmap.get(0).get("GRADE_NAME")==null?"":hashmap.get(0).get("GRADE_NAME").toString());
  9320. jsobj2.put("PLINE_ABBR", hashmap.get(0).get("PLINE_ABBR")==null?"":hashmap.get(0).get("PLINE_ABBR").toString());
  9321. jsobj2.put("MATERIAL_NO", hashmap.get(0).get("MATERIAL_NO")==null?"":hashmap.get(0).get("MATERIAL_NO").toString());
  9322. jsobj2.put("MSC_PLINE", "12345");
  9323. jsobj2.put("PLINE_CODE", hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  9324. jsobj2.put("PLINE_NAME", hashmap.get(0).get("PLINE_NAME")==null?"":hashmap.get(0).get("PLINE_NAME").toString());
  9325. jsobj2.put("DELIVERY_STATE_CODE", hashmap.get(0).get("DELIVERY_STATE_CODE")==null?"":hashmap.get(0).get("DELIVERY_STATE_CODE").toString());
  9326. jsobj2.put("DELIVERY_STATE_DESC", hashmap.get(0).get("DELIVERY_STATE_DESC")==null?"":hashmap.get(0).get("DELIVERY_STATE_DESC").toString());
  9327. jsobj2.put("PROCESS_CODE", "");
  9328. jsobj2.put("THICK", hashmap.get(0).get("THICK")==null?"": hashmap.get(0).get("THICK").toString());
  9329. jsobj2.put("WIDTH", hashmap.get(0).get("WIDTH")==null?"":hashmap.get(0).get("WIDTH").toString());
  9330. jsobj2.put("LENGTH", hashmap.get(0).get("LENGTH")==null?"": hashmap.get(0).get("LENGTH").toString());
  9331. jsobj2.put("IS_QTLY", type.equals("2")?"1":(type2.equals("0")?"0":"1"));
  9332. jsobj2.put("IS_CHEM", type.equals("2")?"1":(type2.equals("0")?"1":"0"));
  9333. jsobj2.put("TYPE", type);
  9334. jsobj2.put("MEMO", param1.get(4).toString());
  9335. jsobj2.put("QLTY_SMP_NO", smp_no);
  9336. jsobj2.put("HJ_NAME", hj_name);
  9337. if(!batch_no.equals("")){
  9338. jsobj2.put("BATCH_NO", batch_no);
  9339. }
  9340. ttmaps.add(jsobj2);
  9341. jsobj1.put("KEY", ttmaps);
  9342. WebService1Impl web = new WebService1Impl();
  9343. //复样
  9344. try {
  9345. String result = web.sendDuplicateSample(jsobj1.toString());
  9346. if(!result.equals("1")){
  9347. throw new Exception(result);
  9348. }
  9349. } catch (Exception e) {
  9350. // TODO Auto-generated catch block
  9351. throw new Exception(e.getMessage());
  9352. }
  9353. }
  9354. }