d85a9ef0afb6ec8b2678f8f40343e7b27e20d08b.svn-base 248 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782
  1. package QCM.QCM03.QCM0301;
  2. import CoreFS.SA01.CoreIComponent;
  3. import CoreFS.SA06.CoreReturnObject;
  4. import QCM.COMMUNAL.QCM02.SqlJoint;
  5. import QCM.COMMUNAL.VO.*;
  6. import QCM.QCM03.QCM0302.QcmJudgePhysicalServiceImpl;
  7. import QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl;
  8. import com.alibaba.fastjson.JSON;
  9. import com.alibaba.fastjson.JSONArray;
  10. import com.alibaba.fastjson.JSONObject;
  11. import org.apache.axis.client.Call;
  12. import org.apache.axis.client.Service;
  13. import org.apache.commons.collections.CollectionUtils;
  14. import org.apache.commons.lang.StringUtils;
  15. import org.apache.ibatis.session.SqlSession;
  16. import org.apache.log4j.Logger;
  17. import javax.xml.namespace.QName;
  18. import javax.xml.rpc.ParameterMode;
  19. import java.sql.CallableStatement;
  20. import java.sql.Connection;
  21. import java.sql.ResultSet;
  22. import java.text.DecimalFormat;
  23. import java.text.SimpleDateFormat;
  24. import java.util.ArrayList;
  25. import java.util.Date;
  26. import java.util.HashMap;
  27. import java.util.List;
  28. public class QcmJhyElementsServiceImpl extends CoreIComponent {
  29. private Logger logger = Logger.getLogger(this.getClass().getName());
  30. CoreReturnObject cro = new CoreReturnObject();
  31. SqlSession SqlSession =
  32. QCM.COMMUNAL.SqlSessionBuilder.openSqlSession();
  33. QCM.COMMUNAL.OrderSqMapper mapper = SqlSession.getMapper(QCM.COMMUNAL.OrderSqMapper.class);
  34. //QcmJudgePhysicalServiceImpl qjp = new QcmJudgePhysicalServiceImpl();
  35. public String StrSky(String begintime,String endtime){
  36. String sql = "select (to_date('"+endtime+"','yyyy-MM-dd') - to_date('"+begintime+"','yyyy-MM-dd')) SKY from dual";
  37. HashMap list = mapper.queryOne(sql);
  38. Double ble = Double.parseDouble(list.get("SKY").toString());
  39. String tstr="FALSE";
  40. if(ble>=0 && ble <=30 ){
  41. tstr="TRUE";
  42. }
  43. return tstr;
  44. }
  45. /**
  46. * 查询待判信息(检验委托提供)轧钢
  47. */
  48. public CoreReturnObject getRejudgeInfo(String begintime, String endtime, String batch_no, String BOARD_NO, String design_key, String psc_desc, String type, String prodline, String status) {
  49. try {
  50. String swhere = " 1=1";
  51. String swhere1 = "";
  52. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(batch_no)) {
  53. String sky=StrSky(begintime,endtime);
  54. if(sky.equals("FALSE")){
  55. SqlSession.close();
  56. cro.setV_errCode(-1);
  57. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  58. return cro;
  59. }
  60. }
  61. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //时间
  62. if (status.equals("0")) {
  63. 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')";
  64. } else if (status.equals("1")) {
  65. 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')";
  66. }
  67. }
  68. if (!SqlJoint.IsNullOrSpace(batch_no)) { //炉号
  69. swhere += " and o.batch_no = '" + batch_no + "'";
  70. }
  71. if (!SqlJoint.IsNullOrSpace(BOARD_NO)) { //板坯号
  72. swhere += " and m.BOARD_NO = '" + BOARD_NO + "'";
  73. }
  74. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  75. swhere += " and o.design_key like '%" + design_key + "%'";
  76. }
  77. if (!SqlJoint.IsNullOrSpace(psc_desc)) { //Psc
  78. swhere += " and o.psc_desc like '%" + psc_desc + "%'";
  79. }
  80. if (!SqlJoint.IsNullOrSpace(type)) {
  81. //卷板
  82. if (type.equals("0")) {
  83. swhere += " and o.pline_code in ('LT1','SZ1','RZ1')";
  84. }
  85. //中厚板
  86. else if (type.equals("1")) {
  87. swhere += " and o.pline_code in ('ZB1','HB1')";
  88. }
  89. //线棒
  90. else if (type.equals("2")) {
  91. swhere += " and o.pline_code in ('GX1','BC1','BC2','GX2')";
  92. }
  93. }
  94. if (prodline.equals("中板线")) {
  95. swhere += " and o.pline_code in ('ZB1') ";
  96. } else if (prodline.equals("厚板线")) {
  97. swhere += " and o.pline_code in ('HB1') ";
  98. } else if (prodline.equals("热连轧")) {
  99. swhere += " and o.pline_code in ('RZ1') ";
  100. } else if (prodline.equals("酸轧")) {
  101. swhere += " and o.pline_code in ('SZ1') ";
  102. } else if (prodline.equals("连退")) {
  103. swhere += " and o.pline_code in ('LT1') ";
  104. } else if (prodline.equals("高棒")) {
  105. swhere += " and o.pline_code in ('GX1') ";
  106. } else if (prodline.equals("棒二")) {
  107. swhere += " and o.pline_code in ('BC2') ";
  108. } else if (prodline.equals("高线")) {
  109. swhere += " and o.pline_code in ('GX2') ";
  110. }
  111. String sql = "SELECT O.BATCH_NO,o.heat_no, "
  112. + " m.BOARD_NO, "
  113. + " m.grade_name, "
  114. + " o.design_key, "
  115. + " o.smp_no, "
  116. + " o.steel_name, "
  117. + " o.prod_name, "
  118. + " o.std_name, "
  119. + " o.delivery_state_desc, "
  120. + " 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, "
  121. + " o.width, "
  122. + " o.length, "
  123. + " m.pline_name, "
  124. + " (select max(send_time) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) CREATE_TIME,"
  125. +" (select max(material_no) from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) material_no, "
  126. + " (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 '复样' "
  127. + " when max(a.Smp_Type_Code) = '0' and max(o.CERT_INST_CODE) in ('IC003', 'IC004','IC001', 'IC010', '5000') then "
  128. + " '初样' else '认证样' end from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) Smp_Type_Code ,\n" +
  129. " (select max( to_char(t.create_time,'yyyy-MM-dd hh24:mi:ss')) upload_time\n" +
  130. " from qcm_jhy_insp_physics t\n" +
  131. " where t.specimen_no in (select specimen_no from QCM_JHY_SAMPLE_CONSIGN_D where smp_no = o.smp_no)) upload_time,"
  132. //+ " m.CREATE_TIME, "
  133. + " O.INSPECTION_LOT, "
  134. + " (select decode( max(a.Smp_Type_Code),'1','复样','0','初样') from qcm_jhy_sample_consign_d a where a.smp_no = o.smp_no) Smp_Type_Code "
  135. + " from QCM_JHY_SAMPLE_R_ORD o "
  136. + " inner join QCM_JHY_SAMPLE_CONSIGN_M m "
  137. + " on m.smp_no = o.smp_no "
  138. + " and o.judge_status = '0' "
  139. + " and m.smp_catg = 'A' AND O.SMP_NO IN (SELECT smp_no FROM qcm_jhy_sample_consign_d WHERE validflag = '1' and STATUS <> '0' " + swhere1 + ") where " + swhere + " ORDER BY M.CREATE_TIME DESC";
  140. List<HashMap> listEle = mapper.query(sql);
  141. cro.setResult(listEle);
  142. } catch (Exception ex) {
  143. cro.setV_errCode(-1);
  144. cro.setV_errMsg("获取成分待判信息出错" + ex.getMessage());
  145. SqlSession.rollback();
  146. }
  147. SqlSession.close();
  148. return cro;
  149. }
  150. /**
  151. * 特殊要求工艺处理录入接口
  152. */
  153. public CoreReturnObject ApplyJudgeInput(String SLAB_NO,String JRYQ ,String ZZYQ,String QYYQ ,String RCLYQ,String LGPDYQ,String CPPDYQ) throws Exception{
  154. try{
  155. if(SqlJoint.IsNullOrSpace(SLAB_NO)) {
  156. throw new Exception("请选择要特殊要求工艺录入的板坯号!");
  157. }
  158. JSONObject jsobj1 = new JSONObject();
  159. jsobj1.put("SLAB_NO",SLAB_NO);
  160. jsobj1.put("JRYQ",JRYQ);
  161. jsobj1.put("ZZYQ",ZZYQ);
  162. jsobj1.put("QYYQ",QYYQ);
  163. jsobj1.put("RCLYQ",RCLYQ);
  164. jsobj1.put("LGPDYQ",LGPDYQ);
  165. jsobj1.put("CPPDYQ",CPPDYQ);
  166. String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl";
  167. String result = callWebserviceASMX(url,"ApplyJudgeInput",JSON.toJSONString(jsobj1));
  168. JSONObject jo = JSONObject.parseObject(result);
  169. if(jo.get("code").toString().equals("1")){
  170. throw new Exception("特殊要求工艺录入失败!");
  171. }
  172. SqlSession.commit();
  173. }catch (Exception ex) {
  174. cro.setV_errCode(-1);
  175. cro.setV_errMsg("特殊要求工艺录入出错" + ex.getMessage());
  176. SqlSession.rollback();
  177. }
  178. SqlSession.close();
  179. return cro;
  180. }
  181. /**
  182. * 特殊放行审核接口
  183. */
  184. public CoreReturnObject ApplyJudgeCheck(String SLAB_NO,String FLAG ,String OPTMAN) throws Exception{
  185. try{
  186. if(SqlJoint.IsNullOrSpace(SLAB_NO)) {
  187. throw new Exception("请选择要审核的板坯号!");
  188. }
  189. if(SqlJoint.IsNullOrSpace(FLAG) || FLAG=="") {
  190. throw new Exception("审核标志不能为空");
  191. }
  192. JSONObject jsobj1 = new JSONObject();
  193. jsobj1.put("SLAB_NO",SLAB_NO);
  194. jsobj1.put("FLAG",FLAG);
  195. jsobj1.put("OPTMAN",OPTMAN);
  196. String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl";
  197. String result = callWebserviceASMX(url,"ApplyJudgeCheck",JSON.toJSONString(jsobj1));
  198. JSONObject jo = JSONObject.parseObject(result);
  199. if(jo.get("code").toString().equals("1")){
  200. throw new Exception("特殊放行审核失败!");
  201. }
  202. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  203. qjog.setOperate_name(OPTMAN);
  204. qjog.setOperate_type("特殊放行审核");
  205. qjog.setParams(SLAB_NO);
  206. mapper.insertQcmJudgeOperateLog(qjog);
  207. SqlSession.commit();
  208. }catch (Exception ex) {
  209. cro.setV_errCode(-1);
  210. cro.setV_errMsg("特殊放行审核出错" + ex.getMessage());
  211. SqlSession.rollback();
  212. }
  213. SqlSession.close();
  214. return cro;
  215. }
  216. /**
  217. * 特殊放行申报接口
  218. */
  219. public CoreReturnObject doApplyJudge(String OPTTYPE,String PROD_TYPE,String TSLX,String PROD_LINE,String SLAB_NO,String OPTMAN) throws Exception{
  220. try{
  221. if(SqlJoint.IsNullOrSpace(SLAB_NO)) {
  222. throw new Exception("请选择要特殊放行的板坯号!");
  223. }
  224. if(SqlJoint.IsNullOrSpace(PROD_LINE)) {
  225. throw new Exception("请选择要特殊放行的产线!");
  226. }
  227. if(SqlJoint.IsNullOrSpace(PROD_TYPE)) {
  228. throw new Exception("请选择要特殊放行的板坯类型!");
  229. }
  230. JSONObject jsobj1 = new JSONObject();
  231. jsobj1.put("OPTTYPE",OPTTYPE);
  232. jsobj1.put("PROD_TYPE",PROD_TYPE);
  233. jsobj1.put("TSLX",TSLX);
  234. jsobj1.put("PROD_LINE",PROD_LINE);
  235. jsobj1.put("SLAB_NO",SLAB_NO);
  236. jsobj1.put("OPTMAN",OPTMAN);
  237. String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl";
  238. String result = callWebserviceASMX(url,"doApplyJudge",JSON.toJSONString(jsobj1));
  239. JSONObject jo = JSONObject.parseObject(result);
  240. if(jo.get("code").toString().equals("1")){
  241. throw new Exception("特殊放行申报失败!");
  242. }
  243. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  244. qjog.setOperate_name(OPTMAN);
  245. qjog.setOperate_type(OPTTYPE=="2"?"撤销特殊放行申报":"特殊放行申报");
  246. qjog.setParams(SLAB_NO);
  247. qjog.setProd_line(PROD_LINE);
  248. mapper.insertQcmJudgeOperateLog(qjog);
  249. SqlSession.commit();
  250. }catch (Exception ex) {
  251. cro.setV_errCode(-1);
  252. cro.setV_errMsg("特殊放行申报出错" + ex.getMessage());
  253. SqlSession.rollback();
  254. }
  255. SqlSession.close();
  256. return cro;
  257. }
  258. /**
  259. * 特殊放行申报查询接口
  260. */
  261. public CoreReturnObject GetApplyJudgeInfo(String begintime,String endtime,String slab_no,String prod_line) throws Exception{
  262. try{
  263. JSONObject jsobj1 = new JSONObject();
  264. if(SqlJoint.IsNullOrSpace(begintime) || SqlJoint.IsNullOrSpace(endtime)){
  265. begintime = "";
  266. endtime = "";
  267. }
  268. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) {
  269. String sky=StrSky(begintime,endtime);
  270. if(sky.equals("FALSE")){
  271. SqlSession.close();
  272. cro.setV_errCode(-1);
  273. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  274. return cro;
  275. }
  276. }
  277. if(SqlJoint.IsNullOrSpace(slab_no)){
  278. slab_no= "";
  279. }
  280. if(SqlJoint.IsNullOrSpace(prod_line)){
  281. prod_line= "";
  282. }
  283. if(begintime.equals("") && endtime.equals("") && slab_no.equals("")&&prod_line.equals("")){
  284. throw new Exception("请输入查询条件!");
  285. }
  286. jsobj1.put("START_TIME", begintime);
  287. jsobj1.put("END_TIME", endtime);
  288. jsobj1.put("SLAB_NO", slab_no);
  289. jsobj1.put("PROD_LINE", prod_line);
  290. String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl";
  291. String result = callWebserviceASMX(url, "GetApplyJudgeInfo", JSON.toJSONString(jsobj1));
  292. if (result.contains("DATA")) {
  293. JSONObject jo = JSONObject.parseObject(result);
  294. JSONArray ja = jo.getJSONArray("DATA");
  295. List<HashMap> listqjb = new ArrayList<HashMap>();
  296. for (int i = 0; i < ja.size(); i++) {
  297. HashMap lists = new HashMap();
  298. lists.put("HEATNO", ja.getJSONObject(i).getString("HEATNO"));
  299. lists.put("BILLETNO", ja.getJSONObject(i).getString("BILLETNO"));
  300. lists.put("LGPH", ja.getJSONObject(i).getString("LGPH"));
  301. lists.put("RATIFFLAG", ja.getJSONObject(i).getString("RATIFFLAG"));
  302. lists.put("RATIFYRECODER", ja.getJSONObject(i).getString("RATIFYRECODER"));
  303. lists.put("RATIFYTIME", ja.getJSONObject(i).getString("RATIFYTIME"));
  304. lists.put("THICK", ja.getJSONObject(i).getString("THICK"));
  305. lists.put("LENGTH", ja.getJSONObject(i).getString("LENGTH"));
  306. lists.put("WIDTH", ja.getJSONObject(i).getString("WIDTH"));
  307. lists.put("LF", ja.getJSONObject(i).getString("LF"));
  308. lists.put("RH", ja.getJSONObject(i).getString("RH"));
  309. lists.put("HL", ja.getJSONObject(i).getString("HL"));
  310. lists.put("PACTNO", ja.getJSONObject(i).getString("PACTNO"));
  311. lists.put("ORDERNO", ja.getJSONObject(i).getString("ORDERNO"));
  312. lists.put("STEELCODE", ja.getJSONObject(i).getString("STEELCODE"));
  313. lists.put("PACTINDEX", ja.getJSONObject(i).getString("PACTINDEX"));
  314. lists.put("CP_THICK", ja.getJSONObject(i).getString("CP_THICK"));
  315. lists.put("CP_WIDTH", ja.getJSONObject(i).getString("CP_WIDTH"));
  316. lists.put("CP_LENGTH", ja.getJSONObject(i).getString("CP_LENGTH"));
  317. lists.put("STANDROLLER", ja.getJSONObject(i).getString("STANDROLLER"));
  318. lists.put("CHECKORG", ja.getJSONObject(i).getString("CHECKORG"));
  319. lists.put("SENDBEGINDATE", ja.getJSONObject(i).getString("SENDBEGINDATE"));
  320. lists.put("TSYQ", ja.getJSONObject(i).getString("TSYQ"));
  321. lists.put("REMARK", ja.getJSONObject(i).getString("REMARK"));
  322. lists.put("CUTSTARTTIME", ja.getJSONObject(i).getString("CUTSTARTTIME"));
  323. lists.put("JRYQ", ja.getJSONObject(i).getString("JRYQ"));
  324. lists.put("ZJYQ", ja.getJSONObject(i).getString("ZJYQ"));
  325. lists.put("QYYQ", ja.getJSONObject(i).getString("QYYQ"));
  326. lists.put("RCLYQ", ja.getJSONObject(i).getString("RCLYQ"));
  327. lists.put("LGJUDGEYQ", ja.getJSONObject(i).getString("LGJUDGEYQ"));
  328. lists.put("CFPDYQ", ja.getJSONObject(i).getString("CFPDYQ"));
  329. listqjb.add(lists);
  330. }
  331. cro.setResult(listqjb);
  332. }
  333. }catch (Exception ex) {
  334. cro.setV_errCode(-1);
  335. cro.setV_errMsg("获取特殊放行申报查询信息错误" + ex.getMessage());
  336. SqlSession.rollback();
  337. }
  338. SqlSession.close();
  339. return cro;
  340. }
  341. /**
  342. * 查询炼钢库存
  343. * @param begintime
  344. * @param endtime
  345. * @param slab_no
  346. * @param prod_line
  347. * @return
  348. * @throws Exception
  349. */
  350. public CoreReturnObject GetStorageInfo(String begintime,String endtime,String slab_no,String prod_line) throws Exception{
  351. try{
  352. JSONObject jsobj1 = new JSONObject();
  353. if(SqlJoint.IsNullOrSpace(begintime) || SqlJoint.IsNullOrSpace(endtime)){
  354. begintime = "";
  355. endtime = "";
  356. }
  357. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) {
  358. String sky=StrSky(begintime,endtime);
  359. if(sky.equals("FALSE")){
  360. SqlSession.close();
  361. cro.setV_errCode(-1);
  362. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  363. return cro;
  364. }
  365. }
  366. if(SqlJoint.IsNullOrSpace(slab_no)){
  367. slab_no= "";
  368. }
  369. if(SqlJoint.IsNullOrSpace(prod_line)){
  370. prod_line= "";
  371. }
  372. if(begintime.equals("") && endtime.equals("") && slab_no.equals("")&&prod_line.equals("")){
  373. throw new Exception("请输入查询条件!");
  374. }
  375. jsobj1.put("START_TIME", begintime);
  376. jsobj1.put("END_TIME", endtime);
  377. jsobj1.put("SLAB_NO", slab_no);
  378. jsobj1.put("PROD_LINE", prod_line);
  379. String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl";
  380. String result = callWebserviceASMX(url, "GetStorageInfo", JSON.toJSONString(jsobj1));
  381. if (result.contains("DATA")) {
  382. JSONObject jo = JSONObject.parseObject(result);
  383. JSONArray ja = jo.getJSONArray("DATA");
  384. List<HashMap> listqjb = new ArrayList<HashMap>();
  385. for (int i = 0; i < ja.size(); i++) {
  386. HashMap lists = new HashMap();
  387. lists.put("HEATNO", ja.getJSONObject(i).getString("HEATNO"));
  388. lists.put("BILLETNO", ja.getJSONObject(i).getString("BILLETNO"));
  389. lists.put("PLANSTEEL", ja.getJSONObject(i).getString("PLANSTEEL"));
  390. lists.put("WEIGHT", ja.getJSONObject(i).getString("WEIGHT"));
  391. lists.put("THICK", ja.getJSONObject(i).getString("THICK"));
  392. lists.put("LENGTH", ja.getJSONObject(i).getString("LENGTH"));
  393. lists.put("WIDTH", ja.getJSONObject(i).getString("WIDTH"));
  394. lists.put("SLAB_DETAIL", ja.getJSONObject(i).getString("SLAB_DETAIL"));
  395. lists.put("ISFX", ja.getJSONObject(i).getString("ISFX"));
  396. lists.put("PROD_WTH", ja.getJSONObject(i).getString("PROD_WTH"));
  397. lists.put("PROD_THK", ja.getJSONObject(i).getString("PROD_THK"));
  398. lists.put("ORDERNO", ja.getJSONObject(i).getString("ORDERNO"));
  399. lists.put("STEELCODE", ja.getJSONObject(i).getString("STEELCODE"));
  400. lists.put("PROD_NAME", ja.getJSONObject(i).getString("PROD_NAME"));
  401. lists.put("PROD_CODE", ja.getJSONObject(i).getString("PROD_CODE"));
  402. lists.put("TOTALJUDGETIME", ja.getJSONObject(i).getString("TOTALJUDGETIME"));
  403. lists.put("FACEJUDGETIME", ja.getJSONObject(i).getString("FACEJUDGETIME"));
  404. lists.put("PRODNAME", ja.getJSONObject(i).getString("PRODNAME"));
  405. lists.put("USEDSTAND", ja.getJSONObject(i).getString("USEDSTAND"));
  406. lists.put("STATUS", ja.getJSONObject(i).getString("STATUS"));
  407. lists.put("THEORYWEIGHT", ja.getJSONObject(i).getString("THEORYWEIGHT"));
  408. lists.put("CUTSTARTTIME", ja.getJSONObject(i).getString("CUTSTARTTIME"));
  409. lists.put("COMPREHENSIVERESULT", ja.getJSONObject(i).getString("COMPREHENSIVERESULT"));
  410. lists.put("CHEMRESULT_FX", ja.getJSONObject(i).getString("CHEMRESULT_FX"));
  411. lists.put("FACERESULT", ja.getJSONObject(i).getString("FACERESULT"));
  412. lists.put("CHEMJUDGEID", ja.getJSONObject(i).getString("CHEMJUDGEID"));
  413. lists.put("FACECHECKID", ja.getJSONObject(i).getString("FACECHECKID"));
  414. lists.put("COMPREHENSIVEID", ja.getJSONObject(i).getString("COMPREHENSIVEID"));
  415. lists.put("JUDGETIME", ja.getJSONObject(i).getString("JUDGETIME"));
  416. listqjb.add(lists);
  417. }
  418. cro.setResult(listqjb);
  419. }
  420. }catch (Exception ex) {
  421. cro.setV_errCode(-1);
  422. cro.setV_errMsg("获取炼钢存库信息错误" + ex.getMessage());
  423. SqlSession.rollback();
  424. }
  425. SqlSession.close();
  426. return cro;
  427. }
  428. /**
  429. * 查询成分炼钢待判信息
  430. */
  431. @SuppressWarnings({"unused", "unchecked"})
  432. public CoreReturnObject getLgRejudgeInfo(String begintime, String endtime, String heatno, String prodline, String prod_type, String judge_type) {
  433. try {
  434. JSONObject jsobj2 = new JSONObject();
  435. JSONArray ttmaps = new JSONArray();
  436. JSONObject jsobj1 = new JSONObject();
  437. if(!heatno.equals("")){
  438. begintime = "";
  439. endtime = "";
  440. }
  441. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) {
  442. String sky=StrSky(begintime,endtime);
  443. if(sky.equals("FALSE")){
  444. SqlSession.close();
  445. cro.setV_errCode(-1);
  446. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  447. return cro;
  448. }
  449. }
  450. jsobj1.put("START_TIME", begintime);
  451. jsobj1.put("END_TIME", endtime);
  452. jsobj1.put("HEAT_NO", heatno == null ? "" : heatno);
  453. jsobj1.put("PROD_LINE", prodline);
  454. jsobj1.put("PROD_TYPE", prod_type);
  455. jsobj1.put("JUDGE_TYPE", judge_type);
  456. jsobj1.put("ISJUDGE", "0");
  457. String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl";
  458. String result = callWebserviceASMX(url, "StorageForJudge", JSON.toJSONString(jsobj1));
  459. if (result.contains("DATA")) {
  460. JSONObject jo = JSONObject.parseObject(result);
  461. JSONArray ja = jo.getJSONArray("DATA");
  462. List<HashMap> listqjb = new ArrayList<HashMap>();
  463. for (int i = 0; i < ja.size(); i++) {
  464. HashMap lists = new HashMap();
  465. lists.put("HEAT_NO", ja.getJSONObject(i).getString("HEATNO"));
  466. lists.put("MATERIAL_NO", ja.getJSONObject(i).getString("BILLETNO"));
  467. lists.put("GRADE_NAME", ja.getJSONObject(i).getString("STEELCODE"));
  468. lists.put("PROD_NAME", ja.getJSONObject(i).getString("PRODNAME"));
  469. lists.put("DELIVERY_STATE_DESC", ja.getJSONObject(i).getString("STATUS"));
  470. lists.put("WEIGHT", ja.getJSONObject(i).getString("WEIGHT"));
  471. lists.put("THICK", ja.getJSONObject(i).getString("THICK"));
  472. lists.put("LENGTH", ja.getJSONObject(i).getString("LENGTH"));
  473. lists.put("WIDTH", ja.getJSONObject(i).getString("WIDTH"));
  474. lists.put("PRODUCETIME", ja.getJSONObject(i).getString("CUTSTARTTIME"));
  475. lists.put("DESIGN_KEY", ja.getJSONObject(i).getString("ORDERNO"));
  476. lists.put("PROD_THICK", ja.getJSONObject(i).getString("PROD_THK"));
  477. lists.put("PROD_WIDTH", ja.getJSONObject(i).getString("PROD_WTH"));
  478. lists.put("PLANSTEEL", ja.getJSONObject(i).getString("PLANSTEEL"));
  479. lists.put("SC_MEMO", ja.getJSONObject(i).getString("SC_MEMO"));
  480. String mome = mapper.GetLGMemo(ja.getJSONObject(i).getString("ORDERNO"));
  481. lists.put("MEMO", mome);
  482. lists.put("OLD_DESIGN_KEY", ja.getJSONObject(i).getString("ORG_ORDERNO"));
  483. listqjb.add(lists);
  484. }
  485. cro.setResult(listqjb);
  486. }
  487. } catch (Exception ex) {
  488. cro.setV_errCode(-1);
  489. cro.setV_errMsg("获取成分待判信息错误" + ex.getMessage());
  490. SqlSession.rollback();
  491. }
  492. SqlSession.close();
  493. return cro;
  494. }
  495. /**
  496. * 查询成分炼钢待判信息
  497. */
  498. @SuppressWarnings({"unused", "unchecked"})
  499. public CoreReturnObject getLgZRejudgeInfo(String begintime, String endtime, String heatno, String prodline, String prod_type, String judge_type) {
  500. try {
  501. JSONObject jsobj2 = new JSONObject();
  502. JSONArray ttmaps = new JSONArray();
  503. JSONObject jsobj1 = new JSONObject();
  504. if(!heatno.equals("")){
  505. begintime = "";
  506. endtime = "";
  507. }
  508. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) {
  509. String sky=StrSky(begintime,endtime);
  510. if(sky.equals("FALSE")){
  511. SqlSession.close();
  512. cro.setV_errCode(-1);
  513. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  514. return cro;
  515. }
  516. }
  517. jsobj1.put("START_TIME", begintime);
  518. jsobj1.put("END_TIME", endtime);
  519. jsobj1.put("HEAT_NO", heatno == null ? "" : heatno);
  520. jsobj1.put("PROD_LINE", prodline);
  521. jsobj1.put("PROD_TYPE", prod_type);
  522. jsobj1.put("JUDGE_TYPE", judge_type);
  523. jsobj1.put("ISJUDGE", "0");
  524. String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl";
  525. String result = callWebserviceASMX(url, "StorageForJudge", JSON.toJSONString(jsobj1));
  526. if (result.contains("DATA")) {
  527. JSONObject jo = JSONObject.parseObject(result);
  528. JSONArray ja = jo.getJSONArray("DATA");
  529. List<HashMap> listqjb = new ArrayList<HashMap>();
  530. for (int i = 0; i < ja.size(); i++) {
  531. HashMap lists = new HashMap();
  532. lists.put("HEAT_NO", ja.getJSONObject(i).getString("HEATNO"));
  533. lists.put("MATERIAL_NO", ja.getJSONObject(i).getString("BILLETNO"));
  534. lists.put("GRADE_NAME", ja.getJSONObject(i).getString("STEELCODE"));
  535. lists.put("PROD_NAME", ja.getJSONObject(i).getString("PRODNAME"));
  536. lists.put("DELIVERY_STATE_DESC", ja.getJSONObject(i).getString("STATUS"));
  537. lists.put("WEIGHT", ja.getJSONObject(i).getString("WEIGHT"));
  538. lists.put("THICK", ja.getJSONObject(i).getString("THICK"));
  539. lists.put("LENGTH", ja.getJSONObject(i).getString("LENGTH"));
  540. lists.put("WIDTH", ja.getJSONObject(i).getString("WIDTH"));
  541. lists.put("REMARK", ja.getJSONObject(i).get("SLAB_DETAIL"));
  542. lists.put("PRODUCETIME", ja.getJSONObject(i).getString("CUTSTARTTIME"));
  543. lists.put("DESIGN_KEY", ja.getJSONObject(i).getString("ORDERNO"));
  544. lists.put("SURFACEID", ja.getJSONObject(i).getString("FACECHECKID"));
  545. lists.put("PROD_THICK", ja.getJSONObject(i).getString("PROD_THK"));
  546. lists.put("PROD_WIDTH", ja.getJSONObject(i).getString("PROD_WTH"));
  547. lists.put("PLANSTEEL", ja.getJSONObject(i).getString("PLANSTEEL"));
  548. lists.put("SC_MEMO", ja.getJSONObject(i).getString("SC_MEMO"));
  549. lists.put("SURFACERESULT_DESC", ja.getJSONObject(i).getString("FACERESULT").equals("1") ? "合格" : (ja.getJSONObject(i).getString("FACERESULT").equals("2") ? "不合格" : (ja.getJSONObject(i).getString("FACERESULT").equals("3") ? "判次" : (ja.getJSONObject(i).getString("FACERESULT").equals("4") ? "判废" : (ja.getJSONObject(i).getString("FACERESULT").equals("9") ? "订单外合格" : "")))));
  550. lists.put("R_CHEMID", ja.getJSONObject(i).getString("CHEMJUDGEID"));
  551. lists.put("R_CHEMRESULT_DESC", ja.getJSONObject(i).getString("CHEMRESULT_FX").equals("1") ? "合格" : (ja.getJSONObject(i).getString("CHEMRESULT_FX").equals("2") ? "不合格" : (ja.getJSONObject(i).getString("CHEMRESULT_FX").equals("3") ? "判次" : (ja.getJSONObject(i).getString("CHEMRESULT_FX").equals("4") ? "判废" : (ja.getJSONObject(i).getString("CHEMRESULT_FX").equals("9") ? "订单外合格" : "")))));
  552. //String sql = "select memo from qcm_ord_design_memo a where a.design_key = "+ja.getJSONObject(i).getString("ORDERNO");
  553. lists.put("WAITJUDGE", ja.getJSONObject(i).getString("WAITJUDGE"));
  554. String mome = mapper.GetLGMemo(ja.getJSONObject(i).getString("ORDERNO"));
  555. lists.put("MEMO", mome);
  556. listqjb.add(lists);
  557. }
  558. cro.setResult(listqjb);
  559. }
  560. } catch (Exception ex) {
  561. cro.setV_errCode(-1);
  562. cro.setV_errMsg("获取成分待判信息错误" + ex.getMessage());
  563. SqlSession.rollback();
  564. }
  565. SqlSession.close();
  566. return cro;
  567. }
  568. /**
  569. * 查询成分炼钢待判信息
  570. */
  571. @SuppressWarnings({"unused", "unchecked"})
  572. public CoreReturnObject getLgSRejudgeInfo(String begintime, String endtime, String heatno, String prodline, String prod_type, String judge_type) {
  573. try {
  574. JSONObject jsobj2 = new JSONObject();
  575. JSONArray ttmaps = new JSONArray();
  576. JSONObject jsobj1 = new JSONObject();
  577. if(!heatno.equals("")){
  578. begintime = "";
  579. endtime = "";
  580. }
  581. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) {
  582. String sky=StrSky(begintime,endtime);
  583. if(sky.equals("FALSE")){
  584. SqlSession.close();
  585. cro.setV_errCode(-1);
  586. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  587. return cro;
  588. }
  589. }
  590. jsobj1.put("START_TIME", begintime);
  591. jsobj1.put("END_TIME", endtime);
  592. jsobj1.put("HEAT_NO", heatno == null ? "" : heatno);
  593. jsobj1.put("PROD_LINE", prodline);
  594. jsobj1.put("PROD_TYPE", prod_type);
  595. jsobj1.put("JUDGE_TYPE", judge_type);
  596. jsobj1.put("ISJUDGE", "0");
  597. String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl";
  598. String result = callWebserviceASMX(url, "StorageForJudge", JSON.toJSONString(jsobj1));
  599. if (result.contains("DATA")) {
  600. JSONObject jo = JSONObject.parseObject(result);
  601. JSONArray ja = jo.getJSONArray("DATA");
  602. List<HashMap> listqjb = new ArrayList<HashMap>();
  603. for (int i = 0; i < ja.size(); i++) {
  604. HashMap lists = new HashMap();
  605. lists.put("HEAT_NO", ja.getJSONObject(i).getString("HEATNO"));
  606. lists.put("MATERIAL_NO", ja.getJSONObject(i).getString("BILLETNO"));
  607. lists.put("GRADE_NAME", ja.getJSONObject(i).getString("STEELCODE"));
  608. lists.put("PROD_NAME", ja.getJSONObject(i).getString("PRODNAME"));
  609. lists.put("DELIVERY_STATE_DESC", ja.getJSONObject(i).getString("STATUS"));
  610. lists.put("WEIGHT", ja.getJSONObject(i).getString("WEIGHT"));
  611. lists.put("THICK", ja.getJSONObject(i).getString("THICK"));
  612. lists.put("LENGTH", ja.getJSONObject(i).getString("LENGTH"));
  613. lists.put("WIDTH", ja.getJSONObject(i).getString("WIDTH"));
  614. lists.put("PRODUCETIME", ja.getJSONObject(i).getString("CUTSTARTTIME"));
  615. lists.put("DESIGN_KEY", ja.getJSONObject(i).getString("ORDERNO"));
  616. lists.put("SURFACE_ID", ja.getJSONObject(i).getString("FACECHECKID"));
  617. lists.put("PROD_THICK", ja.getJSONObject(i).getString("PROD_THK"));
  618. lists.put("PROD_WIDTH", ja.getJSONObject(i).getString("PROD_WTH"));
  619. lists.put("PLANSTEEL", ja.getJSONObject(i).getString("PLANSTEEL"));
  620. lists.put("SC_MEMO", ja.getJSONObject(i).getString("SC_MEMO"));
  621. String mome = mapper.GetLGMemo(ja.getJSONObject(i).getString("ORDERNO"));
  622. lists.put("MEMO", mome);
  623. listqjb.add(lists);
  624. }
  625. cro.setResult(listqjb);
  626. }
  627. } catch (Exception ex) {
  628. cro.setV_errCode(-1);
  629. cro.setV_errMsg("获取成分待判信息错误" + ex.getMessage());
  630. SqlSession.rollback();
  631. }
  632. SqlSession.close();
  633. return cro;
  634. }
  635. /**
  636. * 查询炼钢待判信息
  637. */
  638. @SuppressWarnings({"unused", "unchecked"})
  639. public CoreReturnObject getLgRejudgeInfobyMaterial_no(String begintime, String endtime, String heatno, String prodline, String prod_type, String judge_type) {
  640. try {
  641. JSONObject jsobj2 = new JSONObject();
  642. JSONArray ttmaps = new JSONArray();
  643. JSONObject jsobj1 = new JSONObject();
  644. jsobj1.put("START_TIME", begintime);
  645. jsobj1.put("END_TIME", endtime);
  646. jsobj1.put("HEAT_NO", heatno == null ? "" : heatno);
  647. jsobj1.put("PROD_LINE", prodline);
  648. jsobj1.put("PROD_TYPE", prod_type);
  649. jsobj1.put("JUDGE_TYPE", judge_type);
  650. jsobj1.put("ISJUDGE", "0");
  651. String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl";
  652. String result = callWebserviceASMX(url, "StorageForJudge", JSON.toJSONString(jsobj1));
  653. if (result.contains("DATA")) {
  654. JSONObject jo = JSONObject.parseObject(result);
  655. JSONArray ja = jo.getJSONArray("DATA");
  656. List<HashMap> listqjb = new ArrayList<HashMap>();
  657. for (int i = 0; i < ja.size(); i++) {
  658. HashMap lists = new HashMap();
  659. lists.put("HEAT_NO", ja.getJSONObject(i).getString("HEATNO"));
  660. lists.put("MATERIAL_NO", ja.getJSONObject(i).getString("BILLETNO"));
  661. lists.put("GRADE_NAME", ja.getJSONObject(i).getString("STEELCODE"));
  662. lists.put("PROD_NAME", ja.getJSONObject(i).getString("PRODNAME"));
  663. lists.put("DELIVERY_STATE_DESC", ja.getJSONObject(i).getString("STATUS"));
  664. lists.put("WEIGHT", ja.getJSONObject(i).getString("WEIGHT"));
  665. lists.put("THICK", ja.getJSONObject(i).getString("THICK"));
  666. lists.put("REMARK", ja.getJSONObject(i).get("SLAB_DETAIL"));
  667. lists.put("LENGTH", ja.getJSONObject(i).getString("LENGTH"));
  668. lists.put("WIDTH", ja.getJSONObject(i).getString("WIDTH"));
  669. lists.put("PRODUCETIME", ja.getJSONObject(i).getString("CUTSTARTTIME"));
  670. lists.put("DESIGN_KEY", ja.getJSONObject(i).getString("ORDERNO"));
  671. lists.put("PLINE_CODE", ja.getJSONObject(i).getString("PROD_CODE"));
  672. lists.put("PLINE_NAME", ja.getJSONObject(i).getString("PROD_NAME"));
  673. lists.put("STD_NAME", ja.getJSONObject(i).getString("USEDSTAND"));
  674. lists.put("CHEMRESULT_LK", ja.getJSONObject(i).getString("CHEMRESULT_FX"));
  675. lists.put("FACERESULT", ja.getJSONObject(i).getString("FACERESULT"));
  676. lists.put("CHEMJUDGEID", ja.getJSONObject(i).getString("CHEMJUDGEID"));
  677. lists.put("FACECHECKID", ja.getJSONObject(i).getString("FACECHECKID"));
  678. lists.put("PROD_THICK", ja.getJSONObject(i).getString("PROD_THK"));
  679. lists.put("PROD_WIDTH", ja.getJSONObject(i).getString("PROD_WTH"));
  680. lists.put("PLANSTEEL", ja.getJSONObject(i).getString("PLANSTEEL"));
  681. lists.put("SC_MEMO", ja.getJSONObject(i).getString("SC_MEMO"));
  682. listqjb.add(lists);
  683. }
  684. cro.setResult(listqjb);
  685. }
  686. } catch (Exception ex) {
  687. cro.setV_errCode(-1);
  688. cro.setV_errMsg("获取成分待判信息错误" + ex.getMessage());
  689. SqlSession.rollback();
  690. }
  691. return cro;
  692. }
  693. /**
  694. * 查询炼钢是否特殊放行
  695. */
  696. @SuppressWarnings({"unused", "unchecked"})
  697. public CoreReturnObject getLgFx(String material_no) {
  698. try {
  699. JSONObject jsobj2 = new JSONObject();
  700. JSONArray ttmaps = new JSONArray();
  701. JSONObject jsobj1 = new JSONObject();
  702. jsobj1.put("HEAT_NO", material_no);
  703. String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl";
  704. String result = callWebserviceASMX(url, "GetBilletInfoBySingleSlabNo", JSON.toJSONString(jsobj1));
  705. if (result.contains("DATA")) {
  706. JSONObject jo = JSONObject.parseObject(result);
  707. if(jo.get("code").toString().equals("1")){
  708. throw new Exception("获取是否放行失败!");
  709. }
  710. JSONArray ja = jo.getJSONArray("DATA");
  711. List<HashMap> listqjb = new ArrayList<HashMap>();
  712. for (int i = 0; i < ja.size(); i++) {
  713. HashMap lists = new HashMap();
  714. lists.put("chemresult_fx", ja.getJSONObject(i).getString("CHEMRESULT_FX"));
  715. listqjb.add(lists);
  716. }
  717. cro.setResult(listqjb);
  718. }else{
  719. cro.setResult(null);
  720. }
  721. } catch (Exception ex) {
  722. cro.setV_errCode(-1);
  723. cro.setV_errMsg("获取成分待判信息错误" + ex.getMessage());
  724. SqlSession.rollback();
  725. }
  726. return cro;
  727. }
  728. /**
  729. * 查询炼钢成分判定信息
  730. */
  731. @SuppressWarnings({"unused", "unchecked"})
  732. public CoreReturnObject getLgjudgeInfobyMaterial_no1(String begintime, String endtime, String heatno, String prodline, String prod_type, String judge_type) {
  733. try {
  734. JSONObject jsobj2 = new JSONObject();
  735. JSONArray ttmaps = new JSONArray();
  736. JSONObject jsobj1 = new JSONObject();
  737. jsobj1.put("START_TIME", begintime);
  738. jsobj1.put("END_TIME", endtime);
  739. jsobj1.put("HEAT_NO", heatno == null ? "" : heatno);
  740. jsobj1.put("PROD_LINE", prodline);
  741. jsobj1.put("PROD_TYPE", prod_type);
  742. jsobj1.put("JUDGE_TYPE", judge_type);
  743. jsobj1.put("ISJUDGE", "1");
  744. String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl";
  745. String result = callWebserviceASMX(url, "GetBilletInfoByBilletNo", JSON.toJSONString(jsobj1));
  746. if (result.contains("DATA")) {
  747. JSONObject jo = JSONObject.parseObject(result);
  748. JSONArray ja = jo.getJSONArray("DATA");
  749. List<HashMap> listqjb = new ArrayList<HashMap>();
  750. for (int i = 0; i < ja.size(); i++) {
  751. HashMap lists = new HashMap();
  752. lists.put("heat_no", ja.getJSONObject(i).getString("HEATNO"));
  753. lists.put("material_no", ja.getJSONObject(i).getString("BILLETNO"));
  754. lists.put("grade_name", ja.getJSONObject(i).getString("STEELCODE"));
  755. lists.put("prod_name", ja.getJSONObject(i).getString("PRODNAME"));
  756. lists.put("delivery_state_desc", ja.getJSONObject(i).getString("STATUS"));
  757. //lists.put("weight", ja.getJSONObject(i).getString("WEIGHT"));
  758. lists.put("thick", ja.getJSONObject(i).getString("THICK"));
  759. lists.put("length", ja.getJSONObject(i).getString("LENGTH"));
  760. lists.put("width", ja.getJSONObject(i).getString("WIDTH"));
  761. lists.put("judge_ttime", ja.getJSONObject(i).getString("CUTSTARTTIME"));
  762. lists.put("design_key", ja.getJSONObject(i).getString("ORDERNO"));
  763. lists.put("pline_code", ja.getJSONObject(i).getString("PROD_CODE"));
  764. lists.put("pline_name", ja.getJSONObject(i).getString("PROD_NAME"));
  765. lists.put("std_name", ja.getJSONObject(i).getString("USEDSTAND"));
  766. lists.put("weight", ja.getJSONObject(i).getString("WEIGHT"));
  767. lists.put("cic_id", ja.getJSONObject(i).getString("CHEMJUDGEID"));
  768. lists.put("prod_thick", ja.getJSONObject(i).getString("PROD_THK"));
  769. lists.put("prod_width", ja.getJSONObject(i).getString("PROD_WTH"));
  770. lists.put("PLANSTEEL", ja.getJSONObject(i).getString("PLANSTEEL"));
  771. lists.put("COMPREHENSIVEID", ja.getJSONObject(i).getString("COMPREHENSIVEID"));
  772. lists.put("FACECHECKID", ja.getJSONObject(i).getString("FACECHECKID"));
  773. lists.put("CHEMJUDGEID", ja.getJSONObject(i).getString("CHEMJUDGEID"));
  774. lists.put("THEORYWEIGHT", ja.getJSONObject(i).getString("THEORYWEIGHT"));
  775. lists.put("cic_result_desc", ja.getJSONObject(i).getString("CHEMRESULT_FX").equals("1") ? "合格" : (ja.getJSONObject(i).getString("CHEMRESULT_FX").equals("2") ? "不合格" : (ja.getJSONObject(i).getString("CHEMRESULT_FX").equals("3") ? "判次" : (ja.getJSONObject(i).getString("CHEMRESULT_FX").equals("4") ? "判废" : (ja.getJSONObject(i).getString("CHEMRESULT_FX").equals("9") ? "订单外合格" : "")))));
  776. lists.put("REMARK_ID", ja.getJSONObject(i).getString("REMARK_ID"));
  777. lists.put("SC_MEMO", ja.getJSONObject(i).getString("SC_MEMO"));
  778. /*List<QcmJudgeChemical> qjc = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where cic_id = '"+ja.getJSONObject(i).getString("CHEMJUDGEID")+"'");
  779. if(qjc.size() >0){
  780. lists.put("judge_name", qjc.get(0).getJudge_name());
  781. }else{
  782. cro.setResult(listqjb);
  783. return cro;
  784. }*/
  785. lists.put("isfx", ja.getJSONObject(i).getString("ISFX"));
  786. lists.put("FXID", ja.getJSONObject(i).getString("FXID"));
  787. lists.put("WAITJUDGE", ja.getJSONObject(i).getString("WAITJUDGE"));
  788. String mome = mapper.GetLGMemo(ja.getJSONObject(i).getString("ORDERNO"));
  789. lists.put("MEMO", mome);
  790. listqjb.add(lists);
  791. }
  792. cro.setResult(listqjb);
  793. }
  794. } catch (Exception ex) {
  795. cro.setV_errCode(-1);
  796. cro.setV_errMsg("获取成分待判信息错误" + ex.getMessage());
  797. SqlSession.rollback();
  798. }
  799. return cro;
  800. }
  801. /**
  802. * 查询炼钢成分判定信息
  803. */
  804. @SuppressWarnings({"unused", "unchecked"})
  805. public CoreReturnObject getLgjudgeInfo(String begintime, String endtime, String heatno, String prodline, String prod_type, String judge_type,String isvalid) {
  806. try {
  807. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(heatno)) {
  808. String sky=StrSky(begintime,endtime);
  809. if(sky.equals("FALSE")){
  810. SqlSession.close();
  811. cro.setV_errCode(-1);
  812. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  813. return cro;
  814. }
  815. }
  816. String sql = "select heat_no,material_no,grade_name,prod_name,design_key,delivery_state_desc, "
  817. + " thick,length,width,judge_ttime,pline_code,pline_name,std_name, "
  818. + " cic_id,cic_result_desc,CIC_MEMO,judge_name,(select memo from qcm_ord_design_memo b where b.design_key = a.design_key) memo from qcm_judge_chemical a ";
  819. String swhere = " where 1=1";
  820. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(heatno)) { //时间
  821. swhere += " and to_date(to_char(a.judge_ttime,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('" + begintime + "','yyyy-mm-dd') and to_date('" + endtime + "','yyyy-mm-dd')";
  822. }
  823. if (!SqlJoint.IsNullOrSpace(heatno)) { //炉号
  824. swhere += " and (a.heat_no like '" + heatno + "%' or a.material_no like '" + heatno + "%')";
  825. }
  826. if (!SqlJoint.IsNullOrSpace(prodline)) { //板坯号
  827. swhere += " and a.pline_code = '" + prodline + "'";
  828. }
  829. if (!SqlJoint.IsNullOrSpace(prod_type)) { //销售订单号
  830. swhere += " and a.prod_name like '%" + prod_type + "%'";
  831. }
  832. swhere += " order by judge_ttime desc";
  833. List<HashMap> qjc = mapper.query(sql + swhere);
  834. String material_no = "";
  835. StringBuffer sqlucomm = new StringBuffer();
  836. int j=0;
  837. for(HashMap list1 : qjc){
  838. if(j>=900){
  839. if(j% 900 == 0){
  840. sqlucomm.append( ") or HEATNO in ('" + list1.get("MATERIAL_NO").toString()+"'") ;
  841. }
  842. }
  843. else
  844. {
  845. if(sqlucomm.length()== 0){
  846. sqlucomm.append( "('" + list1.get("MATERIAL_NO").toString()+"'");
  847. }else{
  848. sqlucomm.append( ",'"+ list1.get("MATERIAL_NO").toString()+"'");
  849. }
  850. }
  851. j++;
  852. }
  853. if (sqlucomm.length()== 0)
  854. sqlucomm.append( "('')");
  855. else
  856. sqlucomm.append( ")");
  857. QcmJudgeMeasureServiceImpl qjms = new QcmJudgeMeasureServiceImpl();
  858. List<HashMap> hashmap = (List<HashMap>) getLgjudgeInfobyMaterial_no1("", "", sqlucomm.toString(), prodline, prod_type, "").getResult();
  859. for (HashMap list1 : qjc) {
  860. int x= 0;
  861. if (hashmap.size() != 0) {
  862. for (HashMap hs : hashmap) {
  863. if (list1.get("MATERIAL_NO").toString().equals(hs.get("material_no").toString())) {
  864. list1.put("PROD_THICK", hs.get("prod_thick") == null ? "" : hs.get("prod_thick").toString());
  865. list1.put("PROD_WIDTH", hs.get("prod_width") == null ? "" : hs.get("prod_width").toString());
  866. list1.put("DELIVERY_STATE_DESC", hs.get("delivery_state_desc") == null ? "" : hs.get("delivery_state_desc").toString());
  867. list1.put("PLANSTEEL", hs.get("PLANSTEEL")==null?"":hs.get("PLANSTEEL").toString());
  868. list1.put("SC_MEMO", hs.get("SC_MEMO")==null?"":hs.get("SC_MEMO").toString());
  869. x++;
  870. }
  871. }
  872. }
  873. if(x==0){
  874. list1.put("PROD_THICK", "");
  875. list1.put("PROD_WIDTH", "");
  876. list1.put("DELIVERY_STATE_DESC", "");
  877. list1.put("PLANSTEEL", "");
  878. list1.put("SC_MEMO", "");
  879. }
  880. }
  881. List<String> z = new ArrayList<String>();
  882. if(isvalid.equals("1")){
  883. for (HashMap hs : hashmap) {
  884. z.add(hs.get("CHEMJUDGEID").toString());
  885. }
  886. for(int s = 0;s<qjc.size();s++){
  887. if(!z.contains(qjc.get(s).get("CIC_ID"))){
  888. qjc.remove(s);
  889. s--;
  890. }
  891. }
  892. }
  893. cro.setResult(qjc);
  894. } catch (Exception ex) {
  895. cro.setV_errCode(-1);
  896. cro.setV_errMsg("获取成分待判信息错误" + ex.getMessage());
  897. SqlSession.rollback();
  898. }
  899. SqlSession.close();
  900. return cro;
  901. }
  902. /**
  903. * 炉次顺序查询
  904. */
  905. public CoreReturnObject GetHeatProcessInfo(String begintime, String endtime, String heatno, String prodline){
  906. try {
  907. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) {
  908. String sky=StrSky(begintime,endtime);
  909. if(sky.equals("FALSE")){
  910. SqlSession.close();
  911. cro.setV_errCode(-1);
  912. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  913. return cro;
  914. }
  915. }
  916. JSONObject jsobj2 = new JSONObject();
  917. JSONArray ttmaps = new JSONArray();
  918. JSONObject jsobj1 = new JSONObject();
  919. jsobj1.put("START_TIME", begintime);
  920. jsobj1.put("END_TIME", endtime);
  921. jsobj1.put("HEAT_NO", heatno == null ? "" : heatno);
  922. jsobj1.put("PROD_LINE", prodline);
  923. String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl";
  924. String result = callWebserviceASMX(url, "GetHeatProcessInfo", JSON.toJSONString(jsobj1));
  925. if (result.contains("DATA")) {
  926. JSONObject jo = JSONObject.parseObject(result);
  927. JSONArray ja = jo.getJSONArray("DATA");
  928. List<HashMap> listqjb = new ArrayList<HashMap>();
  929. for (int i = 0; i < ja.size(); i++) {
  930. HashMap lists = new HashMap();
  931. //炉号
  932. lists.put("HEAT_NO", ja.getJSONObject(i).getString("CHARGE_NO"));
  933. //牌号
  934. lists.put("STEEL_NAME", ja.getJSONObject(i).getString("STL_GRD"));
  935. //计划牌号
  936. lists.put("PLAN_STEEL", ja.getJSONObject(i).getString("BEF_STL_GRD"));
  937. //工序代码
  938. lists.put("CHEM_L2_PROC_CD", ja.getJSONObject(i).getString("CHEM_L2_PROC_CD"));
  939. //连铸机号
  940. lists.put("ACT_CCM_RT", ja.getJSONObject(i).getString("ACT_CCM_RT"));
  941. //产品类型
  942. lists.put("PLATE_TYPE", ja.getJSONObject(i).getString("PLATE_TYPE"));
  943. listqjb.add(lists);
  944. }
  945. cro.setResult(listqjb);
  946. }
  947. } catch (Exception ex) {
  948. cro.setV_errCode(-1);
  949. cro.setV_errMsg("获取炉次顺序信息错误" + ex.getMessage());
  950. SqlSession.rollback();
  951. }
  952. return cro;
  953. }
  954. /**
  955. * 查询炼钢成分判定信息
  956. */
  957. @SuppressWarnings({"unused", "unchecked"})
  958. public CoreReturnObject getLgZjudgeInfo(String begintime, String endtime, String heatno, String prodline, String prod_type, String judge_type,String isvalid) {
  959. try {
  960. String swhere = "";
  961. //String sqls = "select judgeid from zj_result_all@xgcx WHERE 1=1 and (BILLETID LIKE 'Z%' OR BILLETID LIKE 'Z%')";
  962. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(heatno)) { //生产时间
  963. swhere += " and to_date(to_char(JUDGE_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('" + begintime + "','yyyy-mm-dd') and to_date('" + endtime + "','yyyy-mm-dd')";
  964. }
  965. if (!SqlJoint.IsNullOrSpace(heatno)) { //起始轧批号
  966. swhere += " and (heat_no like '" + heatno + "%' or material_no like '" + heatno + "%')";
  967. }
  968. if (!SqlJoint.IsNullOrSpace(prodline)) { //最后轧批号
  969. swhere += "and pline_code = '" + prodline + "'";
  970. }
  971. if (!SqlJoint.IsNullOrSpace(prod_type)) { //销售订单号
  972. swhere += " and prod_name like '%" + prod_type + "%'";
  973. }
  974. //swhere += "and UTM_ID in ("+sqls+")";
  975. swhere += " order by MATERIAL_NO,JUDGE_TIME asc";
  976. String sql = "select heat_no,UTM_ID,UTM_RESULT_DESC,sfu_result_desc,r_cic_result_desc,MATERIAL_NO,DESIGN_KEY,JUDGE_NAME,UTM_MEMO,JUDGE_TIME, "
  977. + "steel_name,FIX_REMARKS,CHECK_REMARKS,prod_name,std_name,pline_code,r_cic_id,sfu_id from QCM_JUDGE_ULTIMATE where 1=1 " + swhere + "";
  978. List<HashMap> list = mapper.query(sql);
  979. String material_no = "";
  980. StringBuffer sqlucomm = new StringBuffer();
  981. int j=0;
  982. for(HashMap list1 : list){
  983. if(j>=900){
  984. if(j% 900 == 0){
  985. sqlucomm.append( ") or HEATNO in ('" + list1.get("MATERIAL_NO").toString()+"'") ;
  986. }else{
  987. sqlucomm.append( ",'"+ list1.get("MATERIAL_NO").toString()+"'");
  988. }
  989. }
  990. else
  991. {
  992. if(sqlucomm.length()== 0){
  993. sqlucomm.append( "('" + list1.get("MATERIAL_NO").toString()+"'");
  994. }else{
  995. sqlucomm.append( ",'"+ list1.get("MATERIAL_NO").toString()+"'");
  996. }
  997. }
  998. j++;
  999. }
  1000. if (sqlucomm.length()== 0)
  1001. sqlucomm.append( "('')");
  1002. else
  1003. sqlucomm.append( ")");
  1004. QcmJudgeMeasureServiceImpl qjms = new QcmJudgeMeasureServiceImpl();
  1005. List<HashMap> hashmap = (List<HashMap>) getLgjudgeInfobyMaterial_no1("", "", sqlucomm.toString(), prodline, prod_type, judge_type).getResult();
  1006. for (HashMap list1 : list) {
  1007. if (hashmap.size() != 0) {
  1008. int x = 0;
  1009. for (HashMap hs : hashmap) {
  1010. if (list1.get("MATERIAL_NO").toString().equals(hs.get("material_no").toString())) {
  1011. list1.put("PROD_THICK", hs.get("prod_thick") == null ? "" : hs.get("prod_thick").toString());
  1012. list1.put("PROD_WIDTH", hs.get("prod_width") == null ? "" : hs.get("prod_width").toString());
  1013. list1.put("DELIVERY_STATE_DESC", hs.get("delivery_state_desc") == null ? "" : hs.get("delivery_state_desc").toString());
  1014. list1.put("THICK", hs.get("thick") == null ? "" : hs.get("thick").toString());
  1015. list1.put("LENGTH", hs.get("length") == null ? "" : hs.get("length").toString());
  1016. list1.put("WIDTH", hs.get("width") == null ? "" : hs.get("width").toString());
  1017. list1.put("WEIGHT", hs.get("weight") == null ? "" : hs.get("weight").toString());
  1018. list1.put("ISFX", hs.get("isfx") == null ? "" : hs.get("isfx").toString());
  1019. list1.put("PLANSTEEL", hs.get("PLANSTEEL")==null?"":hs.get("PLANSTEEL").toString());
  1020. list1.put("THEORYWEIGHT", hs.get("THEORYWEIGHT")==null?"":hs.get("THEORYWEIGHT").toString());
  1021. list1.put("MEMO", hs.get("MEMO")==null?"":hs.get("MEMO").toString());
  1022. list1.put("REMARK_ID", hs.get("REMARK_ID")==null?"":hs.get("REMARK_ID").toString());
  1023. list1.put("FXID", hs.get("FXID")==null?"":hs.get("FXID").toString());
  1024. list1.put("SC_MEMO", hs.get("SC_MEMO")==null?"":hs.get("SC_MEMO").toString());
  1025. list1.put("WAITJUDGE", hs.get("WAITJUDGE")==null?"":hs.get("WAITJUDGE").toString());
  1026. x++;
  1027. }
  1028. }
  1029. if(x==0){
  1030. list1.put("PROD_THICK","");
  1031. list1.put("PROD_WIDTH", "");
  1032. list1.put("DELIVERY_STATE_DESC", "");
  1033. list1.put("THICK", "");
  1034. list1.put("LENGTH","");
  1035. list1.put("WIDTH", "");
  1036. list1.put("WEIGHT","");
  1037. list1.put("ISFX", "");
  1038. list1.put("PLANSTEEL", "");
  1039. list1.put("THEORYWEIGHT", "");
  1040. list1.put("MEMO", "");
  1041. list1.put("REMARK_ID", "");
  1042. list1.put("FXID", "");
  1043. list1.put("SC_MEMO", "");
  1044. list1.put("WAITJUDGE", "");
  1045. }
  1046. }
  1047. }
  1048. List<String> z = new ArrayList<String>();
  1049. if(isvalid.equals("1")){
  1050. for (HashMap hs : hashmap) {
  1051. z.add(hs.get("COMPREHENSIVEID").toString());
  1052. }
  1053. for(int s = 0;s<list.size();s++){
  1054. if(!z.contains(list.get(s).get("UTM_ID"))){
  1055. list.remove(s);
  1056. s--;
  1057. }
  1058. }
  1059. }
  1060. cro.setResult(list);
  1061. System.out.print(list);
  1062. } catch (Exception ex) {
  1063. ex.printStackTrace();
  1064. cro.setV_errCode(-1);
  1065. cro.setV_errMsg("查询失败!" + ex.getMessage());
  1066. }
  1067. /*try{
  1068. JSONObject jsobj2 = new JSONObject();
  1069. JSONArray ttmaps = new JSONArray();
  1070. JSONObject jsobj1 = new JSONObject();
  1071. jsobj1.put("START_TIME", begintime);
  1072. jsobj1.put("END_TIME",endtime);
  1073. jsobj1.put("HEAT_NO",heatno==null?"":heatno);
  1074. jsobj1.put("PROD_LINE",prodline);
  1075. jsobj1.put("PROD_TYPE",prod_type);
  1076. jsobj1.put("JUDGE_TYPE",judge_type);
  1077. jsobj1.put("ISJUDGE","1");
  1078. String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl";
  1079. String result = callWebserviceASMX(url,"getBilletInfo",JSON.toJSONString(jsobj1));
  1080. if(result.contains("DATA")){
  1081. JSONObject jo = JSONObject.parseObject(result);
  1082. JSONArray ja = jo.getJSONArray("DATA");
  1083. List<HashMap> listqjb = new ArrayList<HashMap>();
  1084. for(int i = 0;i<ja.size();i++){
  1085. HashMap lists = new HashMap();
  1086. //lists.put("HEAT_NO", ja.getJSONObject(i).getString("HEATNO"));
  1087. lists.put("MATERIAL_NO", ja.getJSONObject(i).getString("BILLETNO"));
  1088. lists.put("STEEL_NAME", ja.getJSONObject(i).getString("STEELCODE"));
  1089. lists.put("PROD_NAME", ja.getJSONObject(i).getString("PRODNAME"));
  1090. lists.put("DELIVERY_STATE_DESC", ja.getJSONObject(i).getString("STATUS"));
  1091. lists.put("WEIGHT", ja.getJSONObject(i).getString("WEIGHT"));
  1092. lists.put("THICK", ja.getJSONObject(i).getString("THICK"));
  1093. lists.put("LENGTH", ja.getJSONObject(i).getString("LENGTH"));
  1094. lists.put("WIDTH", ja.getJSONObject(i).getString("WIDTH"));
  1095. lists.put("JUDGE_TIME", ja.getJSONObject(i).getString("CUTSTARTTIME"));
  1096. lists.put("DESIGN_KEY", ja.getJSONObject(i).getString("ORDERNO"));
  1097. lists.put("PROD_THICK", ja.getJSONObject(i).getString("PROD_THK"));
  1098. lists.put("PROD_WIDTH", ja.getJSONObject(i).getString("PROD_WTH"));
  1099. //lists.put("PLINE_CODE", ja.getJSONObject(i).getString("PROD_CODE"));
  1100. //lists.put("PLINE_NAME", ja.getJSONObject(i).getString("PROD_NAME"));
  1101. lists.put("STD_NAME", ja.getJSONObject(i).getString("USEDSTAND"));
  1102. lists.put("UTM_ID", ja.getJSONObject(i).getString("COMPREHENSIVEID"));
  1103. lists.put("UTM_RESULT_DESC", ja.getJSONObject(i).getString("COMPREHENSIVERESULT").equals("1")?"合格":(ja.getJSONObject(i).getString("COMPREHENSIVERESULT").equals("2")?"不合格":(ja.getJSONObject(i).getString("COMPREHENSIVERESULT").equals("3")?"判次":(ja.getJSONObject(i).getString("COMPREHENSIVERESULT").equals("4")?"判废":"待判"))));
  1104. listqjb.add(lists);
  1105. }
  1106. cro.setResult(listqjb);
  1107. }
  1108. }catch(Exception ex){
  1109. cro.setV_errCode(-1);
  1110. cro.setV_errMsg("获取成分待判信息错误"+ex.getMessage());
  1111. SqlSession.rollback();
  1112. }*/
  1113. SqlSession.close();
  1114. return cro;
  1115. }
  1116. /**
  1117. * 查询炼钢成分判定信息
  1118. */
  1119. @SuppressWarnings({"unused", "unchecked"})
  1120. public CoreReturnObject getLgSjudgeInfo(String begintime, String endtime, String heatno, String prodline, String prod_type, String judge_type,String isvalid) {
  1121. try {
  1122. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(heatno)) {
  1123. String sky=StrSky(begintime,endtime);
  1124. if(sky.equals("FALSE")){
  1125. SqlSession.close();
  1126. cro.setV_errCode(-1);
  1127. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  1128. return cro;
  1129. }
  1130. }
  1131. //String sqls = "select surfaceid from QCM_JUDGE_COIL_RESULT";
  1132. String sql = "select HEAT_NO,BATCH_NO,a.surface_id, a.sf_result_desc, a.batch_no, a.material_no, a.design_key, a.psc_desc, a.level_desc,b.flaw_desc,a.judge_name,a.sf_memo,a.judge_time,"
  1133. + " a.prod_name,a.std_name,pline_code "
  1134. + " from qcm_judge_surface a left join qcm_judge_surface_flaw b on a.surface_id = b.surface_id and b.primary_flag = '1'";
  1135. String swhere = " where 1=1 ";
  1136. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(heatno)) { //生产时间
  1137. swhere += " and to_date(to_char(JUDGE_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('" + begintime + "','yyyy-mm-dd') and to_date('" + endtime + "','yyyy-mm-dd')";
  1138. }
  1139. if (!SqlJoint.IsNullOrSpace(heatno)) { //炉号
  1140. swhere += " and (a.heat_no like '" + heatno + "%' or a.material_no like '" + heatno + "%')";
  1141. }
  1142. if (!SqlJoint.IsNullOrSpace(prodline)) { //板坯号
  1143. swhere += " and a.pline_code = '" + prodline + "'";
  1144. }
  1145. if (!SqlJoint.IsNullOrSpace(prod_type)) { //销售订单号
  1146. swhere += " and a.prod_name like '%" + prod_type + "%'";
  1147. }
  1148. swhere += " order by judge_time desc";
  1149. List<HashMap> list = mapper.query(sql + swhere);
  1150. String material_no = "";
  1151. StringBuffer sqlucomm = new StringBuffer();
  1152. int j=0;
  1153. for(HashMap list1 : list){
  1154. if(j>=900){
  1155. if(j% 900 == 0){
  1156. sqlucomm.append( ") or HEATNO in ('" + list1.get("MATERIAL_NO").toString()+"'") ;
  1157. }
  1158. }
  1159. else
  1160. {
  1161. if(sqlucomm.length()== 0){
  1162. sqlucomm.append( "('" + list1.get("MATERIAL_NO").toString()+"'");
  1163. }else{
  1164. sqlucomm.append( ",'"+ list1.get("MATERIAL_NO").toString()+"'");
  1165. }
  1166. }
  1167. j++;
  1168. }
  1169. if (sqlucomm.length()== 0)
  1170. sqlucomm.append( "('')");
  1171. else
  1172. sqlucomm.append( ")");
  1173. QcmJudgeMeasureServiceImpl qjms = new QcmJudgeMeasureServiceImpl();
  1174. List<HashMap> hashmap = (List<HashMap>) getLgjudgeInfobyMaterial_no1("", "", sqlucomm.toString(), prodline, prod_type, "").getResult();
  1175. for (HashMap list1 : list) {
  1176. if (hashmap.size() != 0) {
  1177. int x = 0;
  1178. for (HashMap hs : hashmap) {
  1179. if (list1.get("MATERIAL_NO").toString().equals(hs.get("material_no").toString())) {
  1180. list1.put("PROD_THICK", hs.get("prod_thick") == null ? "" : hs.get("prod_thick").toString());
  1181. list1.put("PROD_WIDTH", hs.get("prod_width") == null ? "" : hs.get("prod_width").toString());
  1182. list1.put("DELIVERY_STATE_DESC", hs.get("delivery_state_desc") == null ? "" : hs.get("delivery_state_desc").toString());
  1183. list1.put("THICK", hs.get("thick") == null ? "" : hs.get("thick").toString());
  1184. list1.put("LENGTH", hs.get("length") == null ? "" : hs.get("length").toString());
  1185. list1.put("WIDTH", hs.get("width") == null ? "" : hs.get("width").toString());
  1186. list1.put("WEIGHT", hs.get("weight") == null ? "" : hs.get("weight").toString());
  1187. list1.put("STD_NAME", hs.get("std_name") == null ? "" : hs.get("std_name").toString());
  1188. list1.put("PLANSTEEL", hs.get("PLANSTEEL")==null?"":hs.get("PLANSTEEL").toString());
  1189. list1.put("STEEL_NAME", hs.get("grade_name")==null?"":hs.get("grade_name").toString());
  1190. list1.put("THEORYWEIGHT", hs.get("THEORYWEIGHT")==null?"":hs.get("THEORYWEIGHT").toString());
  1191. list1.put("MEMO", hs.get("MEMO")==null?"":hs.get("MEMO").toString());
  1192. list1.put("SC_MEMO", hs.get("SC_MEMO")==null?"":hs.get("SC_MEMO").toString());
  1193. x++;
  1194. }
  1195. }
  1196. if(x==0){
  1197. //if(isvalid.)
  1198. list1.put("PROD_THICK", "");
  1199. list1.put("PROD_WIDTH", "");
  1200. list1.put("DELIVERY_STATE_DESC", "");
  1201. list1.put("THICK", "");
  1202. list1.put("LENGTH", "");
  1203. list1.put("WIDTH", "");
  1204. list1.put("WEIGHT", "");
  1205. list1.put("STD_NAME", "");
  1206. list1.put("PLANSTEEL", "");
  1207. list1.put("STEEL_NAME", "");
  1208. list1.put("THEORYWEIGHT", "");
  1209. list1.put("MEMO", "");
  1210. list1.put("SC_MEMO", "");
  1211. }
  1212. }
  1213. }
  1214. List<String> z = new ArrayList<String>();
  1215. if(isvalid.equals("1")){
  1216. for (HashMap hs : hashmap) {
  1217. z.add(hs.get("FACECHECKID").toString());
  1218. }
  1219. for(int s = 0;s<list.size();s++){
  1220. if(!z.contains(list.get(s).get("SURFACE_ID"))){
  1221. list.remove(s);
  1222. s--;
  1223. }
  1224. }
  1225. }
  1226. cro.setResult(list);
  1227. } catch (Exception e) {
  1228. cro.setV_errCode(-1);
  1229. cro.setV_errMsg("查询判定信息出错" + e.getMessage());
  1230. SqlSession.rollback();
  1231. }
  1232. /*try{
  1233. JSONObject jsobj2 = new JSONObject();
  1234. JSONArray ttmaps = new JSONArray();
  1235. JSONObject jsobj1 = new JSONObject();
  1236. jsobj1.put("START_TIME", begintime);
  1237. jsobj1.put("END_TIME",endtime);
  1238. jsobj1.put("HEAT_NO",heatno==null?"":heatno);
  1239. jsobj1.put("PROD_LINE",prodline);
  1240. jsobj1.put("PROD_TYPE",prod_type);
  1241. jsobj1.put("JUDGE_TYPE",judge_type);
  1242. jsobj1.put("ISJUDGE","1");
  1243. String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl";
  1244. String result = callWebserviceASMX(url,"getBilletInfo",JSON.toJSONString(jsobj1));
  1245. if(result.contains("DATA")){
  1246. JSONObject jo = JSONObject.parseObject(result);
  1247. JSONArray ja = jo.getJSONArray("DATA");
  1248. List<HashMap> listqjb = new ArrayList<HashMap>();
  1249. for(int i = 0;i<ja.size();i++){
  1250. HashMap lists = new HashMap();
  1251. //lists.put("HEAT_NO", ja.getJSONObject(i).getString("HEATNO"));
  1252. lists.put("MATERIAL_NO", ja.getJSONObject(i).getString("BILLETNO"));
  1253. lists.put("BATCH_NO", ja.getJSONObject(i).getString("BILLETNO"));
  1254. lists.put("STEEL_NAME", ja.getJSONObject(i).getString("STEELCODE"));
  1255. lists.put("PROD_NAME", ja.getJSONObject(i).getString("PRODNAME"));
  1256. lists.put("DELIVERY_STATE_DESC", ja.getJSONObject(i).getString("STATUS"));
  1257. lists.put("WEIGHT", ja.getJSONObject(i).getString("WEIGHT"));
  1258. lists.put("THICK", ja.getJSONObject(i).getString("THICK"));
  1259. lists.put("LENGTH", ja.getJSONObject(i).getString("LENGTH"));
  1260. lists.put("WIDTH", ja.getJSONObject(i).getString("WIDTH"));
  1261. lists.put("PROD_THICK", ja.getJSONObject(i).getString("PROD_THK"));
  1262. lists.put("PROD_WIDTH", ja.getJSONObject(i).getString("PROD_WTH"));
  1263. lists.put("JUDGE_TIME", ja.getJSONObject(i).getString("CUTSTARTTIME"));
  1264. lists.put("DESIGN_KEY", ja.getJSONObject(i).getString("ORDERNO"));
  1265. //lists.put("PLINE_CODE", ja.getJSONObject(i).getString("PROD_CODE"));
  1266. //lists.put("PLINE_NAME", ja.getJSONObject(i).getString("PROD_NAME"));
  1267. lists.put("STD_NAME", ja.getJSONObject(i).getString("USEDSTAND"));
  1268. lists.put("SURFACE_ID", ja.getJSONObject(i).getString("FACECHECKID"));
  1269. lists.put("SF_RESULT_DESC", ja.getJSONObject(i).getString("FACERESULT").equals("1")?"合格":(ja.getJSONObject(i).getString("FACERESULT").equals("2")?"不合格":(ja.getJSONObject(i).getString("FACERESULT").equals("3")?"判次":(ja.getJSONObject(i).getString("FACERESULT").equals("4")?"判废":"待判"))));
  1270. List<QcmJudgeSurface> qjc = mapper.queryQcmJudgeSurfaces("select * from QCM_JUDGE_SURFACE where SURFACE_ID = '"+ja.getJSONObject(i).getString("FACECHECKID")+"'");
  1271. List<QcmJudgeSurfaceFlaw> qjf = mapper.queryQcmJudgeSurfaceFlaw("select * from qcm_judge_surface_flaw where surface_id = '"+ja.getJSONObject(i).getString("FACECHECKID")+"' and PRIMARY_FLAG = '1'");
  1272. if(qjf.size() > 0){
  1273. lists.put("FLAW_DESC", qjf.get(0).getFlaw_desc());
  1274. }else{
  1275. lists.put("FLAW_DESC", "");
  1276. }
  1277. if(qjc.size() >0){
  1278. lists.put("JUDGE_NAME", qjc.get(0).getJudge_name());
  1279. lists.put("LEVEL_DESC", qjc.get(0).getLevel_desc());
  1280. lists.put("SF_MEMO", qjc.get(0).getSf_memo());
  1281. }else{
  1282. lists.put("JUDGE_NAME", "");
  1283. lists.put("LEVEL_DESC", "");
  1284. lists.put("SF_MEMO", "");
  1285. }
  1286. listqjb.add(lists);
  1287. }
  1288. cro.setResult(listqjb);
  1289. }
  1290. }catch(Exception ex){
  1291. cro.setV_errCode(-1);
  1292. cro.setV_errMsg("获取成分待判信息错误"+ex.getMessage());
  1293. SqlSession.rollback();
  1294. }*/
  1295. SqlSession.close();
  1296. return cro;
  1297. }
  1298. public static String callWebserviceASMX(String url, String method, String json) throws Exception {
  1299. System.out.println("Start invoking....");
  1300. String str = "";
  1301. try {
  1302. String endPoint = url;
  1303. String soapaction = "http://dao.hnshituo.com/";
  1304. Service service = new Service();
  1305. Call call = (Call) service.createCall();
  1306. call.setTargetEndpointAddress(new java.net.URL(endPoint));
  1307. call.setOperation(method);
  1308. call.setUseSOAPAction(true);
  1309. call.setSOAPActionURI(soapaction + method);
  1310. call.setOperationName(new QName(soapaction, method));
  1311. call.addParameter("arg0", org.apache.axis.encoding.XMLType.XSD_STRING, ParameterMode.IN);
  1312. call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
  1313. str = (String) call.invoke(new Object[]{json});
  1314. System.out.println(str);
  1315. } catch (Exception e) {
  1316. throw new Exception(e.getMessage());
  1317. }
  1318. return str;
  1319. }
  1320. /**
  1321. * 创建成分判定记录
  1322. *
  1323. * @param listEle 成分检验信息
  1324. * @param sampleOrd 判定数据源
  1325. * @param pass 是否合格
  1326. * @return
  1327. */
  1328. public QcmJudgeChemical CreateJudgeRecord(List<QcmJhyInspElements> listEle, QcmJhySampleROrd sampleOrd, boolean pass, String username) throws Exception {
  1329. try {
  1330. String proAssaynos = "", semiAssaynos = "";//成品化验号、熔炼化验号
  1331. for (QcmJhyInspElements qcmJhyElements : listEle) {
  1332. if (qcmJhyElements.getAssay_type().equals("L")) {
  1333. if (!semiAssaynos.contains(qcmJhyElements.getAssay_no())) {
  1334. semiAssaynos += "," + qcmJhyElements.getAssay_no();
  1335. }
  1336. } else {
  1337. if (!proAssaynos.contains(qcmJhyElements.getAssay_no())) {
  1338. proAssaynos += "," + qcmJhyElements.getAssay_no();
  1339. }
  1340. }
  1341. }
  1342. List<HashMap> qjsd = mapper.query("select * from QCM_JHY_SAMPLE_CONSIGN_M where smp_no = '" + sampleOrd.getSmp_no() + "'");
  1343. QcmJudgeChemical judge = new QcmJudgeChemical();
  1344. int count = 0;
  1345. SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
  1346. String date = sdf.format(new Date());
  1347. // 获取材质结果集编号最大值
  1348. List<QcmJudgeChemical> qrlist = mapper.QueryQcmJudgeChemicals("C" + date);
  1349. if (qrlist != null && qrlist.size() > 0) {
  1350. String s = qrlist.get(0).getCic_id();
  1351. count = Integer.parseInt(s.substring(s.length() - 4, s.length()));
  1352. }
  1353. count++;
  1354. String cic_id = "C" + sdf.format(new Date()) + String.format("%04d", count);
  1355. String memo = "";
  1356. if (username.equals("system")) {
  1357. memo = "系统自动判定";
  1358. } else {
  1359. memo = "人工判定";
  1360. }
  1361. judge.setCic_id(cic_id);
  1362. judge.setAssay_no_cp(proAssaynos.replaceFirst(",", ""));
  1363. judge.setAssay_no_rl(semiAssaynos.replaceFirst(",", ""));
  1364. judge.setBatch_no(sampleOrd.getBatch_no());
  1365. judge.setHeat_no(sampleOrd.getHeat_no());
  1366. judge.setCic_memo(memo);
  1367. judge.setCic_result_code(pass ? "1" : "2");
  1368. judge.setCic_result_desc(pass ? "合格" : "不合格");
  1369. judge.setDesign_key(sampleOrd.getDesign_key());
  1370. judge.setHeat_no(sampleOrd.getHeat_no());
  1371. judge.setInspection_lot(sampleOrd.getInspection_lot());
  1372. judge.setMaterial_no(sampleOrd.getMaterial_no());
  1373. judge.setDelivery_state_code(sampleOrd.getDelivery_state_code());
  1374. judge.setDelivery_state_desc(sampleOrd.getDelivery_state_desc());
  1375. judge.setThick(sampleOrd.getThick());
  1376. judge.setWidth(sampleOrd.getWidth());
  1377. judge.setLength(sampleOrd.getLength());
  1378. judge.setJudge_name(username);
  1379. judge.setJudge_ttime(new Date());
  1380. judge.setGrade_code(qjsd.get(0).get("GRADE_CODE").toString());
  1381. judge.setGrade_name(qjsd.get(0).get("GRADE_NAME").toString());
  1382. judge.setPline_code(listEle.get(0).getPline_code());
  1383. judge.setPline_name(listEle.get(0).getPline_name());
  1384. judge.setPsc(sampleOrd.getPsc());
  1385. judge.setPsc_desc(sampleOrd.getPsc_desc());
  1386. judge.setSteel_code(sampleOrd.getSteel_code());
  1387. judge.setSteel_name(sampleOrd.getStd_name());
  1388. judge.setSmp_no(sampleOrd.getSmp_no());
  1389. judge.setStd_code(sampleOrd.getStd_code());
  1390. judge.setStd_name(sampleOrd.getStd_name());
  1391. return judge;
  1392. } catch (Exception ex) {
  1393. throw new Exception(ex.getMessage());
  1394. }
  1395. }
  1396. /**
  1397. * 获取成分判定标准(交付/客户/内控)
  1398. *
  1399. * @param designKey
  1400. * @param psc 产品码
  1401. * @param plineCode 产线编号
  1402. * @param mscPline 制程号
  1403. * @return
  1404. */
  1405. public CoreReturnObject GetOrdJudgeStdCic(String designKey) {
  1406. try {
  1407. /*String sql = "select * from qcm_ord_design_std where design_key = '"+designKey+"' and psc = '"+psc+"'";
  1408. List<QCMOrdDesignStd> _designStd=mapper.queryQCMOrdDesignStd(sql);
  1409. if(SqlJoint.IsNullOrSpace(_designStd.get(0).getCic())){
  1410. cro.setV_errCode(-1);
  1411. cro.setV_errMsg("成分索引号不能为空");
  1412. return cro;
  1413. }*/
  1414. OrdJudgeStd<QCMOrdDesignStdCic> stdCic = new OrdJudgeStd<QCMOrdDesignStdCic>();
  1415. //交付标准.
  1416. String condition = "";
  1417. String sql = "select * from QCM_ORD_DESIGN_STD_CIC where 1=1";
  1418. condition = " and SPECL_FL = '0'" + " and STD_TYPE_CODE = 'C' And DESIGN_KEY='" + SqlJoint.TrimSqlDangerMark(designKey) + "'";
  1419. List<QCMOrdDesignStdCic> listStdGB = mapper.queryQCMOrdDesignStdCic(sql + condition);
  1420. stdCic.setListStdGB(listStdGB);
  1421. //客户标准
  1422. condition = " and SPECL_FL = '1'" + " and STD_TYPE_CODE = 'C' And DESIGN_KEY='" + SqlJoint.TrimSqlDangerMark(designKey) + "'";
  1423. List<QCMOrdDesignStdCic> listStdKH = mapper.queryQCMOrdDesignStdCic(sql + condition);
  1424. stdCic.setListStdKH(listStdKH);
  1425. //内控标准
  1426. condition = "and SPECL_FL = '2'" + " and STD_TYPE_CODE = 'C' And DESIGN_KEY='" + SqlJoint.TrimSqlDangerMark(designKey) + "'";
  1427. List<QCMOrdDesignStdCic> listStdNK = mapper.queryQCMOrdDesignStdCic(sql + condition);
  1428. stdCic.setListStdNK(listStdNK);
  1429. cro.setResult(stdCic);
  1430. } catch (Exception ex) {
  1431. cro.setV_errCode(-1);
  1432. cro.setV_errMsg("获取数据出错" + ex.getMessage());
  1433. }
  1434. return cro;
  1435. }
  1436. /**
  1437. * 获取熔炼成分判定标准(交付/客户/内控)
  1438. *
  1439. * @param designKey
  1440. * @param psc 产品码
  1441. * @param plineCode 产线编号
  1442. * @param mscPline 制程号
  1443. * @return
  1444. */
  1445. public CoreReturnObject GetOrdJudgeStdCicLgR(String designKey, String grade_name, String prodline) {
  1446. try {
  1447. /*String sql = "select * from qcm_ord_design_std where design_key = '"+designKey+"' and psc = '"+psc+"'";
  1448. List<QCMOrdDesignStd> _designStd=mapper.queryQCMOrdDesignStd(sql);
  1449. if(SqlJoint.IsNullOrSpace(_designStd.get(0).getCic())){
  1450. cro.setV_errCode(-1);
  1451. cro.setV_errMsg("成分索引号不能为空");
  1452. return cro;
  1453. }*/
  1454. String pl = "";
  1455. if (prodline.equals("4001LG0")) {
  1456. pl = "LG1";
  1457. } else {
  1458. pl = "LG2";
  1459. }
  1460. OrdJudgeStd<QCMOrdDesignStdCic> stdCic = new OrdJudgeStd<QCMOrdDesignStdCic>();
  1461. //交付标准.
  1462. String condition = "";
  1463. String sql = "select * from QCM_ORD_DESIGN_STD_CIC where 1=1";
  1464. condition = " and SPECL_FL = '0'" + " and STD_TYPE_CODE = 'A' And DESIGN_KEY in " + designKey + " and pline_code = '" + pl + "'";
  1465. List<QCMOrdDesignStdCic> listStdGB = mapper.queryQCMOrdDesignStdCic(sql + condition);
  1466. stdCic.setListStdGB(listStdGB);
  1467. //客户标准
  1468. condition = " and SPECL_FL = '1'" + " and STD_TYPE_CODE = 'A' And DESIGN_KEY in " + designKey + " and pline_code = '" + pl + "'";
  1469. List<QCMOrdDesignStdCic> listStdKH = mapper.queryQCMOrdDesignStdCic(sql + condition);
  1470. stdCic.setListStdKH(listStdKH);
  1471. //内控标准
  1472. /*List<QCMOrdDesignStdCic> listStdNK = new ArrayList<QCMOrdDesignStdCic>();
  1473. sql = "select * from QCM_ORD_DESIGN_MSC_INNERCRAFT a where a.grade_name = '"+grade_name+"'";
  1474. List<HashMap> list = mapper.query(sql);
  1475. if(list.size() > 0){
  1476. for(HashMap list1:list){
  1477. QCMOrdDesignStdCic cic = new QCMOrdDesignStdCic();
  1478. cic.setChem_code(list1.get("ELEMENT")==null?"":list1.get("ELEMENT").toString());
  1479. cic.setChem_name(list1.get("ELEMENT")==null?"":list1.get("ELEMENT").toString());
  1480. cic.setStdmax(list1.get("MAX_VALUE")==null?null:list1.get("MAX_VALUE").toString());
  1481. cic.setStdmax_sign(list1.get("STDMAX_SIGN")==null?null:list1.get("STDMAX_SIGN").toString());
  1482. cic.setStdmin(list1.get("MIN_VALUE")==null?null:list1.get("MIN_VALUE").toString());
  1483. cic.setStdmin_sign(list1.get("STDMIN_SIGN")==null?null:list1.get("STDMIN_SIGN").toString());
  1484. cic.setIscheck(list1.get("ISCHECK")==null?"":list1.get("ISCHECK").toString());
  1485. cic.setIsjudge(list1.get("ISJUDGE")==null?"":list1.get("ISJUDGE").toString());
  1486. cic.setChem_formula(list1.get("CHEM_FORMULA")==null?"":list1.get("CHEM_FORMULA").toString());
  1487. cic.setChem_type(list1.get("CHEM_TYPE")==null?"":list1.get("CHEM_TYPE").toString());
  1488. listStdNK.add(cic);
  1489. }
  1490. }
  1491. stdCic.setListStdNK(listStdNK);*/
  1492. condition = " and SPECL_FL = '2'" + " and STD_TYPE_CODE = 'A' And DESIGN_KEY in " + designKey + " ";//and pline_code = '"+pl+"'
  1493. List<QCMOrdDesignStdCic> listStdNK = mapper.queryQCMOrdDesignStdCic(sql + condition);
  1494. if (listStdNK.size() == 0 || grade_name.startsWith("LQ")) {
  1495. listStdNK = new ArrayList<QCMOrdDesignStdCic>();
  1496. String sqls = "select * from QCM_ORD_DESIGN_MSC_INNERCRAFT a where a.grade_name = '" + grade_name + "'";
  1497. List<HashMap> list = mapper.query(sqls);
  1498. if (list.size() > 0) {
  1499. for (HashMap list1 : list) {
  1500. QCMOrdDesignStdCic cic = new QCMOrdDesignStdCic();
  1501. cic.setChem_code(list1.get("ELEMENT") == null ? "" : list1.get("ELEMENT").toString());
  1502. cic.setChem_name(list1.get("ELEMENT") == null ? "" : list1.get("ELEMENT").toString());
  1503. cic.setStdmax(list1.get("MAX_VALUE") == null ? null : list1.get("MAX_VALUE").toString());
  1504. cic.setStdmax_sign(list1.get("STDMAX_SIGN") == null ? null : list1.get("STDMAX_SIGN").toString());
  1505. cic.setStdmin(list1.get("MIN_VALUE") == null ? null : list1.get("MIN_VALUE").toString());
  1506. cic.setStdmin_sign(list1.get("STDMIN_SIGN") == null ? null : list1.get("STDMIN_SIGN").toString());
  1507. cic.setIscheck(list1.get("ISCHECK") == null ? "" : list1.get("ISCHECK").toString());
  1508. cic.setIsjudge(list1.get("ISJUDGE") == null ? "" : list1.get("ISJUDGE").toString());
  1509. cic.setChem_formula(list1.get("CHEM_FORMULA") == null ? "" : list1.get("CHEM_FORMULA").toString());
  1510. cic.setChem_type(list1.get("CHEM_TYPE") == null ? "" : list1.get("CHEM_TYPE").toString());
  1511. listStdNK.add(cic);
  1512. }
  1513. }
  1514. }
  1515. stdCic.setListStdNK(listStdNK);
  1516. //炼钢放行
  1517. condition = " and SPECL_FL = '3'" + " and STD_TYPE_CODE = 'A' And DESIGN_KEY in " + designKey + " ";//and pline_code = '"+pl+"'
  1518. List<QCMOrdDesignStdCic> listStdLG = mapper.queryQCMOrdDesignStdCic(sql + condition);
  1519. if (listStdLG.size() == 0 || grade_name.startsWith("LQ")) {
  1520. listStdLG = new ArrayList<QCMOrdDesignStdCic>();
  1521. String sqls = "select * from QCM_ORD_DESIGN_GRADE_CHEM a where a.grade_desc = '" + grade_name + "' and VALIDFLAG = '1'";
  1522. List<HashMap> list = mapper.query(sqls);
  1523. if (list.size() > 0) {
  1524. for (HashMap list1 : list) {
  1525. QCMOrdDesignStdCic cic = new QCMOrdDesignStdCic();
  1526. cic.setChem_code(list1.get("CHEM_CODE") == null ? "" : list1.get("CHEM_CODE").toString());
  1527. cic.setChem_name(list1.get("CHEM_NAME") == null ? "" : list1.get("CHEM_NAME").toString());
  1528. cic.setStdmax(list1.get("STDMAX") == null ? null : list1.get("STDMAX").toString());
  1529. cic.setStdmax_sign(list1.get("STDMAX_SIGN") == null ? null : list1.get("STDMAX_SIGN").toString());
  1530. cic.setStdmin(list1.get("STDMIN") == null ? null : list1.get("STDMIN").toString());
  1531. cic.setStdmin_sign(list1.get("STDMIN_SIGN") == null ? null : list1.get("STDMIN_SIGN").toString());
  1532. cic.setIscheck(list1.get("ISCHECK") == null ? "" : list1.get("ISCHECK").toString());
  1533. cic.setIsjudge(list1.get("ISJUDGE") == null ? "" : list1.get("ISJUDGE").toString());
  1534. cic.setChem_formula(list1.get("CHEM_FORMULA") == null ? "" : list1.get("CHEM_FORMULA").toString());
  1535. cic.setChem_type(list1.get("CHEM_TYPE") == null ? "" : list1.get("CHEM_TYPE").toString());
  1536. listStdLG.add(cic);
  1537. }
  1538. }
  1539. }
  1540. stdCic.setListStdLG(listStdLG);
  1541. /*List<QCMOrdDesignStdCic> listStdLG = new ArrayList<QCMOrdDesignStdCic>();
  1542. sql = "select * from QCM_ORD_DESIGN_GRADE_CHEM a where a.grade_desc = '"+grade_name+"' and VALIDFLAG = '1'";
  1543. list = mapper.query(sql);
  1544. if(list.size() > 0){
  1545. for(HashMap list1:list){
  1546. QCMOrdDesignStdCic cic = new QCMOrdDesignStdCic();
  1547. cic.setChem_code(list1.get("CHEM_CODE")==null?"":list1.get("CHEM_CODE").toString());
  1548. cic.setChem_name(list1.get("CHEM_NAME")==null?"":list1.get("CHEM_NAME").toString());
  1549. cic.setStdmax(list1.get("STDMAX")==null?null:list1.get("STDMAX").toString());
  1550. cic.setStdmax_sign(list1.get("STDMAX_SIGN")==null?null:list1.get("STDMAX_SIGN").toString());
  1551. cic.setStdmin(list1.get("STDMIN")==null?null:list1.get("STDMIN").toString());
  1552. cic.setStdmin_sign(list1.get("STDMIN_SIGN")==null?null:list1.get("STDMIN_SIGN").toString());
  1553. cic.setIscheck(list1.get("ISCHECK")==null?"":list1.get("ISCHECK").toString());
  1554. cic.setIsjudge(list1.get("ISJUDGE")==null?"":list1.get("ISJUDGE").toString());
  1555. cic.setChem_formula(list1.get("CHEM_FORMULA")==null?"":list1.get("CHEM_FORMULA").toString());
  1556. cic.setChem_type(list1.get("CHEM_TYPE")==null?"":list1.get("CHEM_TYPE").toString());
  1557. listStdLG.add(cic);
  1558. }
  1559. }
  1560. stdCic.setListStdLG(listStdLG);*/
  1561. //炼钢牌号
  1562. cro.setResult(stdCic);
  1563. } catch (Exception ex) {
  1564. cro.setV_errCode(-1);
  1565. cro.setV_errMsg("获取数据出错" + ex.getMessage());
  1566. }
  1567. return cro;
  1568. }
  1569. /**
  1570. * 获取熔炼成分判定标准(交付/客户/内控)
  1571. *
  1572. * @param designKey
  1573. * @param psc 产品码
  1574. * @param plineCode 产线编号
  1575. * @param mscPline 制程号
  1576. * @return
  1577. */
  1578. public CoreReturnObject GetOrdJudgeStdCicR(String designKey, String grade_name) {
  1579. try {
  1580. /*String sql = "select * from qcm_ord_design_std where design_key = '"+designKey+"' and psc = '"+psc+"'";
  1581. List<QCMOrdDesignStd> _designStd=mapper.queryQCMOrdDesignStd(sql);
  1582. if(SqlJoint.IsNullOrSpace(_designStd.get(0).getCic())){
  1583. cro.setV_errCode(-1);
  1584. cro.setV_errMsg("成分索引号不能为空");
  1585. return cro;
  1586. }*/
  1587. OrdJudgeStd<QCMOrdDesignStdCic> stdCic = new OrdJudgeStd<QCMOrdDesignStdCic>();
  1588. //交付标准.
  1589. String condition = "";
  1590. String sql = "select * from QCM_ORD_DESIGN_STD_CIC where 1=1";
  1591. condition = " and SPECL_FL = '0'" + " and STD_TYPE_CODE = 'A' And DESIGN_KEY='" + SqlJoint.TrimSqlDangerMark(designKey) + "'"
  1592. + "and chem_code not in (select chem_code from QCM_ORD_DESIGN_STD_CIC a where a.design_key = '"+SqlJoint.TrimSqlDangerMark(designKey)+"' and SPECL_FL = '1' and STD_TYPE_CODE = 'A') ";
  1593. List<QCMOrdDesignStdCic> listStdGB = mapper.queryQCMOrdDesignStdCic(sql + condition);
  1594. stdCic.setListStdGB(listStdGB);
  1595. //客户标准
  1596. condition = " and SPECL_FL = '1'" + " and STD_TYPE_CODE = 'A' And DESIGN_KEY='" + SqlJoint.TrimSqlDangerMark(designKey) + "'";
  1597. List<QCMOrdDesignStdCic> listStdKH = mapper.queryQCMOrdDesignStdCic(sql + condition);
  1598. stdCic.setListStdKH(listStdKH);
  1599. //内控标准
  1600. condition = " and SPECL_FL = '2'" + " and STD_TYPE_CODE = 'A' And DESIGN_KEY='" + designKey + "' ";
  1601. List<QCMOrdDesignStdCic> listStdNK = mapper.queryQCMOrdDesignStdCic(sql + condition);
  1602. if (listStdNK.size() == 0) {
  1603. listStdNK = new ArrayList<QCMOrdDesignStdCic>();
  1604. String sqls = "select * from QCM_ORD_DESIGN_MSC_INNERCRAFT a where a.grade_name = '" + grade_name + "'";
  1605. List<HashMap> list = mapper.query(sqls);
  1606. if (list.size() > 0) {
  1607. for (HashMap list1 : list) {
  1608. QCMOrdDesignStdCic cic = new QCMOrdDesignStdCic();
  1609. cic.setChem_code(list1.get("ELEMENT") == null ? "" : list1.get("ELEMENT").toString());
  1610. cic.setChem_name(list1.get("ELEMENT") == null ? "" : list1.get("ELEMENT").toString());
  1611. cic.setStdmax(list1.get("MAX_VALUE") == null ? null : list1.get("MAX_VALUE").toString());
  1612. cic.setStdmax_sign(list1.get("STDMAX_SIGN") == null ? null : list1.get("STDMAX_SIGN").toString());
  1613. cic.setStdmin(list1.get("MIN_VALUE") == null ? null : list1.get("MIN_VALUE").toString());
  1614. cic.setStdmin_sign(list1.get("STDMIN_SIGN") == null ? null : list1.get("STDMIN_SIGN").toString());
  1615. cic.setIscheck(list1.get("ISCHECK") == null ? "" : list1.get("ISCHECK").toString());
  1616. cic.setIsjudge(list1.get("ISJUDGE") == null ? "" : list1.get("ISJUDGE").toString());
  1617. cic.setChem_formula(list1.get("CHEM_FORMULA") == null ? "" : list1.get("CHEM_FORMULA").toString());
  1618. cic.setChem_type(list1.get("CHEM_TYPE") == null ? "" : list1.get("CHEM_TYPE").toString());
  1619. listStdNK.add(cic);
  1620. }
  1621. }
  1622. }
  1623. stdCic.setListStdNK(listStdNK);
  1624. //炼钢放行
  1625. condition = " and SPECL_FL = '3'" + " and STD_TYPE_CODE = 'A' And DESIGN_KEY='" + designKey + "' ";
  1626. List<QCMOrdDesignStdCic> listStdLG = mapper.queryQCMOrdDesignStdCic(sql + condition);
  1627. if (listStdLG.size() == 0) {
  1628. listStdLG = new ArrayList<QCMOrdDesignStdCic>();
  1629. String sqls = "select * from QCM_ORD_DESIGN_GRADE_CHEM a where a.grade_desc = '" + grade_name + "' and VALIDFLAG = '1'";
  1630. List<HashMap> list = mapper.query(sqls);
  1631. if (list.size() > 0) {
  1632. for (HashMap list1 : list) {
  1633. QCMOrdDesignStdCic cic = new QCMOrdDesignStdCic();
  1634. cic.setChem_code(list1.get("CHEM_CODE") == null ? "" : list1.get("CHEM_CODE").toString());
  1635. cic.setChem_name(list1.get("CHEM_NAME") == null ? "" : list1.get("CHEM_NAME").toString());
  1636. cic.setStdmax(list1.get("STDMAX") == null ? null : list1.get("STDMAX").toString());
  1637. cic.setStdmax_sign(list1.get("STDMAX_SIGN") == null ? null : list1.get("STDMAX_SIGN").toString());
  1638. cic.setStdmin(list1.get("STDMIN") == null ? null : list1.get("STDMIN").toString());
  1639. cic.setStdmin_sign(list1.get("STDMIN_SIGN") == null ? null : list1.get("STDMIN_SIGN").toString());
  1640. cic.setIscheck(list1.get("ISCHECK") == null ? "" : list1.get("ISCHECK").toString());
  1641. cic.setIsjudge(list1.get("ISJUDGE") == null ? "" : list1.get("ISJUDGE").toString());
  1642. cic.setChem_formula(list1.get("CHEM_FORMULA") == null ? "" : list1.get("CHEM_FORMULA").toString());
  1643. cic.setChem_type(list1.get("CHEM_TYPE") == null ? "" : list1.get("CHEM_TYPE").toString());
  1644. listStdLG.add(cic);
  1645. }
  1646. }
  1647. }
  1648. stdCic.setListStdLG(listStdLG);
  1649. //炼钢牌号
  1650. cro.setResult(stdCic);
  1651. } catch (Exception ex) {
  1652. cro.setV_errCode(-1);
  1653. cro.setV_errMsg("获取数据出错" + ex.getMessage());
  1654. }
  1655. return cro;
  1656. }
  1657. /**
  1658. * 成分自动判定
  1659. */
  1660. @SuppressWarnings("unchecked")
  1661. public CoreReturnObject JudgeByHuman(String smp_no, String username) throws Exception {
  1662. boolean pass = true;
  1663. String insepction_lot = "";
  1664. try {
  1665. //获取未判定的数据
  1666. String condition = " and Judge_status='0' and d.smp_no = '" + smp_no + "'";
  1667. QcmJhySampleROrd qjsr=new QcmJhySampleROrd();
  1668. String memo = "";
  1669. List<QcmJhySampleROrd> listOrd = mapper.GetSampleChemInfo(condition);
  1670. if (listOrd.size() == 0) {
  1671. throw new Exception("该产品已判或者未处于待判状态");
  1672. }
  1673. QcmJhySampleConsignD _consignD = new QcmJhySampleConsignD();
  1674. for (QcmJhySampleROrd qcmJhySampleROrd : listOrd) {
  1675. //获取取样编号
  1676. _consignD.setSmp_no(qcmJhySampleROrd.getSmp_no());
  1677. _consignD.setInspection_lot(qcmJhySampleROrd.getInspection_lot());
  1678. _consignD.setHeat_no(qcmJhySampleROrd.getHeat_no());
  1679. List<QcmJhySampleConsignD> listConsignD = mapper.findQcmJhySampleConsignD(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getInspection_lot(), qcmJhySampleROrd.getHeat_no());
  1680. //上面listConsignD 只会查出一条数据,如果有多条数据需要跟设计确认是如何进行关联的
  1681. //根据取样编号查询检验实绩信息
  1682. QcmJhyInspElements _ele = new QcmJhyInspElements();
  1683. _ele.setSpecimen_no(listConsignD.get(0).getSpecimen_no());
  1684. CoreReturnObject cro = GetElementsInfo(_ele, qcmJhySampleROrd.getDesign_key());
  1685. List<QcmJhyInspElements> listEle = (List<QcmJhyInspElements>) cro.getResult();
  1686. if (listEle.size() < 1) {
  1687. continue;
  1688. }
  1689. //查询判定标准,最后一个参数需要调用生产计划相关接口获取当前使用的制程号
  1690. CoreReturnObject cicModel = this.GetOrdJudgeStdCic(qcmJhySampleROrd.getDesign_key());
  1691. OrdJudgeStd<QCMOrdDesignStdCic> stdCic = (OrdJudgeStd<QCMOrdDesignStdCic>) cicModel.getResult();
  1692. List<ArrayList> list = new ArrayList();
  1693. //开始判定:内控>客户>交付
  1694. if (stdCic.getListStdNK().size() > 0) {
  1695. pass = CompareResult(stdCic.getListStdNK(), listEle);
  1696. UpdateData(listEle, qcmJhySampleROrd, pass, username);
  1697. memo = CompareResults(memo, stdCic.getListStdNK(), listEle);
  1698. list = CompareResultInfo(list, stdCic.getListStdNK(), listEle);
  1699. }
  1700. //判定客户、交付标准
  1701. if (stdCic.getListStdKH().size() > 0) {
  1702. if (stdCic.getListStdKH() != null && pass) {
  1703. pass = CompareResult(stdCic.getListStdKH(), listEle);
  1704. memo = CompareResults(memo, stdCic.getListStdKH(), listEle);
  1705. list = CompareResultInfo(list, stdCic.getListStdKH(), listEle);
  1706. }
  1707. if (pass) {
  1708. pass = CompareResult(stdCic.getListStdGB(), listEle);
  1709. memo = CompareResults(memo, stdCic.getListStdGB(), listEle);
  1710. list = CompareResultInfo(list, stdCic.getListStdGB(), listEle);
  1711. }
  1712. qjsr = UpdateData(listEle, qcmJhySampleROrd, pass, username);
  1713. }
  1714. if (!pass) {
  1715. //异常材处置
  1716. MaterialAbnormalTreatment(list, qcmJhySampleROrd.getInspection_lot(), username, memo,qjsr);
  1717. }
  1718. insepction_lot = qcmJhySampleROrd.getInspection_lot();
  1719. }
  1720. QcmJudgeLog qjl = new QcmJudgeLog();
  1721. qjl.setJudge_type("R");
  1722. qjl.setMaterial_no(insepction_lot);
  1723. qjl.setCreate_name("system");
  1724. qjl.setMaterial_type("1");
  1725. qjl.setProd_line(listOrd.get(0).getPline_code());
  1726. mapper.insertQcmJudgeLog(qjl);
  1727. SqlSession.commit();
  1728. cro.setV_errCode(1);
  1729. /*//调用熔炼成分判定 RlChemAutoJudgeByHuman
  1730. RlChemAutoJudgeByHuman2(insepction_lot);
  1731. if(pass){
  1732. //调用综合判定
  1733. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  1734. qjpc.ultimateJudgeAutoBySystemB(insepction_lot, username );
  1735. }*/
  1736. } catch (Exception ex) {
  1737. SqlSession.rollback();
  1738. cro.setV_errCode(-1);
  1739. cro.setV_errMsg("判定失败!" + ex.getMessage());
  1740. logger.info(new Date().toString() + " QCM.QCM03.QCM0301.QcmJhyElementsServiceImpl.JudgeByHuman:【" + smp_no + "," + username + "】" + ex);
  1741. }
  1742. SqlSession.close();
  1743. /*final String inspection_lot1 = insepction_lot;
  1744. Thread t2 = new Thread(){
  1745. @Override
  1746. public void run(){
  1747. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  1748. try {
  1749. qjpc.ultimateJudgeAutoBySystemB(inspection_lot1, "system" );
  1750. } catch (Exception e) {
  1751. // TODO Auto-generated catch block
  1752. e.printStackTrace();
  1753. }
  1754. }
  1755. };
  1756. t2.start();*/
  1757. return cro;
  1758. }
  1759. @SuppressWarnings("unchecked")
  1760. public CoreReturnObject JudgeByHuman1(String smp_no, String username, ArrayList assay_no) throws Exception {
  1761. boolean pass = true;
  1762. String insepction_lot = "";
  1763. try {
  1764. //获取未判定的数据
  1765. String condition = " and Judge_status='0' and d.smp_no = '" + smp_no + "'";
  1766. QcmJhySampleROrd qjsr=new QcmJhySampleROrd();
  1767. String memo = "";
  1768. List<QcmJhySampleROrd> listOrd = mapper.GetSampleChemInfo(condition);
  1769. if (listOrd.size() == 0) {
  1770. throw new Exception("该产品已判或者未处于待判状态");
  1771. }
  1772. QcmJhySampleConsignD _consignD = new QcmJhySampleConsignD();
  1773. for (QcmJhySampleROrd qcmJhySampleROrd : listOrd) {
  1774. //获取取样编号
  1775. _consignD.setSmp_no(qcmJhySampleROrd.getSmp_no());
  1776. _consignD.setInspection_lot(qcmJhySampleROrd.getInspection_lot());
  1777. _consignD.setHeat_no(qcmJhySampleROrd.getHeat_no());
  1778. List<QcmJhySampleConsignD> listConsignD = mapper.findQcmJhySampleConsignD(qcmJhySampleROrd.getSmp_no(), qcmJhySampleROrd.getInspection_lot(), qcmJhySampleROrd.getHeat_no());
  1779. //上面listConsignD 只会查出一条数据,如果有多条数据需要跟设计确认是如何进行关联的
  1780. //根据取样编号查询检验实绩信息
  1781. QcmJhyInspElements _ele = new QcmJhyInspElements();
  1782. _ele.setSpecimen_no(listConsignD.get(0).getSpecimen_no());
  1783. CoreReturnObject cro = GetElementsInfo1(assay_no);
  1784. List<QcmJhyInspElements> listEle = (List<QcmJhyInspElements>) cro.getResult();
  1785. if (listEle.size() < 1) {
  1786. continue;
  1787. }
  1788. //查询判定标准,最后一个参数需要调用生产计划相关接口获取当前使用的制程号
  1789. CoreReturnObject cicModel = this.GetOrdJudgeStdCic(qcmJhySampleROrd.getDesign_key());
  1790. OrdJudgeStd<QCMOrdDesignStdCic> stdCic = (OrdJudgeStd<QCMOrdDesignStdCic>) cicModel.getResult();
  1791. List<ArrayList> list = new ArrayList();
  1792. //开始判定:内控>客户>交付
  1793. if (stdCic.getListStdNK().size() > 0) {
  1794. pass = CompareResult(stdCic.getListStdNK(), listEle);
  1795. UpdateData(listEle, qcmJhySampleROrd, pass, username);
  1796. memo = CompareResults(memo, stdCic.getListStdNK(), listEle);
  1797. list = CompareResultInfo(list, stdCic.getListStdNK(), listEle);
  1798. }
  1799. //判定客户、交付标准
  1800. if (stdCic.getListStdKH().size() > 0 || stdCic.getListStdGB().size() > 0) {
  1801. if (stdCic.getListStdKH() != null && pass) {
  1802. pass = CompareResult(stdCic.getListStdKH(), listEle);
  1803. memo = CompareResults(memo, stdCic.getListStdKH(), listEle);
  1804. list = CompareResultInfo(list, stdCic.getListStdKH(), listEle);
  1805. }
  1806. if (stdCic.getListStdGB()!= null && pass) {
  1807. pass = CompareResult(stdCic.getListStdGB(), listEle);
  1808. memo = CompareResults(memo, stdCic.getListStdGB(), listEle);
  1809. list = CompareResultInfo(list, stdCic.getListStdGB(), listEle);
  1810. }
  1811. qjsr = UpdateData(listEle, qcmJhySampleROrd, pass, username);
  1812. }
  1813. if (!pass) {
  1814. //异常材处置
  1815. MaterialAbnormalTreatment(list, qcmJhySampleROrd.getInspection_lot(), username, memo,qjsr);
  1816. }
  1817. insepction_lot = qcmJhySampleROrd.getInspection_lot();
  1818. }
  1819. QcmJudgeLog qjl = new QcmJudgeLog();
  1820. qjl.setJudge_type("R");
  1821. qjl.setMaterial_no(insepction_lot);
  1822. qjl.setCreate_name("system");
  1823. qjl.setMaterial_type("1");
  1824. qjl.setProd_line(listOrd.get(0).getPline_code());
  1825. mapper.insertQcmJudgeLog(qjl);
  1826. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  1827. qjog.setOperate_name(username);
  1828. qjog.setOperate_type("成品成分判定");
  1829. qjog.setParams(smp_no);
  1830. qjog.setBatchno(listOrd.get(0).getBatch_no());
  1831. qjog.setProd_line(listOrd.get(0).getPline_code());
  1832. mapper.insertQcmJudgeOperateLog(qjog);
  1833. SqlSession.commit();
  1834. cro.setV_errCode(1);
  1835. /*//调用熔炼成分判定 RlChemAutoJudgeByHuman
  1836. RlChemAutoJudgeByHuman2(insepction_lot);
  1837. if(pass){
  1838. //调用综合判定
  1839. //调用综合判定
  1840. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  1841. qjpc.ultimateJudgeAutoBySystemB(insepction_lot, username );
  1842. }*/
  1843. } catch (Exception ex) {
  1844. SqlSession.rollback();
  1845. cro.setV_errCode(-1);
  1846. cro.setV_errMsg("判定失败!" + ex.getMessage());
  1847. logger.info(new Date().toString()+ "QCM.QCM03.QCM0301.QcmJhyElementsServiceImpl.JudgeByHuman1:【" + smp_no + "," + username + "," + assay_no+ assay_no.toString() + "】" + ex);
  1848. }
  1849. SqlSession.close();
  1850. /*final String inspection_lot1 = insepction_lot;
  1851. Thread t2 = new Thread(){
  1852. @Override
  1853. public void run(){
  1854. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  1855. try {
  1856. qjpc.ultimateJudgeAutoBySystemB(inspection_lot1, "system" );
  1857. } catch (Exception e) {
  1858. // TODO Auto-generated catch block
  1859. e.printStackTrace();
  1860. }
  1861. }
  1862. };
  1863. t2.start();*/
  1864. return cro;
  1865. }
  1866. /**
  1867. * 熔炼成分人工判定
  1868. */
  1869. @SuppressWarnings("unchecked")
  1870. public CoreReturnObject RlChemJudgeByHuman(String heat_no, String material_no, String design_key, String username, String grade_name, ArrayList assay_no) throws Exception {
  1871. List<HashMap> hashmap = new ArrayList<HashMap>();
  1872. try {
  1873. String sql = "select * from zj_result_all@xgcx where Billetid = '" + material_no + "'";
  1874. List<HashMap> list1 = mapper.query(sql);
  1875. sql = "select * from QCM_JUDGE_COIL_RESULT where COIL_NO = '" + material_no + "'";
  1876. List<HashMap> list2 = mapper.query(sql);
  1877. sql = "select * from QCM_JUDGE_YT_COIL_RESULT where COIL_NO = '" + material_no + "'";
  1878. List<HashMap> list3 = mapper.query(sql);
  1879. if (list1.size() > 0 || list2.size() > 0 || list3.size() >0) {
  1880. if (list1.size() > 0) {
  1881. if (list1.get(0).get("R_CIC_IS_LOCK").toString().equals("1")) {
  1882. throw new Exception("成分已锁定,不能判定!");
  1883. }
  1884. } else if(list2.size() >0) {
  1885. if (list2.get(0).get("R_CIC_IS_LOCK").toString().equals("1")) {
  1886. throw new Exception("成分已锁定,不能判定!");
  1887. }
  1888. }else{
  1889. if (list3.get(0).get("R_CIC_IS_LOCK").toString().equals("1")) {
  1890. throw new Exception("成分已锁定,不能判定!");
  1891. }
  1892. }
  1893. } else {
  1894. throw new Exception("找不到库存!");
  1895. }
  1896. String memo = "";
  1897. QcmJhySampleConsignD _consignD = new QcmJhySampleConsignD();
  1898. CoreReturnObject cro = GetElementsInfo1(assay_no);
  1899. List<QcmJhyInspElements> listEle = (List<QcmJhyInspElements>) cro.getResult();
  1900. if (listEle.size() < 1) {
  1901. throw new Exception("找不到实绩!");
  1902. }
  1903. //查询判定标准,最后一个参数需要调用生产计划相关接口获取当前使用的制程号
  1904. CoreReturnObject cicModel = this.GetOrdJudgeStdCicR(design_key, grade_name);
  1905. OrdJudgeStd<QCMOrdDesignStdCic> stdCic = (OrdJudgeStd<QCMOrdDesignStdCic>) cicModel.getResult();
  1906. List<ArrayList> list = new ArrayList();
  1907. //开始判定:内控>客户>交付
  1908. if (stdCic.getListStdNK().size() == 0 || stdCic.getListStdLG().size() == 0) {
  1909. throw new Exception("无标准,无法判定");
  1910. }
  1911. boolean pass = true;
  1912. /*if(stdCic.getListStdNK().size()>0){
  1913. pass=CompareResult(stdCic.getListStdNK(),listEle);
  1914. memo = CompareResults(memo,stdCic.getListStdNK(),listEle);
  1915. list = CompareResultInfo(list,stdCic.getListStdNK(),listEle);
  1916. }*/
  1917. //判定客户、交付标准
  1918. if (pass) {
  1919. if (stdCic.getListStdKH() != null && pass) {
  1920. pass = CompareResult(stdCic.getListStdKH(), listEle);
  1921. memo = CompareResults(memo, stdCic.getListStdKH(), listEle);
  1922. list = CompareResultInfo(list, stdCic.getListStdKH(), listEle);
  1923. }
  1924. if (pass) {
  1925. pass = CompareResult(stdCic.getListStdGB(), listEle);
  1926. memo = CompareResults(memo, stdCic.getListStdGB(), listEle);
  1927. list = CompareResultInfo(list, stdCic.getListStdGB(), listEle);
  1928. /*if (pass) {
  1929. pass = CompareResult(stdCic.getListStdLG(), listEle);
  1930. memo = CompareResults(memo, stdCic.getListStdLG(), listEle);
  1931. list = CompareResultInfo(list, stdCic.getListStdLG(), listEle);
  1932. }*/
  1933. }
  1934. String proAssaynos = "", semiAssaynos = "";//成品化验号、熔炼化验号
  1935. for (QcmJhyInspElements qcmJhyElements : listEle) {
  1936. if (qcmJhyElements.getAssay_type().equals("L")) {
  1937. if (!semiAssaynos.contains(qcmJhyElements.getAssay_no())) {
  1938. semiAssaynos += "," + qcmJhyElements.getAssay_no();
  1939. }
  1940. } else {
  1941. if (!proAssaynos.contains(qcmJhyElements.getAssay_no())) {
  1942. proAssaynos += "," + qcmJhyElements.getAssay_no();
  1943. }
  1944. }
  1945. }
  1946. QcmJudgeMeasureServiceImpl qjms = new QcmJudgeMeasureServiceImpl();
  1947. hashmap = qjms.doQueryMaterialInfoBX(material_no);
  1948. if (hashmap.size() == 0) {
  1949. hashmap = qjms.doQueryMaterialInfoJ(material_no);
  1950. if(hashmap.size() == 0){
  1951. hashmap = mapper.doQueryMaterialInfoY(material_no);
  1952. }
  1953. }
  1954. if (hashmap.size() == 0) {
  1955. throw new Exception("找不到库存!");
  1956. }
  1957. //String board_no = hashmap.get(0).get("BOARD_NO") == null ? "" : hashmap.get(0).get("BOARD_NO").toString();
  1958. /*List<QCMJudgeLocking> QJ = mapper.queryQCMJudgeLockings("select * from qcm_judge_locking where material_no = '" + board_no + "' and unlock_type_code = '0'");
  1959. if (QJ.size() > 0) {
  1960. pass = true;
  1961. }
  1962. List<HashMap> listfx = (List<HashMap>) getLgFx(hashmap.get(0).get("BOARD_NO").toString()).getResult();
  1963. if(listfx != null && listfx.size() >0 ){
  1964. if(listfx.get(0).get("chemresult_fx").toString().equals("1")){
  1965. pass = true;
  1966. }
  1967. }*/
  1968. for (HashMap listh : hashmap) {
  1969. QcmJudgeChemical judge = new QcmJudgeChemical();
  1970. int count = 0;
  1971. String type ="";
  1972. if(material_no.startsWith("Z") || material_no.startsWith("H")){
  1973. type = "RB";
  1974. }else if(material_no.startsWith("R") || material_no.startsWith("L")){
  1975. type = "RJ";
  1976. }else if(material_no.startsWith("Y") && list3.size() >0){
  1977. type = "RY";
  1978. }else{
  1979. type = "RX";
  1980. }
  1981. SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
  1982. String date = sdf.format(new Date());
  1983. // 获取材质结果集编号最大值
  1984. List<QcmJudgeChemical> qrlist = mapper.QueryQcmJudgeChemicals(type + date);
  1985. if (qrlist != null && qrlist.size() > 0) {
  1986. String s = qrlist.get(0).getCic_id();
  1987. count = Integer.parseInt(s.substring(s.length() - 4, s.length()));
  1988. }
  1989. count++;
  1990. String cic_id = type + sdf.format(new Date()) + String.format("%04d", count);
  1991. String cic_memo = "";
  1992. if (username.equals("system")) {
  1993. cic_memo = "系统自动判定";
  1994. } else {
  1995. cic_memo = "人工判定";
  1996. }
  1997. judge.setCic_id(cic_id);
  1998. judge.setAssay_no_cp(proAssaynos.replaceFirst(",", ""));
  1999. judge.setAssay_no_rl(semiAssaynos.replaceFirst(",", ""));
  2000. judge.setBatch_no(listh.get("BATCHNO") == null ? "" : listh.get("BATCHNO").toString());
  2001. judge.setHeat_no(heat_no);
  2002. judge.setCic_memo(cic_memo);
  2003. judge.setCic_result_code(pass ? "1" : "2");
  2004. judge.setCic_result_desc(pass ? "合格" : "不合格");
  2005. judge.setDesign_key(design_key);
  2006. judge.setHeat_no(heat_no);
  2007. judge.setInspection_lot("");
  2008. judge.setMaterial_no(listh.get("MATERIAL_NO") == null ? "" : listh.get("MATERIAL_NO").toString());
  2009. judge.setDelivery_state_code(listh.get("DELIVERY_STATE_CODE") == null ? "" : listh.get("DELIVERY_STATE_CODE").toString());
  2010. judge.setDelivery_state_desc(listh.get("DELIVERY_STATE_DESC") == null ? "" : listh.get("DELIVERY_STATE_DESC").toString());
  2011. judge.setThick(listh.get("THICK") == null ? "" : listh.get("THICK").toString());
  2012. judge.setWidth(listh.get("WIDTH") == null ? "" : listh.get("WIDTH").toString());
  2013. judge.setLength(listh.get("LENGTH") == null ? "" : listh.get("LENGTH").toString());
  2014. judge.setJudge_name(username);
  2015. judge.setJudge_ttime(new Date());
  2016. //judge.setGrade_code(listh.get("GRADE_CODE")==null?"":listh.get("GRADE_CODE").toString());
  2017. judge.setGrade_name(listh.get("GRADE_NAME") == null ? "" : listh.get("GRADE_NAME").toString());
  2018. judge.setPline_code(listh.get("PLINE_CODE") == null ? "" : listh.get("PLINE_CODE").toString());
  2019. judge.setPline_name(listh.get("PLINE_NAME") == null ? "" : listh.get("PLINE_NAME").toString());
  2020. judge.setPsc(listh.get("PSC") == null ? "" : listh.get("PSC").toString());
  2021. judge.setPsc_desc(listh.get("PSC_DESC") == null ? "" : listh.get("PSC_DESC").toString());
  2022. judge.setSteel_code(listh.get("STEEL_CODE") == null ? "" : listh.get("STEEL_CODE").toString());
  2023. judge.setSteel_name(listh.get("STEEL_NAME") == null ? "" : listh.get("STEEL_NAME").toString());
  2024. judge.setSmp_no("");
  2025. judge.setProd_code(listh.get("PROD_CODE") == null ? "" : listh.get("PROD_CODE").toString());
  2026. judge.setProd_name(listh.get("PROD_NAME") == null ? "" : listh.get("PROD_NAME").toString());
  2027. judge.setBoard_no(listh.get("BOARD_NO") == null ? "" : listh.get("BOARD_NO").toString());
  2028. judge.setStd_code(listh.get("STD_CODE") == null ? "" : listh.get("STD_CODE").toString());
  2029. judge.setStd_name(listh.get("STD_NAME") == null ? "" : listh.get("STD_NAME").toString());
  2030. //插入成分判定表
  2031. mapper.insertqcmjudgechemcial(judge);
  2032. //修改库存判定结果
  2033. sql = "select * from zj_result_all@xgcx where Billetid = '" + listh.get("MATERIAL_NO").toString() + "'";
  2034. list1 = mapper.query(sql);
  2035. sql = "select * from QCM_JUDGE_COIL_RESULT where COIL_NO = '" + listh.get("MATERIAL_NO").toString() + "'";
  2036. list2 = mapper.query(sql);
  2037. sql = "select * from QCM_JUDGE_YT_COIL_RESULT where COIL_NO = '" + listh.get("MATERIAL_NO").toString() + "'";
  2038. list3 = mapper.query(sql);
  2039. String chemresult_desc = "";
  2040. String chemresult = "";
  2041. String cic_is_lock = "";
  2042. if (pass) {
  2043. chemresult_desc = "合格";
  2044. chemresult = "1";
  2045. cic_is_lock = "0";
  2046. } else {
  2047. chemresult_desc = "不合格";
  2048. chemresult = "2";
  2049. cic_is_lock = "1";
  2050. }
  2051. if (list1.size() > 0 || list2.size() > 0 || list3.size() > 0) {
  2052. if (list1.size() > 0) {
  2053. ZjResultAll zra = new ZjResultAll();
  2054. zra.setBilletid(listh.get("MATERIAL_NO").toString());
  2055. zra.setR_chemid(cic_id);
  2056. zra.setR_chemresult_desc(chemresult_desc);
  2057. zra.setR_chemresult(chemresult);
  2058. zra.setR_cic_is_lock(cic_is_lock);
  2059. mapper.UpdateJugeResultB(zra);
  2060. } else if (list2.size() > 0){
  2061. QcmJudgeCoilResult zra = new QcmJudgeCoilResult();
  2062. zra.setCoil_no(listh.get("MATERIAL_NO").toString());
  2063. zra.setR_chemid(cic_id);
  2064. zra.setR_chemresult_desc(chemresult_desc);
  2065. zra.setR_chemresult(chemresult);
  2066. zra.setR_cic_is_lock(cic_is_lock);
  2067. mapper.UpdateJugeResultJ(zra);
  2068. }else{
  2069. QcmJudgeYtCoilResult zra = new QcmJudgeYtCoilResult();
  2070. zra.setCoil_no(listh.get("MATERIAL_NO").toString());
  2071. zra.setR_chemid(cic_id);
  2072. zra.setR_chemresult_desc(chemresult_desc);
  2073. zra.setR_chemresult(chemresult);
  2074. zra.setR_cic_is_lock(cic_is_lock);
  2075. mapper.UpdateJugeResultY(zra);
  2076. }
  2077. } else {
  2078. throw new Exception("未找到库存信息!");
  2079. }
  2080. if (!pass) {
  2081. //异常材处置
  2082. QCMJudgeLocking qjb = new QCMJudgeLocking();
  2083. if (list1.size() > 0 || list2.size() > 0 || list3.size() > 0) {
  2084. if (list1.size() > 0) {
  2085. for (HashMap listx : list1) {
  2086. count = 0;
  2087. String condition = " and MATERIAL_NO = '" + listh.get("MATERIAL_NO").toString() + "' order by LOCK_SEQ desc ";
  2088. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  2089. if (qjl.size() > 0) {
  2090. count = qjl.get(0).getLock_seq();
  2091. }
  2092. count++;
  2093. //锁定记录号
  2094. int lock_seq = count;
  2095. qjb.setMaterial_no(listh.get("MATERIAL_NO").toString());
  2096. qjb.setLock_type_code("C");
  2097. qjb.setLock_type_desc("成分判定");
  2098. qjb.setLock_id(cic_id);
  2099. qjb.setLock_seq(lock_seq);
  2100. qjb.setLock_memo(memo);
  2101. qjb.setBoard_no(listh.get("MATERIAL_NO").toString());
  2102. qjb.setLock_name(username.equals("system") ? "系统自动判定" : username);
  2103. qjb.setCic_locking("1");
  2104. qjb.setLock_time(new Date());
  2105. qjb.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ? "" : hashmap.get(0).get("HEAT_NO").toString());
  2106. qjb.setBatch_no(hashmap.get(0).get("BATCHNO") == null ? "" : hashmap.get(0).get("BATCHNO").toString());
  2107. qjb.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ? "" : hashmap.get(0).get("BOARD_NO").toString());
  2108. qjb.setPlan_no(hashmap.get(0).get("PLAN_NO") == null ? "" : hashmap.get(0).get("PLAN_NO").toString());
  2109. qjb.setHt_no(hashmap.get(0).get("HT_NO") == null ? "" : hashmap.get(0).get("HT_NO").toString());
  2110. qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY").toString());
  2111. qjb.setPsc(hashmap.get(0).get("PSC") == null ? "" : hashmap.get(0).get("PSC").toString());
  2112. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE").toString());
  2113. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME").toString());
  2114. qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ? "" : hashmap.get(0).get("PSC_DESC").toString());
  2115. qjb.setStd_code(hashmap.get(0).get("STD_CODE").toString());
  2116. qjb.setStd_name(hashmap.get(0).get("STD_NAME").toString());
  2117. qjb.setProd_code(hashmap.get(0).get("PROD_CODE") == null ? "" : hashmap.get(0).get("PROD_CODE").toString());
  2118. qjb.setProd_name(hashmap.get(0).get("PROD_NAME") == null ? "" : hashmap.get(0).get("PROD_NAME").toString());
  2119. qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ? "" : hashmap.get(0).get("STEEL_CODE").toString());
  2120. qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ? "" : hashmap.get(0).get("STEEL_NAME").toString());
  2121. qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString());
  2122. //插入异常锁定表
  2123. mapper.insertQCMJudgeLocking(qjb);
  2124. List<QcmJudgeChemical> qjc = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where material_no = '" + listh.get("MATERIAL_NO").toString() + "' order by JUDGE_TTIME desc");
  2125. int seq1 = 1;
  2126. //插入判定原因表
  2127. for (ArrayList listz : list) {
  2128. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  2129. qjr.setMaterial_no(listh.get("MATERIAL_NO").toString());
  2130. qjr.setType_code("C");
  2131. qjr.setRecord_id(qjc.get(0).getCic_id());
  2132. qjr.setSeq(seq1);
  2133. qjr.setPhy_code_s(listz.get(0).toString());
  2134. qjr.setPhy_name_s(listz.get(1).toString().equals("") ? listz.get(0).toString() : listz.get(1).toString());
  2135. qjr.setVal1(listz.get(2)==null?"":listz.get(2).toString());
  2136. qjr.setStdmax(listz.get(3) == null ? "" : listz.get(3).toString());
  2137. qjr.setStdmax_sign(listz.get(4) == null ? "" : listz.get(4).toString());
  2138. qjr.setStdmin(listz.get(5) == null ? "" : listz.get(5).toString());
  2139. qjr.setStdmin_sign(listz.get(6) == null ? "" : listz.get(6).toString());
  2140. qjr.setCreate_name(username);
  2141. qjr.setCreate_time(new Date());
  2142. seq1++;
  2143. mapper.insertQcmJudgeUltimateReason(qjr);
  2144. }
  2145. }
  2146. } else if(list2.size() >0) {
  2147. for (HashMap listv : list2) {
  2148. count = 0;
  2149. String condition = " and MATERIAL_NO = '" + listh.get("MATERIAL_NO").toString() + "' order by LOCK_SEQ desc ";
  2150. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  2151. if (qjl.size() > 0) {
  2152. count = qjl.get(0).getLock_seq();
  2153. }
  2154. count++;
  2155. //锁定记录号
  2156. int lock_seq = count;
  2157. qjb.setMaterial_no(listh.get("MATERIAL_NO").toString());
  2158. qjb.setLock_type_code("C");
  2159. qjb.setLock_type_desc("成分判定");
  2160. qjb.setLock_seq(lock_seq);
  2161. qjb.setLock_memo(memo);
  2162. qjb.setLock_id(cic_id);
  2163. qjb.setBoard_no(listh.get("MATERIAL_NO").toString());
  2164. qjb.setLock_name(username.equals("system") ? "系统自动判定" : username);
  2165. qjb.setCic_locking("1");
  2166. qjb.setLock_time(new Date());
  2167. qjb.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ? "" : hashmap.get(0).get("HEAT_NO").toString());
  2168. qjb.setBatch_no(hashmap.get(0).get("BATCHNO") == null ? "" : hashmap.get(0).get("BATCHNO").toString());
  2169. qjb.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ? "" : hashmap.get(0).get("BOARD_NO").toString());
  2170. qjb.setPlan_no(hashmap.get(0).get("PLAN_NO") == null ? "" : hashmap.get(0).get("PLAN_NO").toString());
  2171. qjb.setHt_no(hashmap.get(0).get("HT_NO") == null ? "" : hashmap.get(0).get("HT_NO").toString());
  2172. qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY").toString());
  2173. qjb.setPsc(hashmap.get(0).get("PSC") == null ? "" : hashmap.get(0).get("PSC").toString());
  2174. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE").toString());
  2175. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME").toString());
  2176. qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ? "" : hashmap.get(0).get("PSC_DESC").toString());
  2177. qjb.setStd_code(hashmap.get(0).get("STD_CODE").toString());
  2178. qjb.setStd_name(hashmap.get(0).get("STD_NAME").toString());
  2179. qjb.setProd_code(hashmap.get(0).get("PROD_CODE") == null ? "" : hashmap.get(0).get("PROD_CODE").toString());
  2180. qjb.setProd_name(hashmap.get(0).get("PROD_NAME") == null ? "" : hashmap.get(0).get("PROD_NAME").toString());
  2181. qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ? "" : hashmap.get(0).get("STEEL_CODE").toString());
  2182. qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ? "" : hashmap.get(0).get("STEEL_NAME").toString());
  2183. //插入异常锁定表
  2184. mapper.insertQCMJudgeLocking(qjb);
  2185. List<QcmJudgeChemical> qjc = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where material_no = '" + listh.get("MATERIAL_NO").toString() + "' order by JUDGE_TTIME desc");
  2186. int seq1 = 1;
  2187. //插入判定原因表
  2188. for (ArrayList listz : list) {
  2189. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  2190. qjr.setMaterial_no(listh.get("MATERIAL_NO").toString());
  2191. qjr.setType_code("C");
  2192. qjr.setRecord_id(qjc.get(0).getCic_id());
  2193. qjr.setSeq(seq1);
  2194. qjr.setPhy_code_s(listz.get(0).toString());
  2195. qjr.setPhy_name_s(listz.get(1).toString().equals("") ? listz.get(0).toString() : listz.get(1).toString());
  2196. qjr.setVal1(listz.get(2)==null?"":listz.get(2).toString());
  2197. qjr.setStdmax(listz.get(3) == null ? "" : listz.get(3).toString());
  2198. qjr.setStdmax_sign(listz.get(4) == null ? "" : listz.get(4).toString());
  2199. qjr.setStdmin(listz.get(5) == null ? "" : listz.get(5).toString());
  2200. qjr.setStdmin_sign(listz.get(6) == null ? "" : listz.get(6).toString());
  2201. qjr.setCreate_name(username);
  2202. qjr.setCreate_time(new Date());
  2203. seq1++;
  2204. mapper.insertQcmJudgeUltimateReason(qjr);
  2205. }
  2206. }
  2207. }else {
  2208. for (HashMap listv : list3) {
  2209. count = 0;
  2210. String condition = " and MATERIAL_NO = '" + listh.get("MATERIAL_NO").toString() + "' order by LOCK_SEQ desc ";
  2211. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  2212. if (qjl.size() > 0) {
  2213. count = qjl.get(0).getLock_seq();
  2214. }
  2215. count++;
  2216. //锁定记录号
  2217. int lock_seq = count;
  2218. qjb.setMaterial_no(listh.get("MATERIAL_NO").toString());
  2219. qjb.setLock_type_code("C");
  2220. qjb.setLock_type_desc("成分判定");
  2221. qjb.setLock_seq(lock_seq);
  2222. qjb.setLock_memo(memo);
  2223. qjb.setLock_id(cic_id);
  2224. qjb.setBoard_no(listh.get("MATERIAL_NO").toString());
  2225. qjb.setLock_name(username.equals("system") ? "系统自动判定" : username);
  2226. qjb.setCic_locking("1");
  2227. qjb.setLock_time(new Date());
  2228. qjb.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ? "" : hashmap.get(0).get("HEAT_NO").toString());
  2229. qjb.setBatch_no(hashmap.get(0).get("BATCHNO") == null ? "" : hashmap.get(0).get("BATCHNO").toString());
  2230. qjb.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ? "" : hashmap.get(0).get("BOARD_NO").toString());
  2231. qjb.setPlan_no(hashmap.get(0).get("PLAN_NO") == null ? "" : hashmap.get(0).get("PLAN_NO").toString());
  2232. qjb.setHt_no(hashmap.get(0).get("HT_NO") == null ? "" : hashmap.get(0).get("HT_NO").toString());
  2233. qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY").toString());
  2234. qjb.setPsc(hashmap.get(0).get("PSC") == null ? "" : hashmap.get(0).get("PSC").toString());
  2235. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE").toString());
  2236. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME").toString());
  2237. qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ? "" : hashmap.get(0).get("PSC_DESC").toString());
  2238. qjb.setStd_code(hashmap.get(0).get("STD_CODE").toString());
  2239. qjb.setStd_name(hashmap.get(0).get("STD_NAME").toString());
  2240. qjb.setProd_code(hashmap.get(0).get("PROD_CODE") == null ? "" : hashmap.get(0).get("PROD_CODE").toString());
  2241. qjb.setProd_name(hashmap.get(0).get("PROD_NAME") == null ? "" : hashmap.get(0).get("PROD_NAME").toString());
  2242. qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ? "" : hashmap.get(0).get("STEEL_CODE").toString());
  2243. qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ? "" : hashmap.get(0).get("STEEL_NAME").toString());
  2244. //插入异常锁定表
  2245. mapper.insertQCMJudgeLocking(qjb);
  2246. List<QcmJudgeChemical> qjc = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where material_no = '" + listh.get("MATERIAL_NO").toString() + "' order by JUDGE_TTIME desc");
  2247. int seq1 = 1;
  2248. //插入判定原因表
  2249. for (ArrayList listz : list) {
  2250. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  2251. qjr.setMaterial_no(listh.get("MATERIAL_NO").toString());
  2252. qjr.setType_code("C");
  2253. qjr.setRecord_id(qjc.get(0).getCic_id());
  2254. qjr.setSeq(seq1);
  2255. qjr.setPhy_code_s(listz.get(0).toString());
  2256. qjr.setPhy_name_s(listz.get(1).toString().equals("") ? listz.get(0).toString() : listz.get(1).toString());
  2257. qjr.setVal1(listz.get(2)==null?"":listz.get(2).toString());
  2258. qjr.setStdmax(listz.get(3) == null ? "" : listz.get(3).toString());
  2259. qjr.setStdmax_sign(listz.get(4) == null ? "" : listz.get(4).toString());
  2260. qjr.setStdmin(listz.get(5) == null ? "" : listz.get(5).toString());
  2261. qjr.setStdmin_sign(listz.get(6) == null ? "" : listz.get(6).toString());
  2262. qjr.setCreate_name(username);
  2263. qjr.setCreate_time(new Date());
  2264. seq1++;
  2265. mapper.insertQcmJudgeUltimateReason(qjr);
  2266. }
  2267. }
  2268. }
  2269. }
  2270. }
  2271. //发送熔炼成分实绩
  2272. List<QcmJhyInspElements> chemresult1 = mapper.queryQcmJhyInspElements("select * from qcm_jhy_insp_elements t where t.assay_type = 'L' and t.heat_no = '"+hashmap.get(0).get("HEAT_NO").toString()+"'");
  2273. if(chemresult1.size() > 0){
  2274. QcmJudgeUltimateSendinfo qjus = new QcmJudgeUltimateSendinfo();
  2275. qjus.setMaterial_no(material_no);
  2276. qjus.setDesign_key(hashmap.get(0).get("DESIGN_KEY") == null ?"":hashmap.get(0).get("DESIGN_KEY").toString());
  2277. qjus.setResult_type("C");
  2278. qjus.setJudge_id(cic_id);
  2279. qjus.setCreate_name("system");
  2280. mapper.insertQcmJudgeUltimateSendinfo(qjus);
  2281. }
  2282. }
  2283. //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS
  2284. if(list2.size() > 0) {
  2285. hashmap = qjms.doQueryMaterialInfoJ(material_no);
  2286. if (hashmap.size() > 0) {
  2287. coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, pass ? "1" : "2", null, null, null, null, null, null,"");
  2288. }
  2289. }
  2290. }
  2291. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  2292. qjog.setOperate_name(username);
  2293. qjog.setOperate_type("轧钢熔炼成分判定");
  2294. qjog.setParams(material_no);
  2295. qjog.setBatchno(hashmap.get(0).get("BATCHNO").toString());
  2296. qjog.setProd_line(hashmap.get(0).get("PLINE_CODE").toString());
  2297. mapper.insertQcmJudgeOperateLog(qjog);
  2298. if (pass) {
  2299. QcmJudgeLog qjl = new QcmJudgeLog();
  2300. qjl.setJudge_type("F");
  2301. qjl.setMaterial_no(material_no);
  2302. qjl.setCreate_name("system");
  2303. qjl.setProd_line(hashmap.get(0).get("PLINE_CODE").toString());
  2304. mapper.insertQcmJudgeLog(qjl);
  2305. qjl = new QcmJudgeLog();
  2306. qjl.setJudge_type("U");
  2307. qjl.setMaterial_no(material_no);
  2308. qjl.setCreate_name("system");
  2309. qjl.setProd_line(hashmap.get(0).get("PLINE_CODE").toString());
  2310. mapper.insertQcmJudgeLog(qjl);
  2311. //调用综合判定
  2312. }
  2313. SqlSession.commit();
  2314. cro.setV_errCode(1);
  2315. } catch (Exception ex) {
  2316. SqlSession.rollback();
  2317. cro.setV_errCode(-1);
  2318. cro.setV_errMsg("判定失败!" + ex.getMessage());
  2319. logger.info(new Date().toString()+ "QCM.QCM03.QCM0301.QcmJhyElementsServiceImpl.RlChemJudgeByHuman:【" + heat_no + "," + material_no + "," + design_key + "," + username + "," + grade_name + "," + assay_no.toString() + "】" + ex);
  2320. }
  2321. SqlSession.close();
  2322. return cro;
  2323. }
  2324. /**
  2325. * 炼钢熔炼成分自动判定
  2326. */
  2327. @SuppressWarnings("unchecked")
  2328. public CoreReturnObject LGRlChemJudgeBySystem(String heat_no, String material_no, String design_key, String username, String grade_name, String prod_name, String prodline) throws Exception {
  2329. List<HashMap> hashmap = new ArrayList<HashMap>();
  2330. try {
  2331. String memo = "";
  2332. hashmap = (List<HashMap>) getLgRejudgeInfobyMaterial_no("", "", material_no, prodline, prod_name, "C").getResult();
  2333. if (hashmap.size() == 0) {
  2334. throw new Exception(material_no+"未找到待判数据或该数据已判!");
  2335. }
  2336. QcmJudgePhysicalServiceImpl qjp = new QcmJudgePhysicalServiceImpl();
  2337. //QcmJhySampleConsignD _consignD=new QcmJhySampleConsignD();
  2338. String sql = "select assay_no from (select * from (select a.assay_no, max(a.create_time) create_time "
  2339. + " from QCM_JHY_INSP_ELEMENTS a where a.heat_no = '"+heat_no+"' and assay_type = 'L' group by a.assay_no) order by create_time asc) ";
  2340. List<HashMap> list1 = mapper.query(sql);
  2341. if(list1.size() ==0){
  2342. throw new Exception(material_no+"找不到实绩!");
  2343. }
  2344. if(list1.size() > 1){
  2345. throw new Exception(material_no+"找到多条实绩!");
  2346. }
  2347. //System.out.print(sql);
  2348. List<String> assay_no = new ArrayList<String>();
  2349. assay_no.add(list1.get(0).get("ASSAY_NO").toString());
  2350. //List<String> assay_no = GetAssay_no(heat_no);
  2351. if (assay_no.size() == 0) {
  2352. throw new Exception(material_no+"找不到实绩!");
  2353. }
  2354. if (assay_no.size() > 1) {
  2355. throw new Exception(material_no+"找到多条实绩!");
  2356. }
  2357. sql = "select * from qcm_judge_locking where material_no = '"+material_no+"' and lock_type_code = 'C' and unlock_type_code is null";
  2358. List<QCMJudgeLocking> qjls = mapper.queryQCMJudgeLockings(sql);
  2359. if(qjls.size() > 0){
  2360. throw new Exception("该物料号已被质量异常锁定,请处理后再进行成分判定!");
  2361. }
  2362. CoreReturnObject cro = GetElementsInfo1(assay_no);
  2363. List<QcmJhyInspElements> listEle = (List<QcmJhyInspElements>) cro.getResult();
  2364. if (listEle.size() < 1) {
  2365. throw new Exception(material_no+"找不到实绩!");
  2366. }
  2367. String result = "";
  2368. String[] orderno = design_key.split(",");
  2369. for (String x : orderno) {
  2370. if (result.equals("")) {
  2371. result = "('" + x + "'";
  2372. } else {
  2373. result = result + ",'" + x + "'";
  2374. }
  2375. }
  2376. if (result == "") {
  2377. result = "('')";
  2378. } else {
  2379. result = result + ")";
  2380. }
  2381. List<HashMap> listP = mapper.query("select * from qcm_ord_design_std_cic a where a.design_key in "+result+"");
  2382. if(!design_key.equals("") && listP.size() == 0){
  2383. throw new Exception("该物料号所带订单是老订单,请在MES系统进行判定!");
  2384. }
  2385. //查询判定标准,最后一个参数需要调用生产计划相关接口获取当前使用的制程号
  2386. CoreReturnObject cicModel = this.GetOrdJudgeStdCicLgR(result, grade_name, prodline);
  2387. OrdJudgeStd<QCMOrdDesignStdCic> stdCic = (OrdJudgeStd<QCMOrdDesignStdCic>) cicModel.getResult();
  2388. List<ArrayList> list = new ArrayList();
  2389. //开始判定:内控>客户>交付
  2390. boolean pass = true;
  2391. boolean pass1 = true;
  2392. /*if (stdCic.getListStdLG().size() == 0) {
  2393. throw new Exception(material_no+"无标准,无法判定");
  2394. }*/
  2395. if(grade_name.startsWith("LQ")){
  2396. if (stdCic.getListStdLG().size() == 0) {
  2397. throw new Exception(material_no+"无标准,无法判定");
  2398. }
  2399. }else
  2400. {
  2401. if (stdCic.getListStdNK().size() == 0 || stdCic.getListStdLG().size() == 0) {
  2402. throw new Exception(material_no+"无标准,无法判定");
  2403. }
  2404. }
  2405. if (stdCic.getListStdNK().size() > 0) {
  2406. pass1 = CompareResult(stdCic.getListStdNK(), listEle);
  2407. }
  2408. //判定客户、交付标准
  2409. if (pass) {
  2410. if (stdCic.getListStdKH() != null && pass) {
  2411. pass = CompareResult(stdCic.getListStdKH(), listEle);
  2412. memo = CompareResults(memo, stdCic.getListStdKH(), listEle);
  2413. list = CompareResultInfo(list, stdCic.getListStdKH(), listEle);
  2414. }
  2415. if (pass) {
  2416. pass = CompareResult(stdCic.getListStdGB(), listEle);
  2417. memo = CompareResults(memo, stdCic.getListStdGB(), listEle);
  2418. list = CompareResultInfo(list, stdCic.getListStdGB(), listEle);
  2419. if (pass) {
  2420. pass = CompareResult(stdCic.getListStdLG(), listEle);
  2421. memo = CompareResults(memo, stdCic.getListStdLG(), listEle);
  2422. list = CompareResultInfo(list, stdCic.getListStdLG(), listEle);
  2423. }
  2424. }
  2425. }
  2426. if(stdCic.getListStdNK().size()== 0){
  2427. pass1 = pass;
  2428. }
  2429. String proAssaynos = "", semiAssaynos = "";//成品化验号、熔炼化验号
  2430. for (QcmJhyInspElements qcmJhyElements : listEle) {
  2431. if (qcmJhyElements.getAssay_type().equals("L")) {
  2432. if (!semiAssaynos.contains(qcmJhyElements.getAssay_no())) {
  2433. semiAssaynos += "," + qcmJhyElements.getAssay_no();
  2434. }
  2435. } else {
  2436. if (!proAssaynos.contains(qcmJhyElements.getAssay_no())) {
  2437. proAssaynos += "," + qcmJhyElements.getAssay_no();
  2438. }
  2439. }
  2440. }
  2441. for (HashMap listh : hashmap) {
  2442. QcmJudgeChemical judge = new QcmJudgeChemical();
  2443. int count = 0;
  2444. SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
  2445. String date = sdf.format(new Date());
  2446. // 获取材质结果集编号最大值
  2447. String c = "";
  2448. if(prodline.equals("4001LG0")){
  2449. c="RL";
  2450. }else{
  2451. c="RD";
  2452. }
  2453. List<QcmJudgeChemical> qrlist = mapper.QueryQcmJudgeChemicals(c + date);
  2454. if (qrlist != null && qrlist.size() > 0) {
  2455. String s = qrlist.get(0).getCic_id();
  2456. count = Integer.parseInt(s.substring(s.length() - 4, s.length()));
  2457. }
  2458. count++;
  2459. String cic_id = c + sdf.format(new Date()) + String.format("%04d", count);
  2460. String cic_memo = "";
  2461. if (username.equals("system")) {
  2462. cic_memo = "系统自动判定";
  2463. } else {
  2464. cic_memo = "人工判定";
  2465. }
  2466. judge.setCic_id(cic_id);
  2467. judge.setAssay_no_cp(proAssaynos.replaceFirst(",", ""));
  2468. judge.setAssay_no_rl(semiAssaynos.replaceFirst(",", ""));
  2469. judge.setBatch_no(listh.get("MATERIAL_NO") == null ? "" : listh.get("MATERIAL_NO").toString());
  2470. judge.setHeat_no(heat_no);
  2471. judge.setCic_memo(cic_memo);
  2472. judge.setCic_result_code(pass ? "1" : "2");
  2473. judge.setCic_result_desc(pass ? "合格" : "不合格");
  2474. if(design_key.equals("") && pass && prodline.equals("4001LG0")){
  2475. judge.setCic_result_desc("订单外合格");
  2476. }
  2477. judge.setDesign_key(design_key);
  2478. judge.setHeat_no(heat_no);
  2479. judge.setInspection_lot("");
  2480. judge.setProd_name(prod_name);
  2481. judge.setMaterial_no(listh.get("MATERIAL_NO") == null ? "" : listh.get("MATERIAL_NO").toString());
  2482. judge.setDelivery_state_code("");
  2483. judge.setDelivery_state_desc(listh.get("DELIVERY_STATE_DESC") == null ? "" : listh.get("DELIVERY_STATE_DESC").toString());
  2484. judge.setThick(listh.get("THICK") == null ? "" : listh.get("THICK").toString());
  2485. judge.setWidth(listh.get("WIDTH") == null ? "" : listh.get("WIDTH").toString());
  2486. judge.setLength(listh.get("LENGTH") == null ? "" : listh.get("LENGTH").toString());
  2487. judge.setJudge_name(username);
  2488. judge.setJudge_ttime(new Date());
  2489. judge.setGrade_code("");
  2490. judge.setGrade_name(listh.get("GRADE_NAME") == null ? "" : listh.get("GRADE_NAME").toString());
  2491. judge.setPline_code(listh.get("PLINE_CODE") == null ? "" : listh.get("PLINE_CODE").toString());
  2492. judge.setPline_name(listh.get("PLINE_NAME") == null ? "" : listh.get("PLINE_NAME").toString());
  2493. judge.setPsc("");
  2494. judge.setPsc_desc("");
  2495. judge.setSteel_code("");
  2496. judge.setSteel_name("");
  2497. judge.setSmp_no("");
  2498. judge.setBoard_no("");
  2499. judge.setStd_code("");
  2500. judge.setStd_name(listh.get("STD_NAME") == null ? "" : listh.get("STD_NAME").toString());
  2501. //插入成分判定表
  2502. mapper.insertqcmjudgechemcial(judge);
  2503. if (!pass) {
  2504. QCMJudgeLocking qjb = new QCMJudgeLocking();
  2505. count = 0;
  2506. String condition = " and MATERIAL_NO = '" + listh.get("MATERIAL_NO").toString() + "' order by LOCK_SEQ desc ";
  2507. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  2508. if (qjl.size() > 0) {
  2509. count = qjl.get(0).getLock_seq();
  2510. }
  2511. count++;
  2512. //锁定记录号
  2513. int lock_seq = count;
  2514. qjb.setMaterial_no(listh.get("MATERIAL_NO").toString());
  2515. qjb.setLock_type_code("C");
  2516. qjb.setLock_id(cic_id);
  2517. qjb.setLock_type_desc("成分判定");
  2518. qjb.setLock_seq(lock_seq);
  2519. qjb.setLock_memo(memo);
  2520. /*if (design_key.equals("")) {
  2521. qjb.setLock_memo("无订单");
  2522. }
  2523. */ qjb.setBoard_no(listh.get("MATERIAL_NO").toString());
  2524. qjb.setPline_code("");
  2525. qjb.setPline_name("");
  2526. qjb.setLock_name(username.equals("system") ? "系统自动判定" : username);
  2527. qjb.setCic_locking("1");
  2528. qjb.setLock_time(new Date());
  2529. qjb.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ? "" : hashmap.get(0).get("HEAT_NO").toString());
  2530. qjb.setBatch_no(hashmap.get(0).get("MATERIAL_NO") == null ? "" : hashmap.get(0).get("MATERIAL_NO").toString());
  2531. qjb.setBoard_no("");
  2532. qjb.setPlan_no("");
  2533. qjb.setHt_no("");
  2534. qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY").toString());
  2535. qjb.setPsc("");
  2536. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE").toString());
  2537. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME").toString());
  2538. qjb.setPsc_desc("");
  2539. qjb.setStd_code(hashmap.get(0).get("STD_NAME").toString());
  2540. qjb.setStd_name(hashmap.get(0).get("STD_NAME").toString());
  2541. qjb.setProd_code("");
  2542. qjb.setProd_name(hashmap.get(0).get("PROD_NAME").toString());
  2543. qjb.setSteel_code(hashmap.get(0).get("GRADE_NAME").toString());
  2544. qjb.setSteel_name(hashmap.get(0).get("GRADE_NAME").toString());
  2545. //插入异常锁定表
  2546. mapper.insertQCMJudgeLocking(qjb);
  2547. //List<QcmJudgeChemical> qjc = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where material_no = '" + listh.get("MATERIAL_NO").toString() + "' order by JUDGE_TTIME desc");
  2548. int seq1 = 1;
  2549. //插入判定原因表
  2550. for (ArrayList listz : list) {
  2551. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  2552. qjr.setMaterial_no(listh.get("MATERIAL_NO").toString());
  2553. qjr.setType_code("C");
  2554. qjr.setRecord_id(cic_id);
  2555. qjr.setSeq(seq1);
  2556. qjr.setPhy_code_s(listz.get(0).toString());
  2557. qjr.setPhy_name_s(listz.get(1).equals("")?listz.get(0).toString():listz.get(1).toString());
  2558. qjr.setVal1(listz.get(2)==null?"":listz.get(2).toString());
  2559. qjr.setStdmax(listz.get(3) == null ? "" : listz.get(3).toString());
  2560. qjr.setStdmax_sign(listz.get(4) == null ? "" : listz.get(4).toString());
  2561. qjr.setStdmin(listz.get(5) == null ? "" : listz.get(5).toString());
  2562. qjr.setStdmin_sign(listz.get(6) == null ? "" : listz.get(6).toString());
  2563. qjr.setCreate_name(username);
  2564. qjr.setCreate_time(new Date());
  2565. seq1++;
  2566. mapper.insertQcmJudgeUltimateReason(qjr);
  2567. }
  2568. }
  2569. /*String z_result = "";
  2570. if(prodline.equals("4001LGX") && judge.getCic_result_code().equals("2")){
  2571. z_result = "8";
  2572. }*/
  2573. String CHEMRESULT_FX = "";
  2574. if(design_key.equals("") && pass && prodline.equals("4001LG0")){
  2575. CHEMRESULT_FX = "9";
  2576. }else{
  2577. CHEMRESULT_FX = judge.getCic_result_code();
  2578. }
  2579. //调用单项判定
  2580. JSONObject jsobj2 = new JSONObject();
  2581. JSONArray ttmaps = new JSONArray();
  2582. JSONObject jsobj1 = new JSONObject();
  2583. jsobj1.put("CHEMRESULT_LK", pass1 ? "1" : "2");
  2584. jsobj1.put("FACERESULT", "");
  2585. jsobj1.put("COMPREHENSIVERESULT", "");
  2586. jsobj1.put("CHEMJUDGEID", cic_id);
  2587. jsobj1.put("FACECHECKID", "");
  2588. jsobj1.put("COMPREHENSIVEID", "");
  2589. jsobj1.put("JUDGE_TYPE", "C");
  2590. jsobj1.put("PROD_LINE", prodline);
  2591. jsobj1.put("ISJUDGE", "1");
  2592. jsobj1.put("PROD_TYPE", prod_name);
  2593. jsobj1.put("SLAB_NO", material_no);
  2594. jsobj1.put("CHECKNO", assay_no.get(0).toString());
  2595. jsobj1.put("OPTMAN", username);
  2596. jsobj1.put("ISFX", "0");
  2597. jsobj1.put("CHEMRESULT_FX", CHEMRESULT_FX);
  2598. ttmaps.add(jsobj1);
  2599. String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl";
  2600. result = callWebserviceASMX(url, "ChemJudge", JSON.toJSONString(ttmaps));
  2601. JSONObject jo = JSONObject.parseObject(result);
  2602. if (jo.get("code").toString().equals("1")) {
  2603. throw new Exception("成分判定失败!"+jo.get("message").toString());//
  2604. }
  2605. }
  2606. cro.setV_errCode(1);
  2607. SqlSession.commit();
  2608. if (pass) {
  2609. //调用综合判定
  2610. qjp.LgultimateJudgeAutoBySystem(material_no, username, prodline, prod_name);
  2611. }
  2612. } catch (Exception ex) {
  2613. SqlSession.rollback();
  2614. cro.setV_errCode(-1);
  2615. cro.setV_errMsg("判定失败!" + ex.getMessage());
  2616. }
  2617. SqlSession.close();
  2618. return cro;
  2619. }
  2620. /**
  2621. * 炼钢熔炼成分人工判定
  2622. */
  2623. @SuppressWarnings("unchecked")
  2624. public CoreReturnObject LGRlChemJudgeByHuman(String heat_no, String material_no, String design_key, String username, String grade_name, ArrayList assay_no, String prod_name, String prodline) throws Exception {
  2625. boolean pass = true;
  2626. try {
  2627. List<HashMap> hashmap = (List<HashMap>) getLgRejudgeInfobyMaterial_no("", "", material_no, prodline, prod_name, "C").getResult();
  2628. if (hashmap.size() == 0) {
  2629. throw new Exception("未找到待判数据或该数据已判!");
  2630. }
  2631. if(assay_no.size() > 1){
  2632. throw new Exception("选择了多个实绩!");
  2633. }
  2634. QcmJudgePhysicalServiceImpl qjp = new QcmJudgePhysicalServiceImpl();
  2635. String memo = "";
  2636. QcmJhySampleConsignD _consignD = new QcmJhySampleConsignD();
  2637. CoreReturnObject cro = GetElementsInfo1(assay_no);
  2638. List<QcmJhyInspElements> listEle = (List<QcmJhyInspElements>) cro.getResult();
  2639. if (listEle.size() < 1) {
  2640. throw new Exception("找不到实绩!");
  2641. }
  2642. String sql = "select * from qcm_judge_locking where material_no = '"+material_no+"' and lock_type_code = 'C' and unlock_type_code is null";
  2643. List<QCMJudgeLocking> qjls = mapper.queryQCMJudgeLockings(sql);
  2644. if(qjls.size() > 0){
  2645. throw new Exception("该物料号已被质量异常锁定,请处理后再进行成分判定!");
  2646. }
  2647. String result = "";
  2648. String[] orderno = design_key.split(",");
  2649. for (String x : orderno) {
  2650. if (result.equals("")) {
  2651. result = "('" + x + "'";
  2652. } else {
  2653. result = result + ",'" + x + "'";
  2654. }
  2655. }
  2656. if (result == "") {
  2657. result = "('')";
  2658. } else {
  2659. result = result + ")";
  2660. }
  2661. List<HashMap> listP = mapper.query("select * from qcm_ord_design_std_cic a where a.design_key in "+result+"");
  2662. if(!design_key.equals("") && listP.size() == 0){
  2663. listP = mapper.query("SELECT ORDERNO FROM SEL_PACTDETAIL@XGCX A WHERE A.ORDERNO in "+result+" UNION ALL "
  2664. + " SELECT A.ORD_NO || A.ORD_SEQ ORDERNO FROM TBA01_ORD_LINE A WHERE A.ORD_NO || A.ORD_SEQ in "+result+"");
  2665. if(listP.size()>0){
  2666. throw new Exception("订单成分标准未下发!");
  2667. }else{
  2668. throw new Exception("该物料号所带订单是老订单,请在MES系统进行判定!");
  2669. }
  2670. }
  2671. //查询判定标准,最后一个参数需要调用生产计划相关接口获取当前使用的制程号
  2672. CoreReturnObject cicModel = this.GetOrdJudgeStdCicLgR(result, grade_name, prodline);
  2673. OrdJudgeStd<QCMOrdDesignStdCic> stdCic = (OrdJudgeStd<QCMOrdDesignStdCic>) cicModel.getResult();
  2674. List<ArrayList> list = new ArrayList();
  2675. /*if (stdCic.getListStdLG().size() == 0) {
  2676. throw new Exception(material_no+"无标准,无法判定");
  2677. }*/
  2678. if(grade_name.startsWith("LQ")){
  2679. if (stdCic.getListStdLG().size() == 0) {
  2680. throw new Exception(material_no+"无标准,无法判定");
  2681. }
  2682. }else
  2683. {
  2684. if (stdCic.getListStdNK().size() == 0 || stdCic.getListStdLG().size() == 0) {
  2685. throw new Exception(material_no+"无标准,无法判定");
  2686. }
  2687. }
  2688. //开始判定:内控>客户>交付
  2689. boolean pass1 = true;
  2690. //炼钢内控不作为判定依据
  2691. if (stdCic.getListStdNK().size() > 0) {
  2692. pass1 = CompareResult(stdCic.getListStdNK(), listEle);
  2693. }
  2694. //判定客户、交付标准
  2695. if(pass){
  2696. //熔炼放行
  2697. pass=CompareResult(stdCic.getListStdLG(),listEle);
  2698. memo = CompareResults(memo,stdCic.getListStdLG(),listEle);
  2699. list = CompareResultInfo(list,stdCic.getListStdLG(),listEle);
  2700. //客户
  2701. if (stdCic.getListStdKH()!=null&&pass) {
  2702. pass=CompareResult(stdCic.getListStdKH(),listEle);
  2703. }
  2704. memo = CompareResults(memo,stdCic.getListStdKH(),listEle);
  2705. list = CompareResultInfo(list,stdCic.getListStdKH(),listEle);
  2706. //交付
  2707. if(pass){
  2708. pass=CompareResult(stdCic.getListStdGB(),listEle);
  2709. }
  2710. memo = CompareResults(memo,stdCic.getListStdGB(),listEle);
  2711. list = CompareResultInfo(list,stdCic.getListStdGB(),listEle);
  2712. }
  2713. if(stdCic.getListStdNK().size()== 0){
  2714. pass1 = pass;
  2715. }
  2716. String proAssaynos = "", semiAssaynos = "";//成品化验号、熔炼化验号
  2717. for (QcmJhyInspElements qcmJhyElements : listEle) {
  2718. if (qcmJhyElements.getAssay_type().equals("L")) {
  2719. if (!semiAssaynos.contains(qcmJhyElements.getAssay_no())) {
  2720. semiAssaynos += "," + qcmJhyElements.getAssay_no();
  2721. }
  2722. } else {
  2723. if (!proAssaynos.contains(qcmJhyElements.getAssay_no())) {
  2724. proAssaynos += "," + qcmJhyElements.getAssay_no();
  2725. }
  2726. }
  2727. }
  2728. for (HashMap listh : hashmap) {
  2729. QcmJudgeChemical judge = new QcmJudgeChemical();
  2730. int count = 0;
  2731. SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
  2732. String date = sdf.format(new Date());
  2733. // 获取材质结果集编号最大值
  2734. String c = "";
  2735. if(prodline.equals("4001LG0")){
  2736. c="RL";
  2737. }else{
  2738. c="RD";
  2739. }
  2740. List<QcmJudgeChemical> qrlist = mapper.QueryQcmJudgeChemicals(c + date);
  2741. if (qrlist != null && qrlist.size() > 0) {
  2742. String s = qrlist.get(0).getCic_id();
  2743. count = Integer.parseInt(s.substring(s.length() - 4, s.length()));
  2744. }
  2745. count++;
  2746. String cic_id = c + sdf.format(new Date()) + String.format("%04d", count);
  2747. String cic_memo = "";
  2748. if (username.equals("system")) {
  2749. cic_memo = "系统自动判定";
  2750. } else {
  2751. cic_memo = "人工判定";
  2752. }
  2753. judge.setCic_id(cic_id);
  2754. judge.setAssay_no_cp(proAssaynos.replaceFirst(",", ""));
  2755. judge.setAssay_no_rl(semiAssaynos.replaceFirst(",", ""));
  2756. judge.setBatch_no(listh.get("MATERIAL_NO") == null ? "" : listh.get("MATERIAL_NO").toString());
  2757. judge.setHeat_no(heat_no);
  2758. judge.setCic_memo(cic_memo);
  2759. judge.setCic_result_code(pass ? "1" : "2");
  2760. judge.setCic_result_desc(pass ? "合格" : "不合格");
  2761. if(design_key.equals("") && pass && prodline.equals("4001LG0")){
  2762. judge.setCic_result_desc("订单外合格");
  2763. }
  2764. judge.setDesign_key(design_key);
  2765. judge.setHeat_no(heat_no);
  2766. judge.setInspection_lot("");
  2767. judge.setProd_name(prod_name);
  2768. judge.setMaterial_no(listh.get("MATERIAL_NO") == null ? "" : listh.get("MATERIAL_NO").toString());
  2769. judge.setDelivery_state_code("");
  2770. judge.setDelivery_state_desc(listh.get("DELIVERY_STATE_DESC") == null ? "" : listh.get("DELIVERY_STATE_DESC").toString());
  2771. judge.setThick(listh.get("THICK") == null ? "" : listh.get("THICK").toString());
  2772. judge.setWidth(listh.get("WIDTH") == null ? "" : listh.get("WIDTH").toString());
  2773. judge.setLength(listh.get("LENGTH") == null ? "" : listh.get("LENGTH").toString());
  2774. judge.setJudge_name(username);
  2775. judge.setJudge_ttime(new Date());
  2776. judge.setGrade_code("");
  2777. judge.setGrade_name(listh.get("GRADE_NAME") == null ? "" : listh.get("GRADE_NAME").toString());
  2778. judge.setPline_code(listh.get("PLINE_CODE") == null ? "" : listh.get("PLINE_CODE").toString());
  2779. judge.setPline_name(listh.get("PLINE_NAME") == null ? "" : listh.get("PLINE_NAME").toString());
  2780. judge.setPsc("");
  2781. judge.setPsc_desc("");
  2782. judge.setSteel_code("");
  2783. judge.setSteel_name("");
  2784. judge.setSmp_no("");
  2785. judge.setBoard_no("");
  2786. judge.setStd_code("");
  2787. judge.setStd_name(listh.get("STD_NAME") == null ? "" : listh.get("STD_NAME").toString());
  2788. //插入成分判定表
  2789. mapper.insertqcmjudgechemcial(judge);
  2790. if (!pass) {
  2791. QCMJudgeLocking qjb = new QCMJudgeLocking();
  2792. count = 0;
  2793. String condition = " and MATERIAL_NO = '" + listh.get("MATERIAL_NO").toString() + "' order by LOCK_SEQ desc ";
  2794. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  2795. if (qjl.size() > 0) {
  2796. count = qjl.get(0).getLock_seq();
  2797. }
  2798. count++;
  2799. //锁定记录号
  2800. int lock_seq = count;
  2801. qjb.setMaterial_no(listh.get("MATERIAL_NO").toString());
  2802. qjb.setLock_type_code("C");
  2803. qjb.setLock_id(cic_id);
  2804. qjb.setLock_type_desc("成分判定");
  2805. qjb.setLock_seq(lock_seq);
  2806. qjb.setLock_memo(memo);
  2807. /*if (design_key.equals("")) {
  2808. qjb.setLock_memo("无订单");
  2809. }*/
  2810. qjb.setBoard_no(listh.get("MATERIAL_NO").toString());
  2811. qjb.setPline_code("");
  2812. qjb.setPline_name("");
  2813. qjb.setLock_name(username.equals("system") ? "系统自动判定" : username);
  2814. qjb.setCic_locking("1");
  2815. qjb.setLock_time(new Date());
  2816. qjb.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ? "" : hashmap.get(0).get("HEAT_NO").toString());
  2817. qjb.setBatch_no(hashmap.get(0).get("MATERIAL_NO") == null ? "" : hashmap.get(0).get("MATERIAL_NO").toString());
  2818. qjb.setBoard_no("");
  2819. qjb.setPlan_no("");
  2820. qjb.setHt_no("");
  2821. qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY").toString());
  2822. qjb.setPsc("");
  2823. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE").toString());
  2824. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME").toString());
  2825. qjb.setPsc_desc("");
  2826. qjb.setStd_code(hashmap.get(0).get("STD_NAME").toString());
  2827. qjb.setStd_name(hashmap.get(0).get("STD_NAME").toString());
  2828. qjb.setProd_code("");
  2829. qjb.setProd_name(hashmap.get(0).get("PROD_NAME").toString());
  2830. qjb.setSteel_code(hashmap.get(0).get("GRADE_NAME").toString());
  2831. qjb.setSteel_name(hashmap.get(0).get("GRADE_NAME").toString());
  2832. //插入异常锁定表
  2833. mapper.insertQCMJudgeLocking(qjb);
  2834. //List<QcmJudgeChemical> qjc = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where material_no = '" + listh.get("MATERIAL_NO").toString() + "' order by JUDGE_TTIME desc");
  2835. int seq1 = 1;
  2836. //插入判定原因表
  2837. for (ArrayList listz : list) {
  2838. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  2839. qjr.setMaterial_no(listh.get("MATERIAL_NO").toString());
  2840. qjr.setType_code("C");
  2841. qjr.setRecord_id(cic_id);
  2842. qjr.setSeq(seq1);
  2843. qjr.setPhy_code_s(listz.get(0).toString());
  2844. qjr.setPhy_name_s(listz.get(1).equals("")?listz.get(0).toString():listz.get(1).toString());
  2845. qjr.setVal1(listz.get(2)==null?"":listz.get(2).toString());
  2846. qjr.setStdmax(listz.get(3) == null ? "" : listz.get(3).toString());
  2847. qjr.setStdmax_sign(listz.get(4) == null ? "" : listz.get(4).toString());
  2848. qjr.setStdmin(listz.get(5) == null ? "" : listz.get(5).toString());
  2849. qjr.setStdmin_sign(listz.get(6) == null ? "" : listz.get(6).toString());
  2850. qjr.setCreate_name(username);
  2851. qjr.setCreate_time(new Date());
  2852. seq1++;
  2853. mapper.insertQcmJudgeUltimateReason(qjr);
  2854. }
  2855. }
  2856. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  2857. qjog.setOperate_name(username);
  2858. qjog.setOperate_type("炼钢成分判定");
  2859. qjog.setParams(material_no);
  2860. qjog.setProd_line(prodline);
  2861. mapper.insertQcmJudgeOperateLog(qjog);
  2862. /*String z_result = "";
  2863. if(prodline.equals("4001LGX") && judge.getCic_result_code().equals("2")){
  2864. z_result = "8";
  2865. }*/
  2866. String CHEMRESULT_FX = "";
  2867. if(design_key.equals("") && pass && prodline.equals("4001LG0")){
  2868. CHEMRESULT_FX = "9";
  2869. }else{
  2870. CHEMRESULT_FX = judge.getCic_result_code();
  2871. }
  2872. //调用单项判定
  2873. JSONObject jsobj2 = new JSONObject();
  2874. JSONArray ttmaps = new JSONArray();
  2875. JSONObject jsobj1 = new JSONObject();
  2876. jsobj1.put("CHEMRESULT_LK", pass1 ? "1" : "2");
  2877. jsobj1.put("FACERESULT", "");
  2878. jsobj1.put("COMPREHENSIVERESULT", "");
  2879. jsobj1.put("CHEMJUDGEID", cic_id);
  2880. jsobj1.put("FACECHECKID", "");
  2881. jsobj1.put("COMPREHENSIVEID", "");
  2882. jsobj1.put("JUDGE_TYPE", "C");
  2883. jsobj1.put("PROD_LINE", prodline);
  2884. jsobj1.put("ISJUDGE", "1");
  2885. jsobj1.put("PROD_TYPE", prod_name);
  2886. jsobj1.put("SLAB_NO", material_no);
  2887. jsobj1.put("CHECKNO", listEle.get(0).getAssay_no());
  2888. jsobj1.put("OPTMAN", username);
  2889. jsobj1.put("ISFX", "0");
  2890. jsobj1.put("CHEMRESULT_FX", CHEMRESULT_FX);
  2891. ttmaps.add(jsobj1);
  2892. String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl";
  2893. result = callWebserviceASMX(url, "ChemJudge", JSON.toJSONString(ttmaps));
  2894. JSONObject jo = JSONObject.parseObject(result);
  2895. if (jo.get("code").toString().equals("1")) {
  2896. throw new Exception("成分判定失败!"+jo.get("message").toString());
  2897. }
  2898. }
  2899. SqlSession.commit();
  2900. cro.setV_errCode(1);
  2901. if (pass) {
  2902. //调用综合判定
  2903. qjp.LgultimateJudgeAutoBySystem(material_no, username, prodline, prod_name);
  2904. }
  2905. } catch (Exception ex) {
  2906. SqlSession.rollback();
  2907. cro.setV_errCode(2);
  2908. cro.setV_errMsg("判定失败!" + ex.getMessage());
  2909. logger.info(new Date().toString()+ "QCM.QCM03.QCM0301.QcmJhyElementsServiceImpl.LGRlChemJudgeByHuman:【" + heat_no + "," + material_no + "," + design_key + "," + username + "," + grade_name + "," + assay_no.toString() + "," + prod_name + "," + prodline + "】" + ex);
  2910. }
  2911. SqlSession.close();
  2912. return cro;
  2913. }
  2914. /**
  2915. * 成分异常材料处置
  2916. */
  2917. public void MaterialAbnormalTreatment(List<ArrayList> lists, String inspection_lot, String username, String memo,QcmJhySampleROrd qjsr) {
  2918. try {
  2919. //更新材料异常处理表
  2920. QCMJudgeLocking qjb = new QCMJudgeLocking();
  2921. String sql = "select * from zj_result_all@xgcx where BILLETID_JY = '" + inspection_lot + "'";
  2922. List<HashMap> list1 = mapper.query(sql);
  2923. sql = "select * from QCM_JUDGE_COIL_RESULT where INSPECTION_LOT = '" + inspection_lot + "'";
  2924. List<HashMap> list2 = mapper.query(sql);
  2925. if (list1.size() > 0 || list2.size() > 0) {
  2926. if (list1.size() > 0) {
  2927. for (HashMap list : list1) {
  2928. QcmJudgeMeasureServiceImpl qjms = new QcmJudgeMeasureServiceImpl();
  2929. List<HashMap> hashmap = qjms.doQueryMaterialInfoBX(list.get("BILLETID").toString());
  2930. if (hashmap.size() == 0) {
  2931. hashmap = qjms.doQueryMaterialInfoJ(list.get("BILLETID").toString());
  2932. }
  2933. int count = 0;
  2934. SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
  2935. String date = sdf.format(new Date());
  2936. String condition = " and MATERIAL_NO = '" + list.get("BILLETID").toString() + "' order by LOCK_SEQ desc ";
  2937. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  2938. if (qjl.size() > 0) {
  2939. count = qjl.get(0).getLock_seq();
  2940. }
  2941. count++;
  2942. //锁定记录号
  2943. int lock_seq = count;
  2944. qjb.setMaterial_no(list.get("BILLETID").toString());
  2945. qjb.setLock_type_code("C");
  2946. qjb.setLock_type_desc("成分判定");
  2947. qjb.setLock_seq(lock_seq);
  2948. qjb.setLock_memo(memo);
  2949. qjb.setBoard_no(list.get("BILLETID").toString());
  2950. qjb.setPline_code("");
  2951. qjb.setPline_name("");
  2952. qjb.setLock_name(username.equals("system") ? "系统自动判定" : username);
  2953. qjb.setCic_locking("1");
  2954. qjb.setLock_time(new Date());
  2955. qjb.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ? "" : hashmap.get(0).get("HEAT_NO").toString());
  2956. qjb.setBatch_no(hashmap.get(0).get("BATCHNO") == null ? "" : hashmap.get(0).get("BATCHNO").toString());
  2957. qjb.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ? "" : hashmap.get(0).get("BOARD_NO").toString());
  2958. qjb.setPlan_no(hashmap.get(0).get("PLAN_NO").toString());
  2959. qjb.setHt_no(hashmap.get(0).get("HT_NO") == null ? "" : hashmap.get(0).get("HT_NO").toString());
  2960. qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY").toString());
  2961. qjb.setPsc(hashmap.get(0).get("PSC_DESC") == null ? "" : hashmap.get(0).get("PSC_DESC").toString());
  2962. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE").toString());
  2963. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME").toString());
  2964. qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ? "" : hashmap.get(0).get("PSC_DESC").toString());
  2965. qjb.setStd_code(hashmap.get(0).get("STD_CODE").toString());
  2966. qjb.setStd_name(hashmap.get(0).get("STD_NAME").toString());
  2967. qjb.setProd_code(hashmap.get(0).get("PROD_CODE").toString());
  2968. qjb.setProd_name(hashmap.get(0).get("PROD_NAME").toString());
  2969. qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE").toString());
  2970. qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME").toString());
  2971. qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString());
  2972. qjb.setLock_id(qjsr.getCic_id());
  2973. //插入异常锁定表
  2974. mapper.insertQCMJudgeLocking(qjb);
  2975. //List<QcmJudgeChemical> qjc = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where material_no = '" + list.get("BILLETID").toString() + "' and a.cic_id like 'C%' order by JUDGE_TTIME desc");
  2976. int seq1 = 1;
  2977. //插入判定原因表
  2978. for (ArrayList listz : lists) {
  2979. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  2980. qjr.setMaterial_no(list.get("BILLETID").toString());
  2981. qjr.setType_code("C");
  2982. qjr.setRecord_id(qjsr.getCic_id());
  2983. qjr.setSeq(seq1);
  2984. qjr.setPhy_code_s(listz.get(0).toString());
  2985. qjr.setPhy_name_s(listz.get(1).toString());
  2986. qjr.setVal1(listz.get(2).toString());
  2987. qjr.setStdmax(listz.get(3) == null ? "" : listz.get(3).toString());
  2988. qjr.setStdmax_sign(listz.get(4) == null ? "" : listz.get(4).toString());
  2989. qjr.setStdmin(listz.get(5) == null ? "" : listz.get(5).toString());
  2990. qjr.setStdmin_sign(listz.get(6) == null ? "" : listz.get(6).toString());
  2991. qjr.setCreate_name(username);
  2992. qjr.setCreate_time(new Date());
  2993. seq1++;
  2994. mapper.insertQcmJudgeUltimateReason(qjr);
  2995. }
  2996. }
  2997. } else {
  2998. for (HashMap list : list2) {
  2999. QcmJudgeMeasureServiceImpl qjms = new QcmJudgeMeasureServiceImpl();
  3000. List<HashMap> hashmap = qjms.doQueryMaterialInfoBX(list.get("COIL_NO").toString());
  3001. if (hashmap.size() == 0) {
  3002. hashmap = qjms.doQueryMaterialInfoJ(list.get("COIL_NO").toString());
  3003. }
  3004. int count = 0;
  3005. SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
  3006. String date = sdf.format(new Date());
  3007. String condition = " and MATERIAL_NO = '" + list.get("COIL_NO").toString() + "' order by LOCK_SEQ desc ";
  3008. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  3009. if (qjl.size() > 0) {
  3010. count = qjl.get(0).getLock_seq();
  3011. }
  3012. count++;
  3013. //锁定记录号
  3014. int lock_seq = count;
  3015. qjb.setMaterial_no(list.get("COIL_NO").toString());
  3016. qjb.setLock_type_code("C");
  3017. qjb.setLock_type_desc("成分判定");
  3018. qjb.setLock_seq(lock_seq);
  3019. qjb.setLock_memo(memo);
  3020. qjb.setBoard_no(list.get("COIL_NO").toString());
  3021. qjb.setLock_name(username.equals("system") ? "系统自动判定" : username);
  3022. qjb.setCic_locking("1");
  3023. qjb.setLock_time(new Date());
  3024. qjb.setHeat_no(hashmap.get(0).get("HEAT_NO").toString());
  3025. qjb.setBatch_no(hashmap.get(0).get("BATCHNO").toString());
  3026. qjb.setBoard_no(hashmap.get(0).get("BOARD_NO").toString());
  3027. qjb.setPlan_no(hashmap.get(0).get("PLAN_NO").toString());
  3028. qjb.setHt_no(hashmap.get(0).get("HT_NO") == null ? "" : hashmap.get(0).get("HT_NO").toString());
  3029. qjb.setDesign_key(hashmap.get(0).get("DESIGN_KEY").toString());
  3030. qjb.setPsc(hashmap.get(0).get("PSC_DESC") == null ? "" : hashmap.get(0).get("PSC_DESC").toString());
  3031. qjb.setPline_code(hashmap.get(0).get("PLINE_CODE").toString());
  3032. qjb.setPline_name(hashmap.get(0).get("PLINE_NAME").toString());
  3033. qjb.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ? "" : hashmap.get(0).get("PSC_DESC").toString());
  3034. qjb.setStd_code(hashmap.get(0).get("STD_CODE").toString());
  3035. qjb.setStd_name(hashmap.get(0).get("STD_NAME").toString());
  3036. qjb.setProd_code(hashmap.get(0).get("PROD_CODE").toString());
  3037. qjb.setProd_name(hashmap.get(0).get("PROD_NAME").toString());
  3038. qjb.setSteel_code(hashmap.get(0).get("STEEL_CODE").toString());
  3039. qjb.setSteel_name(hashmap.get(0).get("STEEL_NAME").toString());
  3040. qjb.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString());
  3041. //插入异常锁定表
  3042. mapper.insertQCMJudgeLocking(qjb);
  3043. //List<QcmJudgeChemical> qjc = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where material_no = '" + list.get("COIL_NO").toString() + "' order by JUDGE_TTIME desc");
  3044. int seq1 = 1;
  3045. //插入判定原因表
  3046. for (ArrayList listz : lists) {
  3047. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  3048. qjr.setMaterial_no(list.get("COIL_NO").toString());
  3049. qjr.setType_code("C");
  3050. qjr.setRecord_id(qjsr.getCic_id());
  3051. qjr.setSeq(seq1);
  3052. qjr.setPhy_code_s(listz.get(0).toString());
  3053. qjr.setPhy_name_s(listz.get(1).toString());
  3054. qjr.setVal1(listz.get(2).toString());
  3055. qjr.setStdmax(listz.get(3) == null ? "" : listz.get(3).toString());
  3056. qjr.setStdmax_sign(listz.get(4) == null ? "" : listz.get(4).toString());
  3057. qjr.setStdmin(listz.get(5) == null ? "" : listz.get(5).toString());
  3058. qjr.setStdmin_sign(listz.get(6) == null ? "" : listz.get(6).toString());
  3059. qjr.setCreate_name(username);
  3060. qjr.setCreate_time(new Date());
  3061. seq1++;
  3062. mapper.insertQcmJudgeUltimateReason(qjr);
  3063. }
  3064. }
  3065. }
  3066. }
  3067. } catch (Exception e) {
  3068. SqlSession.rollback();
  3069. // TODO: handle exception
  3070. }
  3071. }
  3072. /**
  3073. * 新增判定记录
  3074. *
  3075. * @param listEle
  3076. * @param qcmJhySampleROrd
  3077. * @param pass
  3078. */
  3079. public QcmJhySampleROrd UpdateData(List<QcmJhyInspElements> listEle, QcmJhySampleROrd qcmJhySampleROrd, boolean pass, String username) throws Exception {
  3080. QcmJhySampleROrd ord = new QcmJhySampleROrd();
  3081. try {
  3082. QcmJudgeChemical chemical = CreateJudgeRecord(listEle, qcmJhySampleROrd, pass, username);
  3083. //插入成分判定表
  3084. mapper.insertqcmjudgechemcial(chemical);
  3085. //修改库存判定结果
  3086. String sql = "select * from zj_result_all@xgcx where Billetid_jy = '" + chemical.getInspection_lot() + "'";
  3087. List<HashMap> list1 = mapper.query(sql);
  3088. sql = "select * from QCM_JUDGE_COIL_RESULT where Inspection_lot = '" + chemical.getInspection_lot() + "'";
  3089. List<HashMap> list2 = mapper.query(sql);
  3090. String chemresult_desc = "";
  3091. String chemresult = "";
  3092. String cic_is_lock = "";
  3093. if (pass) {
  3094. chemresult_desc = "合格";
  3095. chemresult = "1";
  3096. cic_is_lock = "0";
  3097. } else {
  3098. chemresult_desc = "不合格";
  3099. chemresult = "2";
  3100. cic_is_lock = "1";
  3101. }
  3102. if (list1.size() > 0 || list2.size() > 0) {
  3103. if (list1.size() > 0) {
  3104. ZjResultAll zra = new ZjResultAll();
  3105. zra.setBilletid_jy(chemical.getInspection_lot());
  3106. zra.setChemid(chemical.getCic_id());
  3107. zra.setChemresult_desc(chemresult_desc);
  3108. zra.setChemresult(chemresult);
  3109. zra.setCic_is_lock(cic_is_lock);
  3110. mapper.UpdateJugeResultB(zra);
  3111. } else {
  3112. QcmJudgeCoilResult zra = new QcmJudgeCoilResult();
  3113. zra.setInspection_lot(chemical.getInspection_lot());
  3114. zra.setChemid(chemical.getCic_id());
  3115. zra.setChemresult_desc(chemresult_desc);
  3116. zra.setChemresult(chemresult);
  3117. zra.setCic_is_lock(cic_is_lock);
  3118. mapper.UpdateJugeResultJ(zra);
  3119. }
  3120. } else {
  3121. throw new Exception("未找到库存信息!");
  3122. }
  3123. //修改委托为已判定
  3124. ord.setSmp_no(chemical.getSmp_no());
  3125. ord.setPsc(chemical.getPsc());
  3126. ord.setDesign_key(chemical.getDesign_key());
  3127. ord.setJudge_status("1");
  3128. ord.setAssay_no_rl(chemical.getAssay_no_rl());
  3129. ord.setAssay_no_cp(chemical.getAssay_no_cp());
  3130. ord.setCic_id(chemical.getCic_id());
  3131. ord.setJudge_memo(chemical.getCic_memo());
  3132. ord.setJudge_name(chemical.getJudge_name());
  3133. ord.setJudge_time(chemical.getJudge_ttime());
  3134. ord.setJudge_result_code(chemical.getCic_result_code());
  3135. ord.setJudge_result_desc(chemical.getCic_result_desc());
  3136. mapper.updateQcmJhySampleROrds(ord);
  3137. } catch (Exception ex) {
  3138. throw new Exception(ex.getMessage());
  3139. }
  3140. return ord;
  3141. }
  3142. /**
  3143. * 获取对比结果
  3144. *
  3145. * @param stdCic 标准数据
  3146. * @param listEle 检验数据
  3147. * @return
  3148. */
  3149. public boolean CompareResult(List<QCMOrdDesignStdCic> stdCic, List<QcmJhyInspElements> listEle) throws Exception {
  3150. try {
  3151. for (QCMOrdDesignStdCic cic : stdCic) {
  3152. if (cic.getIsjudge().equals("0")) {
  3153. continue;
  3154. }
  3155. int i = 0;
  3156. /*if(cic.getChem_type().equals("B")){ //复合元素
  3157. String express=cic.getChem_formula();
  3158. for (QcmJhyInspElements qcmJhyElements : listEle) {
  3159. express=express.replaceAll(qcmJhyElements.getChem_name(), qcmJhyElements.getChem_value());
  3160. }
  3161. double result=SqlJoint.GetFormulaResult(express);
  3162. boolean pass=SqlJoint.checkSignAndValue(cic.getStdmax_sign(),SqlJoint.GetDouble(cic.getStdmax()),SqlJoint.GetString(result));
  3163. if(!pass){
  3164. return false;
  3165. }
  3166. pass=SqlJoint.checkSignAndValue(cic.getStdmin_sign(),SqlJoint.GetDouble(cic.getStdmin()),SqlJoint.GetString(result));
  3167. if(!pass){
  3168. return false;
  3169. }
  3170. i++;
  3171. continue;
  3172. }*/
  3173. for (QcmJhyInspElements ele : listEle) {
  3174. if (ele.getChem_code().equals(cic.getChem_code())) {
  3175. boolean pass = SqlJoint.checkSignAndValue1(cic.getStdmax_sign(), SqlJoint.GetDouble(cic.getStdmax()), ele.getChem_value());
  3176. if (!pass) {
  3177. return false;
  3178. }
  3179. pass = SqlJoint.checkSignAndValue1(cic.getStdmin_sign(), SqlJoint.GetDouble(cic.getStdmin()), ele.getChem_value());
  3180. if (!pass) {
  3181. return false;
  3182. }
  3183. i++;
  3184. break;
  3185. }
  3186. }
  3187. if (i == 0) {
  3188. return false;
  3189. }
  3190. }
  3191. } catch (Exception ex) {
  3192. throw new Exception(ex.getMessage());
  3193. }
  3194. return true;
  3195. }
  3196. /**
  3197. * 获取封锁原因
  3198. *
  3199. * @param stdCic 标准数据
  3200. * @param listEle 检验数据
  3201. * @return
  3202. */
  3203. public String CompareResults(String memo, List<QCMOrdDesignStdCic> stdCic, List<QcmJhyInspElements> listEle) throws Exception {
  3204. try {
  3205. DecimalFormat df = new DecimalFormat("#.00");
  3206. for (QCMOrdDesignStdCic cic : stdCic) {
  3207. if (cic.getIsjudge().equals("0")) {
  3208. continue;
  3209. }
  3210. int i = 0;
  3211. /*if(cic.getChem_type().equals("B")){ //复合元素
  3212. String express=cic.getChem_formula();
  3213. for (QcmJhyInspElements qcmJhyElements : listEle) {
  3214. express=express.replaceAll(qcmJhyElements.getChem_name(), qcmJhyElements.getChem_value());
  3215. }
  3216. double result=SqlJoint.GetFormulaResult(express);
  3217. boolean pass=SqlJoint.checkSignAndValue(cic.getStdmax_sign(),SqlJoint.GetDouble(cic.getStdmax()),SqlJoint.GetString(result));
  3218. if(!pass){
  3219. if(memo.equals("")){
  3220. memo = cic.getChem_code() + ":" +df.format(result);
  3221. }
  3222. else{
  3223. memo = memo + "," + cic.getChem_code() + ":" +df.format(result);
  3224. }
  3225. }
  3226. pass=SqlJoint.checkSignAndValue(cic.getStdmin_sign(),SqlJoint.GetDouble(cic.getStdmin()),SqlJoint.GetString(result));
  3227. if(!pass){
  3228. if(memo.equals("")){
  3229. memo = cic.getChem_code() + ":" +df.format(result);
  3230. }
  3231. else{
  3232. memo = memo + "," + cic.getChem_code() + ":" +df.format(result);
  3233. }
  3234. }
  3235. i++;
  3236. continue;
  3237. }*/
  3238. for (QcmJhyInspElements ele : listEle) {
  3239. if (ele.getChem_code().equals(cic.getChem_code())) {
  3240. boolean pass = SqlJoint.checkSignAndValue1(cic.getStdmax_sign(), SqlJoint.GetDouble(cic.getStdmax()), ele.getChem_value());
  3241. if (!pass) {
  3242. if (memo.equals("")) {
  3243. memo = cic.getChem_code() + ":" + ele.getChem_value();
  3244. } else if(!memo.contains(cic.getChem_code())){
  3245. memo = memo + "," + cic.getChem_code() + ":" + ele.getChem_value();
  3246. }
  3247. }
  3248. pass = SqlJoint.checkSignAndValue1(cic.getStdmin_sign(), SqlJoint.GetDouble(cic.getStdmin()), ele.getChem_value());
  3249. if (!pass) {
  3250. if (memo.equals("")) {
  3251. memo = cic.getChem_code() + ":" + ele.getChem_value();
  3252. } else if(!memo.contains(cic.getChem_code())){
  3253. memo = memo + "," + cic.getChem_code() + ":" + ele.getChem_value();
  3254. }
  3255. }
  3256. i++;
  3257. break;
  3258. }
  3259. }
  3260. if (i == 0) {
  3261. if (memo.equals("")) {
  3262. memo = cic.getChem_code() + ":" + "";
  3263. } else if(!memo.contains(cic.getChem_code())){
  3264. memo = memo + "," + cic.getChem_code() + ":" + "";
  3265. }
  3266. }
  3267. }
  3268. } catch (Exception ex) {
  3269. throw new Exception(ex.getMessage());
  3270. }
  3271. return memo;
  3272. }
  3273. /**
  3274. * 获取判定原因
  3275. *
  3276. * @param stdCic 标准数据
  3277. * @param listEle 检验数据
  3278. * @return
  3279. */
  3280. @SuppressWarnings({"unchecked", "rawtypes"})
  3281. public List<ArrayList> CompareResultInfo(List<ArrayList> list, List<QCMOrdDesignStdCic> stdCic, List<QcmJhyInspElements> listEle) throws Exception {
  3282. try {
  3283. DecimalFormat df = new DecimalFormat("#.00");
  3284. for (QCMOrdDesignStdCic cic : stdCic) {
  3285. if (cic.getIsjudge().equals("0")) {
  3286. continue;
  3287. }
  3288. int i = 0;
  3289. /*if(cic.getChem_type().equals("B")){ //复合元素
  3290. String express=cic.getChem_formula();
  3291. for (QcmJhyInspElements qcmJhyElements : listEle) {
  3292. express=express.replaceAll(qcmJhyElements.getChem_name(), qcmJhyElements.getChem_value());
  3293. }
  3294. double result=SqlJoint.GetFormulaResult(express);
  3295. boolean pass1=SqlJoint.checkSignAndValue(cic.getStdmax_sign(),SqlJoint.GetDouble(cic.getStdmax()),SqlJoint.GetString(result));
  3296. boolean pass2=SqlJoint.checkSignAndValue(cic.getStdmin_sign(),SqlJoint.GetDouble(cic.getStdmin()),SqlJoint.GetString(result));
  3297. if(!pass1 || !pass2){
  3298. ArrayList list2 = new ArrayList();
  3299. list2.add(cic.getChem_code());
  3300. list2.add(cic.getChem_name());
  3301. list2.add(df.format(result));
  3302. list2.add(cic.getStdmax());
  3303. list2.add(cic.getStdmax_sign());
  3304. list2.add(cic.getStdmin());
  3305. list2.add(cic.getStdmin_sign());
  3306. list.add(list2);
  3307. }
  3308. i++;
  3309. continue;
  3310. }*/
  3311. for (QcmJhyInspElements ele : listEle) {
  3312. if (ele.getChem_code().equals(cic.getChem_code())) {
  3313. boolean pass1 = SqlJoint.checkSignAndValue1(cic.getStdmax_sign(), SqlJoint.GetDouble(cic.getStdmax()), ele.getChem_value());
  3314. boolean pass2 = SqlJoint.checkSignAndValue1(cic.getStdmin_sign(), SqlJoint.GetDouble(cic.getStdmin()), ele.getChem_value());
  3315. if (!pass1 || !pass2) {
  3316. ArrayList list2 = new ArrayList();
  3317. list2.add(cic.getChem_code());
  3318. list2.add(cic.getChem_name());
  3319. list2.add(ele.getChem_value());
  3320. list2.add(cic.getStdmax());
  3321. list2.add(cic.getStdmax_sign());
  3322. list2.add(cic.getStdmin());
  3323. list2.add(cic.getStdmin_sign());
  3324. list.add(list2);
  3325. }
  3326. i++;
  3327. break;
  3328. }
  3329. }
  3330. if (i == 0) {
  3331. ArrayList list2 = new ArrayList();
  3332. list2.add(cic.getChem_code());
  3333. list2.add(cic.getChem_name());
  3334. list2.add("");
  3335. list2.add(cic.getStdmax());
  3336. list2.add(cic.getStdmax_sign());
  3337. list2.add(cic.getStdmin());
  3338. list2.add(cic.getStdmin_sign());
  3339. list.add(list2);
  3340. }
  3341. }
  3342. return list;
  3343. } catch (Exception ex) {
  3344. throw new Exception(ex.getMessage());
  3345. }
  3346. }
  3347. /**
  3348. * 获取成分检验实绩信息
  3349. *
  3350. * @param com
  3351. * @return
  3352. */
  3353. public CoreReturnObject GetElementsInfo(QcmJhyInspElements com, String design_key) {
  3354. try {
  3355. //"length(chem_name) desc" 这个排序对复合元素计算有用,慎重更改
  3356. String sql = "select * from (select a.assay_no,a.heat_no,a.batch_no,a.inspection_lot,a.smp_no,a.specimen_no, "
  3357. + " a.material_no, a.pline_code, a.pline_name,a.steel_code,a.steel_name,a.assay_type, "
  3358. + " a.chem_code,a.chem_name,case when a.chem_value > -1 and a.chem_value < 1 and a.chem_value != 0 then '0' || round(a.chem_value,7) else '' || round(a.chem_value,7) end chem_value,a.coil_sort, "
  3359. + " a.source,a.sample_type,a.memo, a.create_id, a.create_name, a.create_time from QCM_JHY_INSP_ELEMENTS a where SPECIMEN_NO = '" + com.getSpecimen_no() + "' order by length(chem_name) desc) where rownum <= 1";
  3360. List<QcmJhyInspElements> listEle = mapper.queryQcmJhyInspElements(sql);
  3361. cro.setResult(listEle);
  3362. } catch (Exception ex) {
  3363. cro.setV_errCode(-1);
  3364. cro.setV_errMsg("获取成分检验信息出错" + ex.getMessage());
  3365. SqlSession.rollback();
  3366. }
  3367. return cro;
  3368. }
  3369. /**
  3370. * 根据炉号获取成分检验实绩信息
  3371. *
  3372. * @param com
  3373. * @return
  3374. */
  3375. public CoreReturnObject GetElementsInfos(String heatno, String design_key) {
  3376. try {
  3377. //"length(chem_name) desc" 这个排序对复合元素计算有用,慎重更改
  3378. String sql = "select a.assay_no,a.heat_no,a.batch_no,a.inspection_lot,a.smp_no,a.specimen_no, "
  3379. + " a.material_no, a.pline_code, a.pline_name,a.steel_code,a.steel_name,a.assay_type, "
  3380. + " a.chem_code,a.chem_name,case when a.chem_value > -1 and a.chem_value < 1 and a.chem_value != 0 then '0' || round(a.chem_value,7) else '' || round(a.chem_value,7) end chem_value,a.coil_sort, "
  3381. + " a.source,a.sample_type,a.memo, a.create_id, a.create_name, a.create_time from QCM_JHY_INSP_ELEMENTS a where assay_no in (select assay_no from (select * from (select a.assay_no, max(a.create_time) create_time "
  3382. + " from QCM_JHY_INSP_ELEMENTS a where a.heat_no = '" + heatno + "' AND ASSAY_TYPE = 'L' group by a.assay_no) order by create_time desc) "
  3383. + " where rownum <= CASE WHEN (select case when z.SMELTING_CNT is null then 1 else z.SMELTING_CNT end from QCM_ORD_DESIGN_STD_CIC_SMP z where z.design_key = '" + design_key + " ' AND STD_TYPE_CODE = 'GA') IS NULL THEN 1 ELSE (select case when z.SMELTING_CNT is null then 1 else z.SMELTING_CNT end from QCM_ORD_DESIGN_STD_CIC_SMP z where z.design_key = '" + design_key + "' AND STD_TYPE_CODE = 'GA') END) order by length(chem_name) desc";
  3384. List<QcmJhyInspElements> listEle = mapper.queryQcmJhyInspElements(sql);
  3385. cro.setResult(listEle);
  3386. } catch (Exception ex) {
  3387. cro.setV_errCode(-1);
  3388. cro.setV_errMsg("获取成分检验信息出错" + ex.getMessage());
  3389. SqlSession.rollback();
  3390. }
  3391. return cro;
  3392. }
  3393. /**
  3394. * 根据炉号获取成分检验实绩信息
  3395. *
  3396. * @param com
  3397. * @return
  3398. */
  3399. public CoreReturnObject GetElementsInfo2(String heatno, String design_key, String board_no) {
  3400. try {
  3401. //"length(chem_name) desc" 这个排序对复合元素计算有用,慎重更改
  3402. String sql = "select a.assay_no,a.heat_no,a.batch_no,a.inspection_lot,a.smp_no,a.specimen_no, "
  3403. + " a.material_no, a.pline_code, a.pline_name,a.steel_code,a.steel_name,a.assay_type, "
  3404. + " a.chem_code,a.chem_name,case when a.chem_value > -1 and a.chem_value < 1 and a.chem_value != 0 then '0' || round(a.chem_value,7) else '' || round(a.chem_value,7) end chem_value,a.coil_sort, "
  3405. + " a.source,a.sample_type,a.memo, a.create_id, a.create_name, a.create_time from QCM_JHY_INSP_ELEMENTS a where instr ((select * from (select a.assay_no_rl from qcm_judge_chemical a where a.heat_no = '" + heatno + "' and a.material_no = '" + board_no + "' order by judge_ttime desc) where rownum <= 1), assay_no) > 0 order by length(chem_name) desc";
  3406. List<QcmJhyInspElements> listEle = mapper.queryQcmJhyInspElements(sql);
  3407. cro.setResult(listEle);
  3408. } catch (Exception ex) {
  3409. cro.setV_errCode(-1);
  3410. cro.setV_errMsg("获取成分检验信息出错" + ex.getMessage());
  3411. SqlSession.rollback();
  3412. }
  3413. return cro;
  3414. }
  3415. /**
  3416. * 根据炉号获取成分检验实绩信息
  3417. *
  3418. * @param com
  3419. * @return
  3420. */
  3421. @SuppressWarnings("rawtypes")
  3422. public CoreReturnObject GetElementsInfo1(List<String> list) {
  3423. try {
  3424. String assay_no = "";
  3425. //"length(chem_name) desc" 这个排序对复合元素计算有用,慎重更改
  3426. for (String assaynos : list) {
  3427. if (assay_no.equals("")) {
  3428. assay_no = "'" + assaynos + "'";
  3429. } else {
  3430. assay_no = assay_no + ",'" + assaynos + "'";
  3431. }
  3432. }
  3433. String sql = "select a.assay_no,a.heat_no,a.batch_no,a.inspection_lot,a.smp_no,a.specimen_no, "
  3434. + " a.material_no, a.pline_code, a.pline_name,a.steel_code,a.steel_name,a.assay_type, "
  3435. + " a.chem_code,a.chem_name,case when a.chem_value > -1 and a.chem_value < 0 then to_char(a.chem_value, 'fm990.099') when a.chem_value > -1 and a.chem_value < 1 and a.chem_value != 0 then '0' || round(a.chem_value,7) else '' || round(a.chem_value,7) end chem_value,a.coil_sort, "
  3436. + " a.source,a.sample_type,a.memo, a.create_id, a.create_name, a.create_time from QCM_JHY_INSP_ELEMENTS a where assay_no in (" + assay_no + ") order by length(chem_name) desc";
  3437. List<QcmJhyInspElements> listEle = mapper.queryQcmJhyInspElements(sql);
  3438. cro.setResult(listEle);
  3439. } catch (Exception ex) {
  3440. cro.setV_errCode(-1);
  3441. cro.setV_errMsg("获取成分检验信息出错" + ex.getMessage());
  3442. SqlSession.rollback();
  3443. }
  3444. return cro;
  3445. }
  3446. /**
  3447. * 断面抽查
  3448. *
  3449. * @param com
  3450. * @return
  3451. */
  3452. @SuppressWarnings("rawtypes")
  3453. public CoreReturnObject upLGSize(String material_no,String length,String width,String thick) {
  3454. try {
  3455. String sql = "select * from ( select * from qcm_judge_surface t where t.material_no = '"+material_no+"' order by t.judge_time desc ) where rownum=1";
  3456. /*String sql = "select a.assay_no,a.heat_no,a.batch_no,a.inspection_lot,a.smp_no,a.specimen_no, "
  3457. + " a.material_no, a.pline_code, a.pline_name,a.steel_code,a.steel_name,a.assay_type, "
  3458. + " a.chem_code,a.chem_name,case when a.chem_value > -1 and a.chem_value < 1 and a.chem_value != 0 then '0' || round(a.chem_value,7) else '' || round(a.chem_value,7) end chem_value,a.coil_sort, "
  3459. + " a.source,a.sample_type,a.memo, a.create_id, a.create_name, a.create_time from QCM_JHY_INSP_ELEMENTS a where assay_no in (" + assay_no + ") order by length(chem_name) desc";*/
  3460. QcmJudgeSurface listEle = mapper.queryQcmJudgeSurfaces(sql).get(0);
  3461. //QcmJudgeSurface qjs = new QcmJudgeSurface();
  3462. /*listEle.setThick(thick);
  3463. listEle.setWidth(width);
  3464. listEle.setLength(length);*/
  3465. String sql2 = "update qcm_judge_surface set thick ='"+thick+"',width='"+width+"',length='"+length+"' where surface_id='"+listEle.getSurface_id()+"'";
  3466. mapper.upRZRemarks(sql2);
  3467. cro.setResult(listEle);
  3468. SqlSession.commit();
  3469. SqlSession.close();
  3470. } catch (Exception ex) {
  3471. SqlSession.rollback();
  3472. SqlSession.close();
  3473. cro.setV_errCode(-1);
  3474. cro.setV_errMsg("断面抽查出错" + ex.getMessage());
  3475. }
  3476. return cro;
  3477. }
  3478. @SuppressWarnings("rawtypes")
  3479. public CoreReturnObject upLGSize1(String material_no,String length,String width,String thick) {
  3480. try {
  3481. String sql = "select * from ( select * from qcm_judge_surface t where t.material_no = '"+material_no+"' order by t.judge_time desc ) where rownum=1";
  3482. /*String sql = "select a.assay_no,a.heat_no,a.batch_no,a.inspection_lot,a.smp_no,a.specimen_no, "
  3483. + " a.material_no, a.pline_code, a.pline_name,a.steel_code,a.steel_name,a.assay_type, "
  3484. + " a.chem_code,a.chem_name,case when a.chem_value > -1 and a.chem_value < 1 and a.chem_value != 0 then '0' || round(a.chem_value,7) else '' || round(a.chem_value,7) end chem_value,a.coil_sort, "
  3485. + " a.source,a.sample_type,a.memo, a.create_id, a.create_name, a.create_time from QCM_JHY_INSP_ELEMENTS a where assay_no in (" + assay_no + ") order by length(chem_name) desc";*/
  3486. QcmJudgeSurface listEle = null;
  3487. List<QcmJudgeSurface> list = mapper.queryQcmJudgeSurfaces(sql);
  3488. if(list.size()==0){
  3489. throw new Exception(material_no+"未进行表面判定!不可以进行断面抽查操作!");
  3490. }
  3491. else{
  3492. listEle = list.get(0);
  3493. }
  3494. if(listEle==null||listEle.getSurface_id()==null ||listEle.getSurface_id().equals("")){
  3495. throw new Exception(material_no+"未进行表面判定!不可以进行断面抽查操作!");
  3496. }
  3497. //QcmJudgeSurface qjs = new QcmJudgeSurface();
  3498. /*listEle.setThick(thick);
  3499. listEle.setWidth(width);
  3500. listEle.setLength(length);*/
  3501. String sql2 = "update qcm_judge_surface set thick ='"+thick+"',width='"+width+"',length='"+length+"' where surface_id='"+listEle.getSurface_id()+"'";
  3502. mapper.upRZRemarks(sql2);
  3503. cro.setResult(listEle);
  3504. SqlSession.commit();
  3505. SqlSession.close();
  3506. } catch (Exception ex) {
  3507. SqlSession.rollback();
  3508. SqlSession.close();
  3509. cro.setV_errCode(-1);
  3510. cro.setV_errMsg("断面抽查出错" + ex.getMessage());
  3511. }
  3512. return cro;
  3513. }
  3514. /**
  3515. * 修磨抽查备注
  3516. *
  3517. * @param com
  3518. * @return
  3519. */
  3520. @SuppressWarnings("rawtypes")
  3521. public CoreReturnObject upLGMemo(String material_no,String fix_remarks,String check_remarks,String pline_code,String username,String prod_type) {
  3522. try {
  3523. String sql = "select * from ( select * from QCM_JUDGE_ULTIMATE t where t.material_no = '"+material_no+"' order by t.judge_time desc ) where rownum=1";
  3524. String C_remarks;
  3525. String F_remarks;
  3526. JSONArray ttmaps = new JSONArray();
  3527. JSONArray ttmaps1 = new JSONArray();
  3528. String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl";
  3529. String result ;
  3530. JSONObject jo ;
  3531. QcmJudgeUltimate listEle = mapper.queryQcmJudgeUltimates(sql).get(0);
  3532. if(pline_code.equals("4001LGX")){
  3533. JSONObject jsobj3 = new JSONObject();
  3534. jsobj3.put("PROD_LINE", pline_code);
  3535. jsobj3.put("SLAB_NO",material_no);
  3536. jsobj3.put("PROD_TYPE",prod_type);
  3537. jsobj3.put("REMARK","1");
  3538. jsobj3.put("P_NO_HOT_REASON", "");
  3539. jsobj3.put("P_NO_DIRECT_REASON","");
  3540. jsobj3.put("P_NO_CRAFT_STEELNAME","");
  3541. jsobj3.put("REMARK","");
  3542. jsobj3.put("P_REG_NM",username);
  3543. jsobj3.put("SPOTING_REMARK", check_remarks);
  3544. jsobj3.put("COPING_REMARK", fix_remarks);
  3545. ttmaps1.add(jsobj3);
  3546. result = QcmJhyElementsServiceImpl.callWebserviceASMX(url,"SlabDetailInput",JSON.toJSONString(ttmaps1));
  3547. jo = JSONObject.parseObject(result);
  3548. if(jo.get("code").toString().equals("1")){
  3549. throw new Exception("备注录入失败!"+jo.get("message").toString());
  3550. }
  3551. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  3552. qjog.setOperate_name(username);
  3553. qjog.setOperate_type("添加修磨备注");
  3554. qjog.setParams(material_no);
  3555. qjog.setOperate_type(pline_code);
  3556. //qjog.setMemo("抽查:"+check_remarks+";修磨:");
  3557. mapper.insertQcmJudgeOperateLog(qjog);
  3558. }
  3559. /*if("".equals(listEle.getCheck_remarks())||listEle.getCheck_remarks() ==null){
  3560. C_remarks = check_remarks;
  3561. }else{
  3562. C_remarks = listEle.getCheck_remarks()+","+check_remarks;
  3563. }
  3564. if("".equals(listEle.getFix_remarks())||listEle.getFix_remarks()==null){
  3565. F_remarks = fix_remarks;
  3566. }else{
  3567. F_remarks = listEle.getFix_remarks()+","+fix_remarks;
  3568. }*/
  3569. String sql2 = "update QCM_JUDGE_ULTIMATE set CHECK_REMARKS ='"+check_remarks+"',FIX_REMARKS='"+fix_remarks+"' where utm_id='"+listEle.getUtm_id()+"'";
  3570. mapper.upRZRemarks(sql2);
  3571. cro.setResult(listEle);
  3572. } catch (Exception ex) {
  3573. SqlSession.rollback();
  3574. SqlSession.close();
  3575. cro.setV_errCode(-1);
  3576. cro.setV_errMsg("修磨抽查备注添加出错" + ex.getMessage());
  3577. SqlSession.rollback();
  3578. }
  3579. SqlSession.commit();
  3580. SqlSession.close();
  3581. return cro;
  3582. }
  3583. /**
  3584. * 修磨抽查备注(待判界面)
  3585. *
  3586. * @param com
  3587. * @return
  3588. */
  3589. @SuppressWarnings("rawtypes")
  3590. public CoreReturnObject upLGMemo1(String material_no,String fix_remarks,String check_remarks,String pline_code,String username,String prod_type) {
  3591. try {
  3592. JSONArray ttmaps = new JSONArray();
  3593. JSONArray ttmaps1 = new JSONArray();
  3594. String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl";
  3595. String result ;
  3596. JSONObject jo ;
  3597. if(pline_code.equals("4001LGX")){
  3598. JSONObject jsobj3 = new JSONObject();
  3599. jsobj3.put("PROD_LINE", pline_code);
  3600. jsobj3.put("SLAB_NO",material_no);
  3601. jsobj3.put("PROD_TYPE",prod_type);
  3602. jsobj3.put("REMARK","1");
  3603. jsobj3.put("P_NO_HOT_REASON", "");
  3604. jsobj3.put("P_NO_DIRECT_REASON","");
  3605. jsobj3.put("P_NO_CRAFT_STEELNAME","");
  3606. jsobj3.put("REMARK","");
  3607. jsobj3.put("P_REG_NM",username);
  3608. jsobj3.put("SPOTING_REMARK", check_remarks);
  3609. jsobj3.put("COPING_REMARK", fix_remarks);
  3610. ttmaps1.add(jsobj3);
  3611. result = QcmJhyElementsServiceImpl.callWebserviceASMX(url,"SlabDetailInput",JSON.toJSONString(ttmaps1));
  3612. jo = JSONObject.parseObject(result);
  3613. if(jo.get("code").toString().equals("1")){
  3614. throw new Exception("备注录入失败!"+jo.get("message").toString());
  3615. }
  3616. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  3617. qjog.setOperate_name(username);
  3618. qjog.setOperate_type("添加修磨备注");
  3619. qjog.setParams(material_no);
  3620. qjog.setOperate_type(pline_code);
  3621. //qjog.setMemo("抽查:"+check_remarks+";修磨:");
  3622. mapper.insertQcmJudgeOperateLog(qjog);
  3623. }
  3624. } catch (Exception ex) {
  3625. SqlSession.rollback();
  3626. SqlSession.close();
  3627. cro.setV_errCode(-1);
  3628. cro.setV_errMsg("修磨抽查备注添加出错" + ex.getMessage());
  3629. SqlSession.rollback();
  3630. }
  3631. SqlSession.commit();
  3632. SqlSession.close();
  3633. return cro;
  3634. }
  3635. /**
  3636. * 根据炉号获取化验号
  3637. *
  3638. * @param com
  3639. * @return
  3640. */
  3641. /*public List<String> GetAssay_no(String heatno) {
  3642. List<String> listEle=new ArrayList<String>();
  3643. try{
  3644. //"length(chem_name) desc" 这个排序对复合元素计算有用,慎重更改
  3645. String sql = "select assay_no from (select * from (select a.assay_no, max(a.create_time) create_time "
  3646. + " from QCM_JHY_INSP_ELEMENTS a where a.heat_no = '"+heatno+"' and assay_type = 'L' group by a.assay_no) order by create_time asc) ";
  3647. //System.out.print(sql);
  3648. List<HashMap> list = mapper.query(sql);
  3649. if(list.size() ==0){
  3650. return listEle;
  3651. }
  3652. if(list.size() > 1){
  3653. listEle.add(list.get(0).get("ASSAY_NO").toString());
  3654. listEle.add(list.get(1).get("ASSAY_NO").toString());
  3655. }
  3656. //System.out.print(sql);
  3657. listEle.add(list.get(0).get("ASSAY_NO").toString());
  3658. }catch(Exception ex){
  3659. cro.setV_errCode(-1);
  3660. cro.setV_errMsg("获取化验号出错"+ex.getMessage());
  3661. SqlSession.rollback();
  3662. }
  3663. return listEle;
  3664. }*/
  3665. private String getElement(String con){
  3666. StringBuffer sqlucomm = new StringBuffer();
  3667. String queryInfo = "";
  3668. sqlucomm.append("select * from (select s.* from (select b.assay_no,b.heat_no,b.pline_code ");
  3669. List<HashMap> list = mapper.query("select * from qcm_base_chem a order by a.dsp_seq asc ");
  3670. for (HashMap list1 : list) {
  3671. sqlucomm.append( " , max(decode(chem_code,'" + list1.get("CHEM_CODE") + "',(select case when b.chem_value > 0 and b.chem_value < 1 and b.chem_value != 0 then '0' || round(b.chem_value, 7) when b.chem_value > -1 and b.chem_value < 0 and b.chem_value != 0 then '-0' || round(abs(b.chem_value), 7) else '' || round(b.chem_value, 7) end from dual))) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + " ");
  3672. }
  3673. sqlucomm.append(",max(to_char(b.create_time,'yyyy-mm-dd hh24:mi:ss')) create_time from qcm_jhy_insp_elements b "
  3674. + " where ASSay_TYPE = 'L' and " + con + " "
  3675. + "group by b.assay_no,b.heat_no,b.pline_code)s) ");
  3676. return sqlucomm.toString();
  3677. }
  3678. private String getLgsqlss(String design_key, String con, String type, String grade_name) {
  3679. StringBuffer sqlucomm = new StringBuffer();
  3680. List<QCMOrdDesignStdCic> lists1 = mapper.queryQCMOrdDesignStdCic("select * from QCM_ORD_DESIGN_STD_CIC a where a.design_key in " + design_key + " and std_type_code = '" + type + "' and specl_fl = '2'");
  3681. List<QCMOrdDesignStdCic> lists2 = mapper.queryQCMOrdDesignStdCic("select * from QCM_ORD_DESIGN_STD_CIC a where a.design_key in " + design_key + " and std_type_code = '" + type + "' and specl_fl = '3'");
  3682. String queryInfo = "";
  3683. String sql = "";
  3684. String condition = "";
  3685. if(grade_name != null && grade_name.startsWith("LQ")){
  3686. condition =" and a.specl_fl not in ('2','3')";
  3687. }
  3688. sqlucomm.append("select case when a.SPECL_FL = '0' then '交付标准' || '(' || a.STD_TYPE_NAME || ')' "
  3689. + " when a.specl_fl = '1' then '特殊要求' || '(' || a.STD_TYPE_NAME || ')' when a.specl_fl = '2' then "
  3690. + " '内控标准' || '(' || a.STD_TYPE_NAME || ')' when a.specl_fl = '3' then '放行标准' || '(' || a.STD_TYPE_NAME || ')' "
  3691. + " end std_type ");
  3692. List<HashMap> list = mapper.query("select * from qcm_base_chem a order by a.dsp_seq asc ");
  3693. for (HashMap list1 : list) {
  3694. sqlucomm.append( " , max(decode(chem_code,'" + list1.get("CHEM_CODE") + "',A.STDMIN_SIGN || A.STDMIN || ' ' || A.STDMAX_SIGN || A.STDMAX)) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + "");
  3695. }
  3696. sqlucomm.append(" from QCM_ORD_DESIGN_STD_CIC a where a.design_key in " + design_key + " and std_type_code = '" + type + "' "+condition+" group by a.SPECL_FL, a.STD_TYPE_NAME ");
  3697. if ((lists1.size() == 0 || grade_name.startsWith("LQ")) && !design_key.contains("19B") && !design_key.contains("19HJGP")) {
  3698. sqlucomm.append(" union all ");
  3699. sqlucomm.append("select '内控标准(熔炼)' std_type ");
  3700. for (HashMap list1 : list) {
  3701. sqlucomm.append( " , MAX(decode(ELEMENT, '" + list1.get("CHEM_CODE") + "', A.STDMIN_SIGN || A.MIN_VALUE || ' ' || A.STDMAX_SIGN || A.MAX_VALUE)) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + "");
  3702. }
  3703. sqlucomm.append(" from QCM_ORD_DESIGN_MSC_INNERCRAFT a where a.grade_name = '" + grade_name + "' group by a.grade_name ");
  3704. }
  3705. if ((lists2.size() == 0 || grade_name.startsWith("LQ")) && !design_key.contains("19B") && !design_key.contains("19HJGP")) {
  3706. sqlucomm.append(" union all ");
  3707. sqlucomm.append("select '放行标准(熔炼)' std_type ");
  3708. for (HashMap list1 : list) {
  3709. sqlucomm.append( " , MAX(decode(chem_code, '" + list1.get("CHEM_CODE") + "', A.STDMIN_SIGN || A.STDMIN || ' ' || A.STDMAX_SIGN || A.STDMAX)) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + "");
  3710. }
  3711. sqlucomm.append(" from QCM_ORD_DESIGN_GRADE_CHEM a where a.grade_desc = '" + grade_name + "' group by a.grade_desc ");
  3712. }
  3713. sqlucomm.append(" union all ");
  3714. sqlucomm.append( " select * from (select s.* from (select b.assay_no ");
  3715. for (HashMap list1 : list) {
  3716. sqlucomm.append(" , max(decode(chem_code,'" + list1.get("CHEM_CODE") + "',(select case when b.chem_value > 0 and b.chem_value < 1 and b.chem_value != 0 then '0' || round(b.chem_value, 7) when b.chem_value > -1 and b.chem_value < 0 and b.chem_value != 0 then '-0' || round(abs(b.chem_value), 7) else '' || round(b.chem_value, 7) end from dual))) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + " ");
  3717. }
  3718. sqlucomm.append(" from qcm_jhy_insp_elements b "
  3719. + " where ASSay_TYPE = 'L' and " + con + " "
  3720. + "group by b.assay_no)s) ");
  3721. /*sql = "select '内控标准(熔炼)' std_type ";
  3722. List<HashMap> list = mapper.query("select * from qcm_base_chem a order by a.dsp_seq asc ");
  3723. for(HashMap list1 : list){
  3724. queryInfo = " , MAX(decode(ELEMENT, '"+list1.get("CHEM_CODE")+"', A.STDMIN_SIGN || A.MIN_VALUE || ' ' || A.STDMAX_SIGN || A.MAX_VALUE)) "+(list1.get("CHEM_CODE").equals("As")?"AS1":list1.get("CHEM_CODE"))+"";
  3725. sql += queryInfo;
  3726. }
  3727. sql += " from QCM_ORD_DESIGN_MSC_INNERCRAFT a where a.grade_name = '"+grade_name+"' group by a.grade_name "
  3728. +" union all ";
  3729. sql += "select '放行标准(熔炼)' std_type ";
  3730. for(HashMap list1 : list){
  3731. queryInfo = " , MAX(decode(chem_code, '"+list1.get("CHEM_CODE")+"', A.STDMIN_SIGN || A.STDMIN || ' ' || A.STDMAX_SIGN || A.STDMAX)) "+(list1.get("CHEM_CODE").equals("As")?"AS1":list1.get("CHEM_CODE"))+"";
  3732. sql += queryInfo;
  3733. }
  3734. sql += " from QCM_ORD_DESIGN_GRADE_CHEM a where a.grade_desc = '"+grade_name+"' group by a.grade_desc "
  3735. + "union all"
  3736. + " select * from (select s.* from (select b.assay_no ";
  3737. for(HashMap list1 : list){
  3738. queryInfo = " , max(decode(chem_code,'"+list1.get("CHEM_CODE")+"',(select case when b.chem_value > -1 and b.chem_value < 1 and b.chem_value != 0 then '0' || round(b.chem_value,7) else '' || round(b.chem_value,7) end from dual))) "+(list1.get("CHEM_CODE").equals("As")?"AS1":list1.get("CHEM_CODE"))+"";
  3739. sql += queryInfo;
  3740. }
  3741. sql += " from qcm_jhy_insp_elements b "
  3742. + " where ASSay_TYPE = 'L' and " +con+" "
  3743. + "group by b.assay_no)s) ";*/
  3744. return sqlucomm.toString();
  3745. }
  3746. private String getCsqlss(String design_key, String con, String type) {
  3747. StringBuffer sqlucomm = new StringBuffer();
  3748. String queryInfo = "";
  3749. sqlucomm.append("select case when a.SPECL_FL = '0' then '交付标准' || '(' || a.STD_TYPE_NAME || ')' "
  3750. + " when a.specl_fl = '1' then '特殊要求' || '(' || a.STD_TYPE_NAME || ')' when a.specl_fl = '2' then "
  3751. + " '内控标准' || '(' || a.STD_TYPE_NAME || ')' when a.specl_fl = '3' then '放行标准' || '(' || a.STD_TYPE_NAME || ')' "
  3752. + " end std_type ");
  3753. List<HashMap> list = mapper.query("select * from qcm_base_chem a order by a.dsp_seq asc ");
  3754. for (HashMap list1 : list) {
  3755. sqlucomm.append(" , max(decode(chem_code,'" + list1.get("CHEM_CODE") + "',A.STDMIN_SIGN || A.STDMIN || ' ' || A.STDMAX_SIGN || A.STDMAX)) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + "");
  3756. }
  3757. sqlucomm.append(" from QCM_ORD_DESIGN_STD_CIC a where a.design_key = '" + design_key + "' and std_type_code = '" + type + "' group by a.SPECL_FL, a.STD_TYPE_NAME "
  3758. + " union all "
  3759. + " select * from (select s.* from (select b.assay_no ");
  3760. for (HashMap list1 : list) {
  3761. sqlucomm.append( " , max(decode(chem_code,'" + list1.get("CHEM_CODE") + "',(select case when b.chem_value > 0 and b.chem_value < 1 and b.chem_value != 0 then '0' || round(b.chem_value, 7) when b.chem_value > -1 and b.chem_value < 0 and b.chem_value != 0 then '-0' || round(abs(b.chem_value), 7) else '' || round(b.chem_value, 7) end from dual))) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + "");
  3762. }
  3763. sqlucomm.append(" from qcm_jhy_insp_elements b "
  3764. + " where ASSay_TYPE = 'P' and " + con + " "
  3765. + "group by b.assay_no)s) ");
  3766. return sqlucomm.toString();
  3767. }
  3768. //炼钢牌号改判
  3769. private String getLgSteelsql(String design_key, String con, String type, String grade_name) {
  3770. String queryInfo = "";
  3771. String sql = "";
  3772. StringBuffer sqlucomm = new StringBuffer();
  3773. sqlucomm.append("select 'False' checkboxs, case when a.SPECL_FL = '0' then '交付标准' || '(' || a.STD_TYPE_NAME || ')' "
  3774. + " when a.specl_fl = '1' then '特殊要求' || '(' || a.STD_TYPE_NAME || ')' when a.specl_fl = '2' then "
  3775. + " '内控标准' || '(' || a.STD_TYPE_NAME || ')' when a.specl_fl = '3' then '放行标准' || '(' || a.STD_TYPE_NAME || ')' "
  3776. + " end std_type ");
  3777. List<HashMap> list = mapper.query("select * from qcm_base_chem a order by a.dsp_seq asc ");
  3778. for (HashMap list1 : list) {
  3779. sqlucomm.append( " , max(decode(chem_code,'" + list1.get("CHEM_CODE") + "',A.STDMIN_SIGN || A.STDMIN || ' ' || A.STDMAX_SIGN || A.STDMAX)) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + "");
  3780. }
  3781. sqlucomm.append( " from QCM_ORD_DESIGN_STD_CIC a where a.design_key in " + design_key + " and std_type_code = '" + type + "' and SPECL_FL not in ('2','3') group by a.SPECL_FL, a.STD_TYPE_NAME ");
  3782. sqlucomm.append(" union all ");
  3783. sqlucomm.append("select 'False' checkboxs, '内控标准(熔炼)' std_type ");
  3784. for (HashMap list1 : list) {
  3785. sqlucomm.append( " , MAX(decode(ELEMENT, '" + list1.get("CHEM_CODE") + "', A.STDMIN_SIGN || A.MIN_VALUE || ' ' || A.STDMAX_SIGN || A.MAX_VALUE)) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + "");
  3786. }
  3787. sqlucomm.append(" from QCM_ORD_DESIGN_MSC_INNERCRAFT a where a.grade_name = '" + grade_name + "' group by a.grade_name ");
  3788. sqlucomm.append(" union all ");
  3789. sqlucomm.append("select 'False' checkboxs, '放行标准(熔炼)' std_type ");
  3790. for (HashMap list1 : list) {
  3791. sqlucomm.append( " , MAX(decode(chem_code, '" + list1.get("CHEM_CODE") + "', A.STDMIN_SIGN || A.STDMIN || ' ' || A.STDMAX_SIGN || A.STDMAX)) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + "");
  3792. }
  3793. sqlucomm.append(" from QCM_ORD_DESIGN_GRADE_CHEM a where a.grade_desc = '" + grade_name + "' group by a.grade_desc ");
  3794. sqlucomm.append(" union all "
  3795. + " select * from (select case when rownum <= 1 then 'True' else 'False' end checkboxs,s.* from (select b.assay_no ");
  3796. for (HashMap list1 : list) {
  3797. sqlucomm.append( " , max(decode(chem_code,'" + list1.get("CHEM_CODE") + "',(select case when b.chem_value > 0 and b.chem_value < 1 and b.chem_value != 0 then '0' || round(b.chem_value, 7) when b.chem_value > -1 and b.chem_value < 0 and b.chem_value != 0 then '-0' || round(abs(b.chem_value), 7) else '' || round(b.chem_value, 7) end from dual))) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + " ");
  3798. }
  3799. sqlucomm.append( " from qcm_jhy_insp_elements b "
  3800. + " where ASSay_TYPE = 'L' and " + con + " "
  3801. + "group by b.assay_no)s) ");
  3802. return sqlucomm.toString();
  3803. }
  3804. private String getLgsqls(String design_key, String con, String type, String grade_name) {
  3805. List<QCMOrdDesignStdCic> lists1 = mapper.queryQCMOrdDesignStdCic("select * from QCM_ORD_DESIGN_STD_CIC a where a.design_key in " + design_key + " and std_type_code = '" + type + "' and specl_fl = '2'");
  3806. List<QCMOrdDesignStdCic> lists2 = mapper.queryQCMOrdDesignStdCic("select * from QCM_ORD_DESIGN_STD_CIC a where a.design_key in " + design_key + " and std_type_code = '" + type + "' and specl_fl = '3'");
  3807. String queryInfo = "";
  3808. String sql = "";
  3809. String condition = "";
  3810. if(grade_name != null && grade_name.startsWith("LQ")){
  3811. condition =" and a.specl_fl not in ('2','3')";
  3812. }
  3813. StringBuffer sqlucomm = new StringBuffer();
  3814. sqlucomm.append("select 'False' checkboxs, case when a.SPECL_FL = '0' then '交付标准' || '(' || a.STD_TYPE_NAME || ')' "
  3815. + " when a.specl_fl = '1' then '特殊要求' || '(' || a.STD_TYPE_NAME || ')' when a.specl_fl = '2' then "
  3816. + " '内控标准' || '(' || a.STD_TYPE_NAME || ')' when a.specl_fl = '3' then '放行标准' || '(' || a.STD_TYPE_NAME || ')' "
  3817. + " end std_type ");
  3818. List<HashMap> list = mapper.query("select * from qcm_base_chem a order by a.dsp_seq asc ");
  3819. for (HashMap list1 : list) {
  3820. sqlucomm.append( " , max(decode(chem_code,'" + list1.get("CHEM_CODE") + "',A.STDMIN_SIGN || A.STDMIN || ' ' || A.STDMAX_SIGN || A.STDMAX)) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + "");
  3821. }
  3822. sqlucomm.append(" from QCM_ORD_DESIGN_STD_CIC a where a.design_key in " + design_key + " and std_type_code = '" + type + "' "+condition+" group by a.SPECL_FL, a.STD_TYPE_NAME ");
  3823. if (lists1.size() == 0 || grade_name.startsWith("LQ")) {
  3824. sqlucomm.append(" union all ");
  3825. sqlucomm.append("select 'False' checkboxs, '内控标准(熔炼)' std_type ");
  3826. for (HashMap list1 : list) {
  3827. sqlucomm.append( " , MAX(decode(ELEMENT, '" + list1.get("CHEM_CODE") + "', A.STDMIN_SIGN || A.MIN_VALUE || ' ' || A.STDMAX_SIGN || A.MAX_VALUE)) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + "");
  3828. }
  3829. sqlucomm.append(" from QCM_ORD_DESIGN_MSC_INNERCRAFT a where a.grade_name = '" + grade_name + "' group by a.grade_name ");
  3830. }
  3831. if (lists2.size() == 0 || grade_name.startsWith("LQ")) {
  3832. sqlucomm.append(" union all ");
  3833. sqlucomm.append("select 'False' checkboxs, '放行标准(熔炼)' std_type ");
  3834. for (HashMap list1 : list) {
  3835. sqlucomm.append( " , MAX(decode(chem_code, '" + list1.get("CHEM_CODE") + "', A.STDMIN_SIGN || A.STDMIN || ' ' || A.STDMAX_SIGN || A.STDMAX)) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + "");
  3836. }
  3837. sqlucomm.append(" from QCM_ORD_DESIGN_GRADE_CHEM a where a.grade_desc = '" + grade_name + "' group by a.grade_desc ");
  3838. }
  3839. sqlucomm.append( "union all "
  3840. + " select * from (select case when rownum <= 1 then 'True' else 'False' end checkboxs,s.* from (select b.assay_no ");
  3841. for (HashMap list1 : list) {
  3842. sqlucomm.append( " , max(decode(chem_code,'" + list1.get("CHEM_CODE") + "',(select case when b.chem_value > 0 and b.chem_value < 1 and b.chem_value != 0 then '0' || round(b.chem_value, 7) when b.chem_value > -1 and b.chem_value < 0 and b.chem_value != 0 then '-0' || round(abs(b.chem_value), 7) else '' || round(b.chem_value, 7) end from dual))) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + " ");
  3843. }
  3844. sqlucomm.append( " from qcm_jhy_insp_elements b "
  3845. + " where ASSay_TYPE = 'L' and " + con + " "
  3846. + "group by b.assay_no)s) ");
  3847. return sqlucomm.toString();
  3848. }
  3849. private String getCsqls(String design_key, String con, String type) {
  3850. String queryInfo = "";
  3851. StringBuffer sqlucomm = new StringBuffer();
  3852. sqlucomm.append( "select 'False' checkboxs, case when a.SPECL_FL = '0' then '交付标准' || '(' || a.STD_TYPE_NAME || ')' "
  3853. + " when a.specl_fl = '1' then '特殊要求' || '(' || a.STD_TYPE_NAME || ')' when a.specl_fl = '2' then "
  3854. + " '内控标准' || '(' || a.STD_TYPE_NAME || ')' when a.specl_fl = '3' then '放行标准' || '(' || a.STD_TYPE_NAME || ')' "
  3855. + " end std_type ");
  3856. List<HashMap> list = mapper.query("select * from qcm_base_chem a order by a.dsp_seq asc ");
  3857. for (HashMap list1 : list) {
  3858. sqlucomm.append( " , max(decode(chem_code,'" + list1.get("CHEM_CODE") + "',A.STDMIN_SIGN || A.STDMIN || ' ' || A.STDMAX_SIGN || A.STDMAX)) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + "");
  3859. }
  3860. sqlucomm.append(" from QCM_ORD_DESIGN_STD_CIC a where a.design_key = '" + design_key + "' and std_type_code = '" + type + "' group by a.SPECL_FL, a.STD_TYPE_NAME "
  3861. + " union all "
  3862. + " select * from (select case when rownum <= 1 then 'True' else 'False' end checkboxs,s.* from (select b.assay_no ");
  3863. for (HashMap list1 : list) {
  3864. sqlucomm.append( " , max(decode(chem_code,'" + list1.get("CHEM_CODE") + "',(select case when b.chem_value > 0 and b.chem_value < 1 and b.chem_value != 0 then '0' || round(b.chem_value, 7) when b.chem_value > -1 and b.chem_value < 0 and b.chem_value != 0 then '-0' || round(abs(b.chem_value), 7) else '' || round(b.chem_value, 7) end from dual))) " + (list1.get("CHEM_CODE").equals("As") ? "AS1" : list1.get("CHEM_CODE")) + "");
  3865. }
  3866. sqlucomm.append(" from qcm_jhy_insp_elements b "
  3867. + " where ASSay_TYPE = 'P' and " + con + " "
  3868. + "group by b.assay_no)s) ");
  3869. return sqlucomm.toString();
  3870. }
  3871. public CoreReturnObject GetChemeInfo(String design_key, String smp_no) throws Exception {
  3872. String con = "1=1";
  3873. String sql = "";
  3874. if (smp_no != null && !smp_no.equals("")) {
  3875. con += " and smp_no like '%" + smp_no + "%'";
  3876. }
  3877. try {
  3878. sql = getCsqls(design_key, con, "C");
  3879. @SuppressWarnings("rawtypes")
  3880. List<HashMap> hashmap = mapper.query(sql);
  3881. System.out.print(sql);
  3882. cro.setResult(hashmap);
  3883. } catch (Exception ex) {
  3884. cro.setV_errCode(-1);
  3885. cro.setV_errMsg("查询失败!" + ex.getMessage());
  3886. SqlSession.rollback();
  3887. }
  3888. SqlSession.close();
  3889. return cro;
  3890. }
  3891. public CoreReturnObject GetRChemeInfo(String design_key, String heatno, String grade_name) throws Exception {
  3892. String con = "1=1";
  3893. String sql = "";
  3894. if (heatno != null && !heatno.equals("")) {
  3895. con += " and heat_no = '" + heatno + "'";
  3896. }
  3897. String result = "";
  3898. String[] orderno = design_key.split(",");
  3899. for (String x : orderno) {
  3900. if (result.equals("")) {
  3901. result = "('" + x + "'";
  3902. } else {
  3903. result = result + ",'" + x + "'";
  3904. }
  3905. }
  3906. if (result == "") {
  3907. result = "('')";
  3908. } else {
  3909. result = result + ")";
  3910. }
  3911. try {
  3912. sql = getLgsqls(result, con, "A", grade_name);
  3913. System.out.print(sql);
  3914. @SuppressWarnings("rawtypes")
  3915. List<HashMap> hashmap = mapper.query(sql);
  3916. cro.setResult(hashmap);
  3917. } catch (Exception ex) {
  3918. cro.setV_errCode(-1);
  3919. cro.setV_errMsg("查询失败!" + ex.getMessage());
  3920. SqlSession.rollback();
  3921. }
  3922. SqlSession.close();
  3923. return cro;
  3924. }
  3925. public CoreReturnObject GetSteelChemInfo(String material_no, String prod_name, String prodline, String grade_name) throws Exception {
  3926. List<HashMap> hashmaps = (List<HashMap>) getLgjudgeInfobyMaterial_no1("", "", "('" + material_no + "')", prodline, prod_name, "").getResult();
  3927. if (hashmaps.size() == 0) {
  3928. return cro;
  3929. }
  3930. String con = "1=1";
  3931. String sql = "";
  3932. if (hashmaps.get(0).get("heat_no") != null && !hashmaps.get(0).get("heat_no").equals("")) {
  3933. con += " and heat_no like '%" + hashmaps.get(0).get("heat_no").toString() + "%'";
  3934. }
  3935. String design_key = (hashmaps.get(0).get("desing_key") == null ? "" : hashmaps.get(0).get("desing_key").toString());
  3936. String result = "";
  3937. String[] orderno = design_key.split(",");
  3938. for (String x : orderno) {
  3939. if (result.equals("")) {
  3940. result = "('" + x + "'";
  3941. } else {
  3942. result = result + ",'" + x + "'";
  3943. }
  3944. }
  3945. if (result == "") {
  3946. result = "('')";
  3947. } else {
  3948. result = result + ")";
  3949. }
  3950. try {
  3951. sql = getLgSteelsql(result, con, "A", grade_name);
  3952. @SuppressWarnings("rawtypes")
  3953. List<HashMap> hashmap = mapper.query(sql);
  3954. System.out.print(sql);
  3955. cro.setResult(hashmap);
  3956. } catch (Exception ex) {
  3957. cro.setV_errCode(-1);
  3958. cro.setV_errMsg("查询失败!" + ex.getMessage());
  3959. SqlSession.rollback();
  3960. }
  3961. SqlSession.close();
  3962. return cro;
  3963. }
  3964. public CoreReturnObject GetLgRChemeInfo(String design_key, String heatno, String grade_name) throws Exception {
  3965. String con = "1=1";
  3966. String sql = "";
  3967. if (heatno != null && !heatno.equals("")) {
  3968. con += " and heat_no = '" + heatno + "'";
  3969. }
  3970. String result = "";
  3971. String[] orderno = design_key.split(",");
  3972. for (String x : orderno) {
  3973. if (result.equals("")) {
  3974. result = "('" + x + "'";
  3975. } else {
  3976. result = result + ",'" + x + "'";
  3977. }
  3978. }
  3979. if (result == "") {
  3980. result = "('')";
  3981. } else {
  3982. result = result + ")";
  3983. }
  3984. try {
  3985. sql = getLgsqls(result, con, "A", grade_name);
  3986. @SuppressWarnings("rawtypes")
  3987. List<HashMap> hashmap = mapper.query(sql);
  3988. System.out.print(sql);
  3989. cro.setResult(hashmap);
  3990. } catch (Exception ex) {
  3991. cro.setV_errCode(-1);
  3992. cro.setV_errMsg("查询失败!" + ex.getMessage());
  3993. SqlSession.rollback();
  3994. }
  3995. SqlSession.close();
  3996. return cro;
  3997. }
  3998. /**
  3999. * 获取成品成分判定实绩
  4000. */
  4001. public CoreReturnObject GetChemeResult(String cic) throws Exception {
  4002. List<QcmJudgeChemical> list = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where cic_id = '" + cic + "'");
  4003. if (list.size() == 0) {
  4004. return cro;
  4005. }
  4006. String design_key = list.get(0).getDesign_key();
  4007. String smp_no = list.get(0).getSmp_no();
  4008. String assay_nos = "";
  4009. String assay_no = list.get(0).getAssay_no_cp();
  4010. String con = "1=1";
  4011. String sql = "";
  4012. if (assay_nos != null) {
  4013. String[] orderno = assay_no.split(",");
  4014. for (String x : orderno) {
  4015. if (assay_nos.equals("")) {
  4016. assay_nos = "('" + x + "'";
  4017. } else {
  4018. assay_nos = assay_nos + ",'" + x + "'";
  4019. }
  4020. }
  4021. if (assay_nos == "") {
  4022. assay_nos = "('')";
  4023. } else {
  4024. assay_nos = assay_nos + ")";
  4025. }
  4026. } else {
  4027. assay_nos = "('')";
  4028. }
  4029. con += " and smp_no like '%" + smp_no + "%' and assay_no in " + assay_nos + "";
  4030. try {
  4031. sql = getCsqlss(design_key, con, "C");
  4032. @SuppressWarnings("rawtypes")
  4033. List<HashMap> hashmap = mapper.query(sql);
  4034. cro.setResult(hashmap);
  4035. } catch (Exception ex) {
  4036. cro.setV_errCode(-1);
  4037. cro.setV_errMsg("查询失败!" + ex.getMessage());
  4038. SqlSession.rollback();
  4039. }
  4040. SqlSession.close();
  4041. return cro;
  4042. }
  4043. public CoreReturnObject GetChemeOrd(String Cic_id){
  4044. String sql = "select * from qcm_judge_chemical t where t.cic_id like '"+Cic_id+"'";
  4045. try {
  4046. System.out.print(sql);
  4047. List<HashMap> list = mapper.query(sql);
  4048. cro.setResult(list.get(0).get("DESIGN_KEY"));
  4049. } catch (Exception ex) {
  4050. ex.printStackTrace();
  4051. cro.setV_errCode(-1);
  4052. cro.setV_errMsg("查询失败!" + ex.getMessage());
  4053. }
  4054. SqlSession.close();
  4055. return cro;
  4056. }
  4057. /**
  4058. * 根据成分判定ID获取订单号、板坯号,再根据板坯号和订单号查询成分判定实绩
  4059. */
  4060. public CoreReturnObject GetChemeResultN(String cic,String slab_no) throws Exception {
  4061. List<QcmJudgeChemical> list = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where cic_id = '" + cic + "'");
  4062. if (list.size() == 0) {
  4063. return cro;
  4064. }
  4065. String design_key = list.get(0).getDesign_key();
  4066. String sql = "SELECT DECODE(SEQ.COMP_YN, 'Y', SEQ.COMP_CAL, SEQ.CHEM_CD) CHEM_CD,\r\n" +
  4067. " OI.CHEM_MIN,\r\n" +
  4068. " OI.CHEM_MAX,\r\n" +
  4069. " INGR.CHEM_VAL\r\n" +
  4070. " FROM TBB01_ORD_INGR OI, TBB02_WORK_INGR INGR, TBB01_SEQ_INGR SEQ\r\n" +
  4071. " WHERE OI.CHEM_CD = SEQ.CHEM_CD\r\n" +
  4072. " AND OI.CHEM_CD = INGR.CHEM_CD(+)\r\n" +
  4073. " AND OI.DSN_KIND = '2'\r\n" +
  4074. " AND INGR.CHARGE_NO(+) = SUBSTR('"+slab_no+"', 1, 10)\r\n" +
  4075. " AND INGR.CHEM_SEQ(+) =\r\n" +
  4076. " ZL_HOST_DCS01.FIB020_LST_INGR(SUBSTR('"+slab_no+"', 1, 10))\r\n" +
  4077. " AND INGR.PROC_CD(+) = 'JJ'\r\n" +
  4078. " AND OI.ORD_NO||OI.ORD_SEQ = '"+design_key+"'\r\n" +
  4079. " ORDER BY SEQ.COMP_YN, SEQ.DISPLAY_SEQ\r\n" +
  4080. "";
  4081. try {
  4082. @SuppressWarnings("rawtypes")
  4083. List<HashMap> hashmap = mapper.query(sql);
  4084. cro.setResult(hashmap);
  4085. } catch (Exception ex) {
  4086. cro.setV_errCode(-1);
  4087. cro.setV_errMsg("成分查询失败!" + ex.getMessage());
  4088. SqlSession.rollback();
  4089. }
  4090. SqlSession.close();
  4091. return cro;
  4092. }
  4093. /**
  4094. * 获取熔炼成分判定实绩
  4095. */
  4096. public CoreReturnObject GetRChemeResult(String cic) throws Exception {
  4097. List<QcmJudgeChemical> list = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where cic_id = '" + cic + "'");
  4098. if (list.size() == 0) {
  4099. return cro;
  4100. }
  4101. String design_key = list.get(0).getDesign_key();
  4102. String heat_no = list.get(0).getHeat_no();
  4103. String grade_name = list.get(0).getGrade_name() == null?"":list.get(0).getGrade_name().toString();
  4104. String con = "1=1";
  4105. String sql = "";
  4106. String result = "";
  4107. String assay_nos = "";
  4108. String assay_no = list.get(0).getAssay_no_rl();
  4109. if (design_key == null) {
  4110. result = "('')";
  4111. } else {
  4112. String[] orderno = design_key.split(",");
  4113. for (String x : orderno) {
  4114. if (result.equals("")) {
  4115. result = "('" + x + "'";
  4116. } else {
  4117. result = result + ",'" + x + "'";
  4118. }
  4119. }
  4120. if (result == "") {
  4121. result = "('')";
  4122. } else {
  4123. result = result + ")";
  4124. }
  4125. }
  4126. if (assay_nos != null) {
  4127. String[] orderno = assay_no.split(",");
  4128. for (String x : orderno) {
  4129. if (assay_nos.equals("")) {
  4130. assay_nos = "('" + x + "'";
  4131. } else {
  4132. assay_nos = assay_nos + ",'" + x + "'";
  4133. }
  4134. }
  4135. if (assay_nos == "") {
  4136. assay_nos = "('')";
  4137. } else {
  4138. assay_nos = assay_nos + ")";
  4139. }
  4140. } else {
  4141. assay_nos = "('')";
  4142. }
  4143. con += " and heat_no = '" + heat_no + "' and assay_no in " + assay_nos + "";
  4144. try {
  4145. sql = getLgsqlss(result, con, "A", grade_name);
  4146. @SuppressWarnings("rawtypes")
  4147. List<HashMap> hashmap = mapper.query(sql);
  4148. cro.setResult(hashmap);
  4149. } catch (Exception ex) {
  4150. cro.setV_errCode(-1);
  4151. cro.setV_errMsg("查询失败!" + ex.getMessage());
  4152. SqlSession.rollback();
  4153. }
  4154. SqlSession.close();
  4155. return cro;
  4156. }
  4157. /**
  4158. * 获取熔炼成分判定实绩 电弧炉
  4159. */
  4160. public CoreReturnObject GetRChemeResultDHL(HashMap parmas) throws Exception {
  4161. String design_key = parmas.get("DESIGN_KEY").toString();
  4162. String heat_no = parmas.get("HEAT_NO").toString();
  4163. String grade_name = parmas.get("STEEL_NAME").toString();
  4164. String con = "1=1";
  4165. String sql = "";
  4166. String result = "";
  4167. String assay_nos = "";
  4168. if (design_key == null) {
  4169. result = "('')";
  4170. } else {
  4171. result = "('"+design_key+"')";
  4172. }
  4173. con += " and heat_no = '" + heat_no + "' ";
  4174. try {
  4175. sql = getLgsqlss(result, con, "A", grade_name);
  4176. @SuppressWarnings("rawtypes")
  4177. List<HashMap> hashmap = mapper.query(sql);
  4178. cro.setResult(hashmap);
  4179. } catch (Exception ex) {
  4180. cro.setV_errCode(-1);
  4181. cro.setV_errMsg("查询失败!" + ex.getMessage());
  4182. SqlSession.rollback();
  4183. }
  4184. SqlSession.close();
  4185. return cro;
  4186. }
  4187. /**
  4188. * 获取熔炼成分判定实绩 优特
  4189. */
  4190. public CoreReturnObject GetRChemeResultYT(HashMap parmas) throws Exception {
  4191. try {
  4192. String CIC_ID = parmas.get("CIC_ID").toString();
  4193. String DESIGN_KEY = parmas.get("DESIGN_KEY").toString();
  4194. String HEAT_NO = parmas.get("HEAT_NO").toString();
  4195. String sql = " select D.CHEM_CODE,D.STDMIN,D.STDMAX,E.CHEM_VALUE from qcm_ord_design_std_cic d,qcm_judge_chemical c,qcm_jhy_insp_elements e "
  4196. +" where d.design_key = c.design_key "
  4197. +" and c.assay_no_rl = e.assay_no "
  4198. +" and c.heat_no = e.heat_no "
  4199. +" and d.chem_code = e.chem_code "
  4200. +" and d.std_type_code = 'A' "
  4201. +" and d.specl_fl = '3' "
  4202. +" and c.Pline_Code = 'YT1' "
  4203. +" and d.design_key = '"+DESIGN_KEY+"' "
  4204. +" and c.heat_no = '"+HEAT_NO+"' "
  4205. +" and e.heat_no = '"+HEAT_NO+"' "
  4206. +" and c.cic_id = '"+CIC_ID+"' "
  4207. +" order by d.INDEX_SEQ ";
  4208. @SuppressWarnings("rawtypes")
  4209. List<HashMap> hashmap = mapper.query(sql);
  4210. cro.setResult(hashmap);
  4211. } catch (Exception ex) {
  4212. cro.setV_errCode(-1);
  4213. cro.setV_errMsg("查询失败!" + ex.getMessage());
  4214. SqlSession.rollback();
  4215. }
  4216. SqlSession.close();
  4217. return cro;
  4218. }
  4219. /**
  4220. * 获取材质判定实绩 优特
  4221. */
  4222. public CoreReturnObject GetPChemeResultYT(HashMap parmas) throws Exception {
  4223. try {
  4224. String PHYSID = parmas.get("PHYSID").toString();
  4225. String DESIGN_KEY = parmas.get("DESIGN_KEY").toString();
  4226. String HEAT_NO = parmas.get("HEAT_NO").toString();
  4227. String sql = " select M.PHY_NAME_S,D.SMP_TYPE_NAME,M.STDMIN,M.STDMAX,M.PHY_CODE_S,R.VAL1,R.VAL2,R.VAL3,R.AVG_VAL,R.IS_PASS "
  4228. +" from qcm_judge_physical_utm_d t,qcm_judge_physical_result r,QCM_ORD_DESIGN_SAMPLE_M m, "
  4229. +" qcm_jhy_sample_r_ord o,qcm_jhy_sample_consign_d d "
  4230. +" where t.phy_id = r.phy_id "
  4231. +" and t.smp_no = r.smp_no "
  4232. +" and t.batch_no = r.batch_no "
  4233. +" and t.Design_Key = m.design_key "
  4234. +" and t.phy_id = o.phy_id "
  4235. +" and r.phy_id = o.phy_id "
  4236. +" and o.smp_no = d.smp_no "
  4237. +" and t.smp_no = d.smp_no "
  4238. +" and r.smp_no = d.smp_no "
  4239. +" and o.design_key = m.design_key "
  4240. +" and r.Phy_Code_s = m.phy_code_s "
  4241. +" and t.pic_id = '"+PHYSID+"' "
  4242. +" group by m.Phy_Name_s,d.smp_type_name,m.STDMIN,m.Stdmax,m.Phy_Code_s,r.Val1,r.val2,r.val3,r.avg_val,r.is_pass ";
  4243. @SuppressWarnings("rawtypes")
  4244. List<HashMap> hashmap = mapper.query(sql);
  4245. cro.setResult(hashmap);
  4246. } catch (Exception ex) {
  4247. cro.setV_errCode(-1);
  4248. cro.setV_errMsg("查询失败!" + ex.getMessage());
  4249. SqlSession.rollback();
  4250. }
  4251. SqlSession.close();
  4252. return cro;
  4253. }
  4254. /**
  4255. * 获取公差表面包装切边重量等 优特
  4256. */
  4257. public CoreReturnObject GetXChemeResultYT(HashMap parmas) throws Exception {
  4258. try {
  4259. String SIZEID = parmas.get("SIZEID").toString();
  4260. String SURFACEID = parmas.get("SURFACEID").toString();
  4261. //String DESIGN_KEY = parmas.get("DESIGN_KEY").toString();
  4262. //String HEAT_NO = parmas.get("HEAT_NO").toString();
  4263. String MATERIAL_NO = parmas.get("MATERIAL_NO").toString();
  4264. String sql = " select '包装' t_name,'' t_min,'' t_max, t.PK_RLT_DESC T_VALUE,'' T_VALUE1,'' RMK from MES_PACK_RESULT@LINK_YTG t "
  4265. +" where t.COIL_NO = '"+MATERIAL_NO+"' UNION ALL "
  4266. +" select s.bias_name t_name,s.std_result_min t_min,s.std_result_max t_max,d.Judge_Val T_VALUE, "
  4267. +" (select PASS_EXIT_THICK from MES_RCM_D_PASS@link_ytg where COIL_NO =t.material_no and rownum = 1) T_VALUE1,'' RMK "
  4268. +" from qcm_judge_measure t, QCM_ORD_DESIGN_STD_SIC s, qcm_judge_measure_d d "
  4269. +" where t.sic_id = d.sic_id and t.design_key = s.design_key and s.bias_code = d.sic_item_code "
  4270. +" and s.use_code = 'YT1' and t.Sic_Id = '"+SIZEID+"' union ALL "
  4271. +" select t.FLAW_DESC t_name, "
  4272. +" case when FLAW_AREA = 'U' THEN '上表面' when FLAW_AREA = 'D' THEN '下表面' WHEN FLAW_AREA = 'U' THEN '边部' ELSE '' end t_min, "
  4273. +" '' t_max, case when IS_REPAIR = '0' or IS_REPAIR = '待修复' then '待修复' when IS_REPAIR = '2' or IS_REPAIR = '未冷矫' then "
  4274. +" '未冷矫' when IS_REPAIR = '3' or IS_REPAIR = '已冷矫' then '已冷矫' else '已修复' end T_VALUE ,'' T_VALUE1,memo RMK "
  4275. +" from QCM_JUDGE_SURFACE_FLAW t where t.SURFACE_ID = '"+SURFACEID+"' UNION ALL "
  4276. +" SELECT '内径' t_name,'' t_min,'' t_max,TO_CHAR(t.DIAMETER_INN) T_VALUE,'' T_VALUE1,'' RMK FROM YDM_PRODUCT_DETAIL@LINK_YTG t "
  4277. +" WHERE T.COILNO = '"+MATERIAL_NO+"' union all "
  4278. +" SELECT '切边' t_name,'' t_min,'' t_max,decode(soi.IS_SIDE_CUTE,'0','否','1','是','否') T_VALUE,'' T_VALUE1,'' RMK "
  4279. +" FROM SLM_ORDER_INFO@LINK_YTG soi,YDM_PRODUCT_DETAIL@LINK_YTG t WHERE soi.CONTRACT_NO || soi.CONTRACT_LINE_SEQ || soi.ORDER_SEQ = t.ORDERNO "
  4280. +" AND t.COILNO = '"+MATERIAL_NO+"' union all "
  4281. +" select '外观' t_name,LEVEL_DESC t_min,'' t_max,sur.LEVEL_DESC T_VALUE,LEVEL_DESC T_VALUE1,'' RMK from QCM_JUDGE_SURFACE@LINK_YTG sur "
  4282. +" where sur.MATERIAL_NO = '"+MATERIAL_NO+"' union all "
  4283. +" SELECT '重量' t_name ,'' t_min,'' t_max,TO_CHAR(t.FACTWEIGHT) T_VALUE,'' T_VALUE1,'' RMK FROM YDM_PRODUCT_DETAIL@LINK_YTG t "
  4284. +" WHERE T.COILNO = '"+MATERIAL_NO+"' ";
  4285. @SuppressWarnings("rawtypes")
  4286. List<HashMap> hashmap = mapper.query(sql);
  4287. cro.setResult(hashmap);
  4288. } catch (Exception ex) {
  4289. cro.setV_errCode(-1);
  4290. cro.setV_errMsg("查询失败!" + ex.getMessage());
  4291. SqlSession.rollback();
  4292. }
  4293. SqlSession.close();
  4294. return cro;
  4295. }
  4296. public CoreReturnObject GetElement(String begintime,String endtime,String heat_no){
  4297. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) {
  4298. String sky=StrSky(begintime,endtime);
  4299. if(sky.equals("FALSE")){
  4300. SqlSession.close();
  4301. cro.setV_errCode(-1);
  4302. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  4303. return cro;
  4304. }
  4305. }
  4306. String con = "1=1";
  4307. if(!SqlJoint.IsNullOrSpace(heat_no)){
  4308. con += " and heat_no = '"+heat_no+"'";
  4309. }
  4310. if(!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)){
  4311. con += " and to_date(to_char(create_time,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('" + begintime + "','yyyy-mm-dd') and to_date('" + endtime + "','yyyy-mm-dd')";
  4312. }
  4313. try {
  4314. String sql = getElement(con);
  4315. @SuppressWarnings("rawtypes")
  4316. List<HashMap> hashmap = mapper.query(sql);
  4317. System.out.print(sql);
  4318. cro.setResult(hashmap);
  4319. } catch (Exception ex) {
  4320. cro.setV_errCode(-1);
  4321. cro.setV_errMsg("查询失败!" + ex.getMessage());
  4322. SqlSession.rollback();
  4323. }
  4324. SqlSession.close();
  4325. return cro;
  4326. }
  4327. /**
  4328. * 成分修改H和O
  4329. * 1、校验能否进行修改
  4330. * 2、新增日志记录
  4331. */
  4332. @SuppressWarnings("unchecked")
  4333. public CoreReturnObject UpdateChemeInfo1(ArrayList list)throws Exception {
  4334. String result = "";
  4335. try {
  4336. if(CollectionUtils.isEmpty(list) || list.size() != 5) {
  4337. throw new Exception("请输入需要正确的成分信息!");
  4338. }
  4339. String prod_line = list.get(2).toString();
  4340. //1、校验能否进行修改
  4341. JSONArray ttmaps = new JSONArray();
  4342. JSONObject jsobj1 = new JSONObject();
  4343. jsobj1.put("ASSAYNO",list.get(0).toString());
  4344. if(!list.get(1).toString().equals("")){
  4345. jsobj1.put("H",list.get(1).toString());
  4346. }
  4347. if(!list.get(2).toString().equals("")){
  4348. jsobj1.put("O",list.get(2).toString());
  4349. }
  4350. jsobj1.put("OPTMAN",list.get(3).toString());
  4351. ttmaps.add(jsobj1);
  4352. String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl";
  4353. result = callWebserviceASMX(url,"doChemUpdate",JSON.toJSONString(jsobj1));
  4354. JSONObject jo = JSONObject.parseObject(result);
  4355. if(!"0".equals(jo.get("code").toString())){
  4356. throw new Exception(jo.get("message").toString());
  4357. }
  4358. //2、修改成分实绩信息表炉号和检验号
  4359. QcmJhyElementsEditLog qcmJhyElementsEditLog = new QcmJhyElementsEditLog();
  4360. qcmJhyElementsEditLog.setB_assay_no(list.get(0).toString());
  4361. qcmJhyElementsEditLog.setH(list.get(1).toString());
  4362. qcmJhyElementsEditLog.setO(list.get(2).toString());
  4363. qcmJhyElementsEditLog.setCreate_name(list.get(3).toString());
  4364. //3、新增日志记录
  4365. mapper.insertQcmJhyElementsEditLog(qcmJhyElementsEditLog);
  4366. //4轧钢熔炼成分自动判定
  4367. String sql = "select * from qcm_judge_locking a where a.heat_no = '"+list.get(4).toString()+"' and a.lock_type_code = 'C' AND A.UNLOCK_TYPE_CODE IS NULL AND A.PLINE_CODE IN ('ZB1','HB1') AND A.LOCK_ID LIKE 'R%'";
  4368. List<QCMJudgeLocking> qcj = mapper.queryQCMJudgeLockings(sql);
  4369. for(QCMJudgeLocking qjl :qcj){
  4370. qjl.setUnlock_type_code("9");
  4371. qjl.setUnlock_type_desc("解除");
  4372. qjl.setUnlock_memo("成分信息修改");
  4373. qjl.setLock_type_code("C");
  4374. qjl.setUnlock_name(list.get(3).toString());
  4375. mapper.UpdateQcmJudgeLocking3(qjl);
  4376. ZjResultAll zra = new ZjResultAll();
  4377. zra.setBilletid(qjl.getMaterial_no().toString());
  4378. zra.setR_cic_is_lock("0");
  4379. zra.setR_chemid("");
  4380. zra.setR_chemresult("0");
  4381. zra.setR_chemresult_desc("");
  4382. mapper.UpdateJugeResultB(zra);
  4383. //自动判定
  4384. QcmJudgeLog qjlt = new QcmJudgeLog();
  4385. qjlt.setJudge_type("R");
  4386. qjlt.setMaterial_no(qjl.getMaterial_no().toString());
  4387. qjlt.setCreate_name("system");
  4388. qjlt.setProd_line(qjl.getPline_code());
  4389. mapper.insertQcmJudgeLog(qjlt);
  4390. }
  4391. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  4392. qjog.setOperate_name(list.get(3).toString());
  4393. qjog.setOperate_type("成分修改");
  4394. qjog.setParams(list.get(0).toString());
  4395. qjog.setMemo(result);
  4396. mapper.insertQcmJudgeOperateLog(qjog);
  4397. SqlSession.commit();
  4398. cro.setV_errCode(1);
  4399. } catch (Exception ex) {
  4400. SqlSession.rollback();
  4401. SqlSession.close();
  4402. SqlSession =
  4403. QCM.COMMUNAL.SqlSessionBuilder.openSqlSession();
  4404. mapper = SqlSession.getMapper(QCM.COMMUNAL.OrderSqMapper.class);
  4405. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  4406. qjog.setOperate_name(list.get(3).toString());
  4407. qjog.setOperate_type("成分修改");
  4408. qjog.setParams(list.get(0).toString());
  4409. qjog.setMemo(result);
  4410. mapper.insertQcmJudgeOperateLog(qjog);
  4411. SqlSession.commit();
  4412. cro.setV_errCode(-1);
  4413. cro.setV_errMsg("成分信息修改失败!" + ex.getMessage());
  4414. logger.info(new Date().toString()+ "QCM.QCM03.QCM0301.QcmJhyElementsServiceImpl.UpdateChemeInfo:【" + list.toString() + "】" + ex);
  4415. }
  4416. SqlSession.close();
  4417. return cro;
  4418. }
  4419. /**
  4420. * 成分修改炉号和化验号
  4421. * 1、校验能否进行修改
  4422. * 2、修改成分实绩信息表炉号和检验号
  4423. * 3、新增日志记录
  4424. */
  4425. @SuppressWarnings("unchecked")
  4426. public CoreReturnObject UpdateChemeInfo(ArrayList list)throws Exception {
  4427. try {
  4428. if(CollectionUtils.isEmpty(list) || list.size() != 6) {
  4429. throw new Exception("请输入需要正确的炉号和化验号信息!");
  4430. }
  4431. String prod_line = list.get(2).toString();
  4432. //1、校验能否进行修改
  4433. if(list.get(2).toString().equals("LG1")){
  4434. prod_line = "4001LG0";
  4435. }else if(list.get(2).toString().equals("LG2")){
  4436. prod_line = "4001LGX";
  4437. }
  4438. JSONArray ttmaps = new JSONArray();
  4439. JSONObject jsobj1 = new JSONObject();
  4440. jsobj1.put("HEAT_NO",list.get(0).toString());
  4441. jsobj1.put("ASSAYNO",list.get(1).toString());
  4442. jsobj1.put("PROD_LINE",prod_line);
  4443. ttmaps.add(jsobj1);
  4444. String url = "http://10.70.0.237:9000/LgdoChemJudgeService?wsdl";
  4445. String result = callWebserviceASMX(url,"GetIsJudgeInfo",JSON.toJSONString(jsobj1));
  4446. JSONObject jo = JSONObject.parseObject(result);
  4447. if(!"0".equals(jo.get("count").toString())){
  4448. throw new Exception("不能进行修改,成分已经被用来判定!");
  4449. }
  4450. //2、修改成分实绩信息表炉号和检验号
  4451. QcmJhyElementsEditLog qcmJhyElementsEditLog = new QcmJhyElementsEditLog();
  4452. qcmJhyElementsEditLog.setB_heat_no(list.get(0).toString());
  4453. qcmJhyElementsEditLog.setB_assay_no(list.get(1).toString());
  4454. qcmJhyElementsEditLog.setPline_code(list.get(2).toString());
  4455. qcmJhyElementsEditLog.setA_heat_no(list.get(3).toString());
  4456. qcmJhyElementsEditLog.setA_assay_no(list.get(4).toString());
  4457. qcmJhyElementsEditLog.setCreate_name(list.get(5).toString());
  4458. mapper.updateQcmJhyInspElements(qcmJhyElementsEditLog);
  4459. //3、新增日志记录
  4460. mapper.insertQcmJhyElementsEditLog(qcmJhyElementsEditLog);
  4461. SqlSession.commit();
  4462. cro.setV_errCode(1);
  4463. } catch (Exception ex) {
  4464. SqlSession.rollback();
  4465. cro.setV_errCode(-1);
  4466. cro.setV_errMsg("成分修改炉号和化验号失败!" + ex.getMessage());
  4467. logger.info(new Date().toString()+ "QCM.QCM03.QCM0301.QcmJhyElementsServiceImpl.UpdateChemeInfo:【" + list.toString() + "】" + ex);
  4468. }
  4469. SqlSession.close();
  4470. return cro;
  4471. }
  4472. public CoreReturnObject GetLgRChemeResult(String cic) throws Exception {
  4473. if (cic.equals("")) {
  4474. return cro;
  4475. }
  4476. List<QcmJudgeChemical> list = mapper.queryQcmJudgeChemical("select * from qcm_judge_chemical where cic_id = '" + cic + "'");
  4477. if (list.size() == 0) {
  4478. return cro;
  4479. }
  4480. String result = "";
  4481. String assay_nos = "";
  4482. String design_key = list.get(0).getDesign_key();
  4483. String assay_no = list.get(0).getAssay_no_rl();
  4484. if (design_key != null) {
  4485. String[] orderno = design_key.split(",");
  4486. for (String x : orderno) {
  4487. if (result.equals("")) {
  4488. result = "('" + x + "'";
  4489. } else {
  4490. result = result + ",'" + x + "'";
  4491. }
  4492. }
  4493. if (result == "") {
  4494. result = "('')";
  4495. } else {
  4496. result = result + ")";
  4497. }
  4498. } else {
  4499. result = "('')";
  4500. }
  4501. if (assay_nos != null) {
  4502. String[] orderno = assay_no.split(",");
  4503. for (String x : orderno) {
  4504. if (assay_nos.equals("")) {
  4505. assay_nos = "('" + x + "'";
  4506. } else {
  4507. assay_nos = assay_nos + ",'" + x + "'";
  4508. }
  4509. }
  4510. if (assay_nos == "") {
  4511. assay_nos = "('')";
  4512. } else {
  4513. assay_nos = assay_nos + ")";
  4514. }
  4515. } else {
  4516. assay_nos = "('')";
  4517. }
  4518. String heat_no = list.get(0).getHeat_no();
  4519. String grade_name = list.get(0).getGrade_name();
  4520. String con = "1=1";
  4521. String sql = "";
  4522. con += " and heat_no = '" + heat_no + "'";// and assay_no in " + assay_nos + "";
  4523. try {
  4524. sql = getLgsqlss(result, con, "A", grade_name);
  4525. @SuppressWarnings("rawtypes")
  4526. List<HashMap> hashmap = mapper.query(sql);
  4527. System.out.print(sql);
  4528. cro.setResult(hashmap);
  4529. cro.setV_errMsg(assay_nos);
  4530. } catch (Exception ex) {
  4531. cro.setV_errCode(-1);
  4532. cro.setV_errMsg("查询失败!" + ex.getMessage());
  4533. SqlSession.rollback();
  4534. }
  4535. SqlSession.close();
  4536. return cro;
  4537. }
  4538. /**
  4539. * 获取成分异常元素
  4540. */
  4541. public CoreReturnObject GetCheme(String cic) throws Exception {
  4542. try {
  4543. List<QcmJudgeUltimateReason> list = mapper.queryQcmJudgeUltimateReason("select * from QCM_JUDGE_ULTIMATE_REASON where RECORD_ID = '" + cic + "'");
  4544. cro.setResult(list);
  4545. } catch (Exception ex) {
  4546. cro.setV_errCode(-1);
  4547. cro.setV_errMsg("查询失败!" + ex.getMessage());
  4548. SqlSession.rollback();
  4549. }
  4550. SqlSession.close();
  4551. return cro;
  4552. }
  4553. @SuppressWarnings("rawtypes")
  4554. public CoreReturnObject findFlawData(){
  4555. try {
  4556. String sql ="";
  4557. sql = "SELECT * FROM SCM_BASE_INFO T WHERE T.SORT_CODE = '4124' AND T.ID_ LIKE '4124LG0%'"
  4558. + " AND T.ID_ NOT IN ('4124LG0Z44', '4124LG0Z01')";
  4559. List<HashMap> list = mapper.query(sql);
  4560. cro.setResult(list);
  4561. } catch (Exception e) {
  4562. cro.setV_errCode(-1);
  4563. cro.setV_errMsg("获取缺陷代码失败" + e.getMessage());
  4564. logger.info(e.getMessage());
  4565. SqlSession.rollback();
  4566. }
  4567. SqlSession.close();
  4568. return cro;
  4569. }
  4570. @SuppressWarnings("rawtypes")
  4571. public CoreReturnObject findMemo(){
  4572. try {
  4573. String sql ="";
  4574. sql = "SELECT * FROM SCM_BASE_INFO T WHERE T.SORT_CODE = '4130' ";
  4575. List<HashMap> list = mapper.query(sql);
  4576. cro.setResult(list);
  4577. } catch (Exception e) {
  4578. cro.setV_errCode(-1);
  4579. cro.setV_errMsg("获取备注代码失败" + e.getMessage());
  4580. logger.info(e.getMessage());
  4581. SqlSession.rollback();
  4582. }
  4583. SqlSession.close();
  4584. return cro;
  4585. }
  4586. /*
  4587. * @desc coiljudge_status_call
  4588. * @param pline 产线'RZ1' 'SZ1' 'LT1'
  4589. * @param pcoilno 钢卷号
  4590. * @param chemrs 成分判定结果 '1'合格 '2'不合格
  4591. * @param qltyrs 材质判定结果 '1'合格 '2'不合格
  4592. * @param sizers 尺寸判定结果 '1'合格 '2'不合格
  4593. * @param exshrs 外观判定结果 '1'合格 '2'不合格,'3'次品 '4'废品
  4594. * @param totrs 综合判定
  4595. * @param fb_yn 是否封闭
  4596. * @param fb_reason 封闭原因
  4597. * @return void
  4598. *
  4599. * @date 2022/8/24 17:22
  4600. * @author Ljy
  4601. */
  4602. public void coiljudge_status_call(
  4603. String pline
  4604. , String pcoilno
  4605. , String chemrs
  4606. , String qltyrs
  4607. , String sizers
  4608. , String exshrs
  4609. , String totrs
  4610. , String fb_yn
  4611. , String fb_reason,String sf_lv) throws java.lang.Exception {
  4612. Connection conn = null;
  4613. CallableStatement cstmt = null;
  4614. ResultSet rs = null;
  4615. try {
  4616. conn = SqlSession.getConnection();
  4617. String callSql = "{call COILJUDGE_STATUSNEW(?,?,?,?,?,?,?,?,?,?,?,?) }";
  4618. cstmt = conn.prepareCall(callSql);
  4619. cstmt.setString(1, StringUtils.isBlank(pline) ? "" : pline);
  4620. cstmt.setString(2, StringUtils.isBlank(pcoilno) ? "" : pcoilno);
  4621. cstmt.setString(3, StringUtils.isBlank(chemrs) ? "" : chemrs);
  4622. cstmt.setString(4, StringUtils.isBlank(qltyrs) ? "" : qltyrs);
  4623. cstmt.setString(5, StringUtils.isBlank(sizers) ? "" : sizers);
  4624. cstmt.setString(6, StringUtils.isBlank(exshrs) ? "" : exshrs);
  4625. cstmt.setString(7, StringUtils.isBlank(totrs) ? "" : totrs);
  4626. cstmt.setString(8, StringUtils.isBlank(fb_yn) ? "" : fb_yn);
  4627. cstmt.setString(9, StringUtils.isBlank(fb_reason) ? "" : fb_reason);
  4628. cstmt.setString(10, StringUtils.isBlank(sf_lv) ? "" : sf_lv);
  4629. cstmt.registerOutParameter(11, java.sql.Types.INTEGER);
  4630. cstmt.registerOutParameter(12, java.sql.Types.VARCHAR);
  4631. cstmt.execute();
  4632. if(cstmt.getString(11) != null){
  4633. if(cstmt.getString(11).equals("2")){
  4634. throw new java.lang.Exception(cstmt.getString(12).toString());
  4635. }
  4636. }
  4637. } catch (Exception e) {
  4638. throw new Exception(e.getMessage());
  4639. } finally {
  4640. try {
  4641. if (rs != null) {
  4642. rs.close();
  4643. }
  4644. } catch (Exception e) {
  4645. throw new Exception(e.getMessage());
  4646. }
  4647. try {
  4648. if (cstmt != null) {
  4649. cstmt.close();
  4650. }
  4651. } catch (Exception e) {
  4652. throw new Exception(e.getMessage());
  4653. }
  4654. }
  4655. }
  4656. }