| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893 |
- package QCM.JHY01.JHY0102;
- import CoreFS.SA01.CoreIComponent;
- import CoreFS.SA06.CoreReturnObject;
- import QCM.COMMUNAL.VO.QcmJudgeOperateLog;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import org.apache.commons.lang.StringUtils;
- import org.apache.ibatis.session.SqlSession;
- import org.apache.log4j.Logger;
- import java.io.*;
- import java.math.BigDecimal;
- import java.net.HttpURLConnection;
- import java.net.URL;
- import java.net.URLEncoder;
- import java.sql.CallableStatement;
- import java.sql.Connection;
- import java.sql.SQLException;
- import java.text.SimpleDateFormat;
- import java.util.*;
- public class Send2 extends CoreIComponent{
-
- private Logger logger = Logger.getLogger(this.getClass().getName());
-
- CoreReturnObject cro = new CoreReturnObject();
-
- SqlSession SqlSession =
- QCM.COMMUNAL.SqlSessionBuilder.openSqlSession();
- QCM.COMMUNAL.OrderSqMapper mapper = SqlSession.getMapper(QCM.COMMUNAL.OrderSqMapper.class);
-
-
-
-
- /**
- * 撤销委托接口
- * @param Entrust
- * @return
- */
- public CoreReturnObject CancelLIMES(String Entrust,String UserName,String zhyy){
- try {
- JSONArray arr = new JSONArray();
- String[] ja=Entrust.split(",");
- String msInfo="";
- String resultlist ="";
- TreeSet<String> treeSet = new TreeSet<String>();
- if (ja!=null && ja.length>0) {
-
- for (int i = 0; i < ja.length; i++) {
- String sp = ja[i];
- treeSet.add(sp);
- JSONObject obj = new JSONObject();
- obj.put("id",sp);
- arr.add(obj);
- if ("".equals(msInfo)) {
-
- msInfo="'"+sp+"'";
- }else{
- msInfo=msInfo+"'"+sp+"'";
- }
-
- if (i !=ja.length-1) {
- msInfo=msInfo+",";
- }
-
-
- }
-
- }
-
- //循环每个取样编号是否已判定
- for (String trs : treeSet) {
- //判断是否是夹杂初样
- String sqltrs = "SELECT d.* from QCM_JHY_SAMPLE_CONSIGN_D d WHERE d.SPECIMEN_NO='"+trs+"' and FREQ_CODE='D' and SMP_TYPE_CODE='0' ";
- List<HashMap> hmDD = mapper.query(sqltrs.toString());
- String QuerySql="";
- String intstrd="0";
- if(hmDD!=null && hmDD.size()>=1){
- QuerySql="SELECT count(1) CNUM from QCM_JHY_SAMPLE_R_ORD t where t.JUDGE_STATUS <> '0' and "
- + " t.SMP_NO in (SELECT d.SMP_NO from QCM_JHY_SAMPLE_CONSIGN_D d WHERE d.SPECIMEN_NO='"+trs+"' "
- + " union all select d.SMP_NO from QCM_JHY_SAMPLE_CONSIGN_D d where d.Quote_Consign_No = '"+trs+"') ";
- intstrd="1";
- }else{
- QuerySql="SELECT count(1) CNUM from QCM_JHY_SAMPLE_R_ORD t where t.JUDGE_STATUS <> '0' and t.JUDGE_RESULT_CODE is not null and "
- + " t.SMP_NO=(SELECT d.SMP_NO from QCM_JHY_SAMPLE_CONSIGN_D d WHERE d.SPECIMEN_NO='"+trs+"')";
- }
- List<HashMap> hashMaplist2 = mapper.query(QuerySql.toString());
- BigDecimal cou2 = (BigDecimal) hashMaplist2.get(0).get("CNUM");
- String coun2 = cou2.toString();
- Integer integ2 = Integer.parseInt(coun2);
-
- if(integ2 >= 1){
- if("1".equals(intstrd)){
- cro.setV_errCode(-1);
- cro.setV_errMsg("当前炉已有夹杂材质已判定,不可撤销,请核实数据!");
- return cro;
- }else{
- cro.setV_errCode(-1);
- cro.setV_errMsg("取样编号【"+trs+"】材质已判定,不可撤销,请核实数据!");
- return cro;
- }
- }
-
- //判断中厚板预测轧批
- String sqlzbh = "SELECT d.* from QCM_JHY_SAMPLE_CONSIGN_D d WHERE d.SPECIMEN_NO='"+trs+"' and d.PLINE_CODE in ('ZB1','HB1') and SHOULD_SAMPLE is not null ";
- List<HashMap> hmzbh = mapper.query(sqlzbh.toString());
- if(hmzbh!=null && hmzbh.size()>=1){
- HashMap obj=hmzbh.get(0);
- if(("0".equals(obj.get("SHOULD_SAMPLE")) || "2".equals(obj.get("SHOULD_SAMPLE"))) && obj.get("SMP_TYPE_CODE").equals("0")){
- cro.setV_errCode(-1);
- cro.setV_errMsg("当前勾选的轧批【"+obj.get("BATCH_NO")+"】是预测抽样!请正确操作按钮");
- return cro;
- }
- }
-
-
- //夹杂引用轧批不可撤销
- String QuerySql2=" SELECT d.* from QCM_JHY_SAMPLE_CONSIGN_D d "
- + " WHERE d.SPECIMEN_NO='"+trs+"' and d.FREQ_CODE='D' and d.QUOTE_CONSIGN_NO is not null ";
- List<HashMap> hmD = mapper.query(QuerySql2.toString());
- if(hmD!=null && hmD.size()>=1){
- cro.setV_errCode(-1);
- cro.setV_errMsg("请选择发送到LIMS送样的轧批,取样编号【"+trs+"】不是送样的轧批,不可撤销,请核实数据!");
- return cro;
- }
-
-
-
- }
-
- String contnum = "0";
- //循环每个取样编号是否是引用取样编号
- for (String trs : treeSet) {
- //当前取样编号下的项目全部引用了 就表示没有发送到LIMS那边
- String stryy=" select * from qcm_jhy_sample_consign_d_item i where SPECIMEN_NO='"+trs+"' and QUOTE_MEMO is null and SEQ<50 ";
- List<HashMap> hmyy = mapper.query(stryy.toString());
- if(hmyy==null || hmyy.size()<=0){
- String QuerySql="SELECT t.* from QCM_JHY_SAMPLE_CONSIGN_D t"
- + " WHERE t.SPECIMEN_NO='"+trs+"' and t.FREQ_CODE <> 'D' "
- + " and t.send_memo = '有引用' and t.QUOTE_MEMO = '引用实绩' ";
- List<HashMap> hashMaplist2 = mapper.query(QuerySql.toString());
- if(hashMaplist2!=null && hashMaplist2.size()>=1){
- List<HashMap> itemhm=null;
- List<HashMap> insphm =null;
- if(hashMaplist2.get(0).get("SMP_TYPE_CODE").equals("1")){//复样
- QuerySql="";
- QuerySql=" SELECT t.* from qcm_jhy_sample_consign_d_item t "
- + " WHERE t.SPECIMEN_NO='"+trs+"' and t.QUOTE_MEMO is not null and SEQ<50 ";
- itemhm = mapper.query(QuerySql.toString());
-
- QuerySql="";
- QuerySql=" SELECT t.* from QCM_JHY_INSP_PHYSICS t "
- + " WHERE t.SPECIMEN_NO='"+trs+"' and SEQ<50 ";
- insphm = mapper.query(QuerySql.toString());
- }else{
- QuerySql="";
- QuerySql=" SELECT t.* from qcm_jhy_sample_consign_d_item t "
- + " WHERE t.SPECIMEN_NO='"+trs+"' and t.QUOTE_MEMO is not null ";
- itemhm = mapper.query(QuerySql.toString());
-
- QuerySql="";
- QuerySql=" SELECT t.* from QCM_JHY_INSP_PHYSICS t "
- + " WHERE t.SPECIMEN_NO='"+trs+"' ";
- insphm = mapper.query(QuerySql.toString());
- }
-
-
- if(itemhm.size() == insphm.size()){
- contnum = "1";
- String sql = "";
- sql="UPDATE QCM_JHY_SAMPLE_CONSIGN_D SET STATUS='0',SPECIMENNOZH = '1', "
- + " SEND_ID ='',SEND_NAME='',SEND_TIME='',SEND_MEMO='',QUOTE_MEMO = '',SAMPLE_DELIVERY_TIME='' "
- + " where SPECIMEN_NO = '"+trs+"' ";
- mapper.UpdateQcmWt(sql);
-
- sql="";
- sql="UPDATE QCM_JHY_SAMPLE_CONSIGN_D_ITEM SET QUOTE_MEMO='' where SPECIMEN_NO = '"+trs+"' ";
- mapper.UpdateQcmWt(sql);
-
- if(hashMaplist2.get(0).get("SMP_TYPE_CODE").equals("1")){
- //删除 实绩表数据
- sql="";
- sql = "DELETE QCM_JHY_INSP_PHYSICS t where t.SPECIMEN_NO = '"+trs+"' and t.QUOTE_SPECIMEN_NO is null and SEQ<50 ";
- mapper.delete(sql.toString());
- }else{
- //删除 实绩表数据
- sql="";
- sql = "DELETE QCM_JHY_INSP_PHYSICS t where t.SPECIMEN_NO = '"+trs+"' and t.QUOTE_SPECIMEN_NO is null";
- mapper.delete(sql.toString());
- }
-
- QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
- qjog.setOperate_name(UserName);
- qjog.setBatchno(hashMaplist2.get(0).get("BATCH_NO") == null ?"":hashMaplist2.get(0).get("BATCH_NO").toString());
- qjog.setOperate_type("撤销检验委托");
- qjog.setParams(hashMaplist2.get(0).get("MATERIAL_NO") == null ?"":hashMaplist2.get(0).get("MATERIAL_NO").toString());
- qjog.setProd_line(hashMaplist2.get(0).get("PLINE_CODE") == null ?"":hashMaplist2.get(0).get("PLINE_CODE").toString());
- qjog.setMemo(hashMaplist2.get(0).get("SPECIMEN_NO").toString());
- mapper.insertQcmJudgeOperateLog(qjog);
- }
- }
-
- if(contnum.equals("1")){
- SqlSession.commit();
- SqlSession.close();
- cro.setV_errCode(1);
- cro.setV_errMsg("撤销引用成功");
- return cro;
- }
- }
- }
-
-
- //查询取样编号是否状态是已待确认,只有待确认的才能够撤销
- StringBuffer sqlucomm = new StringBuffer();
-
- //调用LZMES撤销委托接口,暂时没有
- String urlStr = "http://172.16.0.169:82/Limsinterface/http/Revokeghtask";//调用url
- String result = "";
- try{
-
- JSONObject tarObj=new JSONObject();
- Date date=new Date();
- SimpleDateFormat simleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String ret=simleDateFormat.format(date);//系统时间
- //主表数据
- tarObj.put("revokeUser", UserName+"C");
- tarObj.put("revokeReason", zhyy);
- tarObj.put("revokeTime", ret);
- tarObj.put("revokeOrderList", arr);
- result = httpURLPOSTCase(urlStr,tarObj.toString());//调用url
- //result = "200";//调用url
- if (result == null||result.equals("null") || result.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤回发送LIMS系统失败!返回值:"+result);
- return cro;
- }
- resultlist =result.substring(8, 11);
- JSONObject jobject=JSON.parseObject(result);
- String limsCode=jobject.getString("code");
- String limsMessage=jobject.getString("message");
- if(limsMessage.equals("样品不存在") && limsCode.equals("500")){
- resultlist="200";
- }
- //resultlist ="200";
- if (!resultlist.equals("200") || resultlist == null || resultlist.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤回发送数据Lims失败!返回值:"+result);
- return cro;
- }
- }catch(Exception e){
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤回发送数据Lims失败"+e.getMessage());
- return cro;
- }
-
-
- if (resultlist.equals("200")) {
- //记录撤回的数据
- String sqlDel = " Insert into QCM_JHY_SAMPLE_CONSIGN_D_DEL(SMP_NO,SPECIMEN_NO,HEAT_NO,BATCH_NO,INSPECTION_LOT,FREQ_CODE,FREQ_NAME,MATERIAL_NO,SMP_TYPE_CODE,SMP_TYPE_NAME,CONSIGN_NO,CONSIGN_NO_SEQ,TEST_QTY,SMP_QTY,SMP_LOCATION,BOARD_NO,QUOTE_CONSIGN_NO,OLD_CONSIGN_NO,PLINE_CODE,PLINE_NAME,STATUS,VALIDFLAG,SOURCE,GUID,SEND_ID,SEND_NAME,SEND_TIME,CHEM_ITEM,PRODUCT_CNT,CREATE_TIME,SMP_LOCATION_CODE,MEMO,WEIGHT,WEIGHT_STD,WEIGHT_SFD,SPECIMENNOZH,SEND_MEMO,ITEM_FLAG,CREATETIMEDEL,CREATENAMEDEL) "
- + " select SMP_NO,SPECIMEN_NO,HEAT_NO,BATCH_NO,INSPECTION_LOT,FREQ_CODE,FREQ_NAME,MATERIAL_NO,SMP_TYPE_CODE,SMP_TYPE_NAME,CONSIGN_NO,CONSIGN_NO_SEQ,TEST_QTY,SMP_QTY,SMP_LOCATION,BOARD_NO,QUOTE_CONSIGN_NO,OLD_CONSIGN_NO,PLINE_CODE,PLINE_NAME,STATUS,VALIDFLAG,SOURCE,GUID,SEND_ID,SEND_NAME,SEND_TIME,CHEM_ITEM,PRODUCT_CNT,CREATE_TIME,SMP_LOCATION_CODE,MEMO,WEIGHT,WEIGHT_STD,WEIGHT_SFD,'1',SEND_MEMO,ITEM_FLAG,SYSDATE,'"+UserName+"' from QCM_JHY_SAMPLE_CONSIGN_D d"
- + " where SPECIMEN_NO in ("+msInfo+")";
- mapper.insert(sqlDel);
-
- //查询是不是卷板的39 49 59订单
- String rzltsql="select t.* from qcm_jhy_sample_consign_d t,qcm_jhy_sample_r_ord r "
- +" where t.smp_no = r.smp_no and t.pline_code in ('RZ1','LT1') "
- +" and (r.design_key like '39%' or r.design_key like '49%' or r.design_key like '59%') "
- +" and t.specimen_no in ("+msInfo+") ";
- List<HashMap> hashMapRzlt = mapper.query(rzltsql.toString());
- if(hashMapRzlt!=null && hashMapRzlt.size()>=1){
- String updateSql="UPDATE QCM_JHY_SAMPLE_CONSIGN_D SET STATUS='0',SPECIMENNOZH = '1', "
- + " SEND_ID ='',SEND_NAME='',SEND_TIME='' where SPECIMEN_NO in ("+msInfo+")";
- mapper.UpdateQcmWt(updateSql);
- }else{
- String updateSql="UPDATE QCM_JHY_SAMPLE_CONSIGN_D SET STATUS='0',SPECIMENNOZH = '1',PLINE_CODE_LIMS='',SEND_ID ='',SEND_NAME='',SEND_TIME='', "
- + " SAMPLE_DELIVERY_TIME='',PRINT_SEQ='',PRINT_SEQJ='',PRINT_LOG='',SEND_SEQ='' "
- + " where SPECIMEN_NO in ("+msInfo+")";
- mapper.UpdateQcmWt(updateSql);
-
- //删除 实绩表数据
- String sql = "DELETE QCM_JHY_INSP_PHYSICS t where t.SPECIMEN_NO in ("+msInfo+") and t.QUOTE_SPECIMEN_NO is null";
- mapper.delete(sql.toString());
- }
-
- for (String trs : treeSet) {
- //热轧
- String sql="";
- sql ="select * from QCM_JHY_SAMPLE_CONSIGN_D where SPECIMEN_NO = '"+trs+"' and PLINE_CODE='RZ1' ";
- List<HashMap> hmRZ1 = mapper.query(sql.toString());
- if(hmRZ1!=null && hmRZ1.size()>=1 && hmRZ1.get(0).get("PLINE_CODE").equals("RZ1")){
- //热轧 清空有无取样
- sql="";
- sql = " update QCM_JHY_SAMPLE_CONSIGN_D t "
- + " set t.SAMPL_PICK_RY = '' "
- + " where t.SPECIMEN_NO = '"+trs+"' AND t.PLINE_CODE='RZ1' ";
- mapper.UpdateQcmWt(sql.toString());
- }
-
- //中厚板 引用清除 五个项目 四个引用 一个发送LIMS 撤销之后全部实绩删除 还原最初
- sql="";
- sql ="select * from QCM_JHY_SAMPLE_CONSIGN_D where SPECIMEN_NO = '"+trs+"' and QUOTE_MEMO='引用实绩' and PLINE_CODE in ('ZB1', 'HB1') ";
- List<HashMap> hmap = mapper.query(sql.toString());
- if(hmap!=null && hmap.size()>=1){
- sql="";
- sql="UPDATE QCM_JHY_SAMPLE_CONSIGN_D SET SEND_MEMO='',QUOTE_MEMO = '',SAMPLE_DELIVERY_TIME='' where SPECIMEN_NO = '"+trs+"' ";
- mapper.UpdateQcmWt(sql);
-
- sql="";
- sql="UPDATE QCM_JHY_SAMPLE_CONSIGN_D_ITEM SET QUOTE_MEMO='' where SPECIMEN_NO = '"+trs+"' ";
- mapper.UpdateQcmWt(sql);
- }
-
- //中厚板 夹杂初样撤销
- sql="";
- sql="select * from qcm_jhy_sample_consign_d t where t.freq_code = 'D' AND T.SMP_TYPE_CODE = '0' and t.SPECIMEN_NO = '"+trs+"' ";
- List<HashMap> hmDD = mapper.query(sql.toString());
- if(hmDD!=null && hmDD.size()>=1){
- sql="";
- sql="select * from qcm_jhy_sample_consign_d t where t.freq_code = 'D' AND T.SMP_TYPE_CODE = '0' and t.quote_consign_no = '"+trs+"' ";
- List<HashMap> hmD = mapper.query(sql.toString());
- if(hmD!=null && hmD.size()>=1){
- for (int i = 0; i < hmD.size(); i++) {
- sql="";
- sql="UPDATE QCM_JHY_SAMPLE_CONSIGN_D SET STATUS='0',QUOTE_CONSIGN_NO='',SEND_ID = '',SEND_NAME='',SEND_TIME='' where SPECIMEN_NO = '"+hmD.get(i).get("SPECIMEN_NO")+"' ";
- mapper.UpdateQcmWt(sql);
-
- sql="";
- sql="UPDATE QCM_JHY_SAMPLE_CONSIGN_D_ITEM SET QUOTE_SPECIMEN_NO='',QUOTE_SEQ = '' where SPECIMEN_NO = '"+hmD.get(i).get("SPECIMEN_NO")+"' ";
- mapper.UpdateQcmWt(sql);
- }
- }
- }
-
- }
- }
- String sqlLog = "select * from QCM_JHY_SAMPLE_CONSIGN_D t where t.specimen_no in ("+msInfo+")";
- List<HashMap> lists = mapper.query(sqlLog);
- for (HashMap list : lists) {
- QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
- qjog.setOperate_name(UserName);
- qjog.setBatchno(list.get("BATCH_NO") == null ?"":list.get("BATCH_NO").toString());
- qjog.setOperate_type("撤销检验委托");
- qjog.setParams(list.get("MATERIAL_NO") == null ?"":list.get("MATERIAL_NO").toString());
- qjog.setProd_line(list.get("PLINE_CODE") == null ?"":list.get("PLINE_CODE").toString());
- qjog.setMemo(list.get("SPECIMEN_NO").toString());
- mapper.insertQcmJudgeOperateLog(qjog);
- }
- SqlSession.commit();
- }catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- SqlSession.rollback();
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤销委托失败,请联系管理员查看问题!");
- return cro;
-
- }finally {
-
- SqlSession.close();
-
- }
-
- cro.setV_errCode(1);
- cro.setV_errMsg("撤销发送成功");
- return cro;
-
- }
-
- /**
- * 撤销同批合并发送 撤销合并委托 中厚板
- * @param Entrust
- * @return
- */
- public CoreReturnObject ZHBCancelLIMES(String Entrust,String UserName,String zhyy){
- try {
- JSONArray arr = new JSONArray();
- String[] ja=Entrust.split(",");
- String msInfo="";
- String resultlist ="";
- TreeSet<String> treeSet = new TreeSet<String>();
- if (ja!=null && ja.length>0) {
-
- for (int i = 0; i < ja.length; i++) {
- String sp = ja[i];
- treeSet.add(sp);
- JSONObject obj = new JSONObject();
- obj.put("id",sp);
- arr.add(obj);
- if ("".equals(msInfo)) {
-
- msInfo="'"+sp+"'";
- }else{
- msInfo=msInfo+"'"+sp+"'";
- }
-
- if (i !=ja.length-1) {
- msInfo=msInfo+",";
- }
-
-
- }
-
- }
-
- //循环每个取样编号是否已判定
- for (String trs : treeSet) {
- String QuerySql="SELECT count(1) CNUM from QCM_JHY_SAMPLE_R_ORD t where t.JUDGE_STATUS <> '0' and t.JUDGE_RESULT_CODE is not null "
- + " and t.SMP_NO in (SELECT d.SMP_NO from QCM_JHY_SAMPLE_CONSIGN_D d WHERE d.ZHB_SPECIMEN_NO='"+trs+"')";
- List<HashMap> hashMaplist2 = mapper.query(QuerySql.toString());
- BigDecimal cou2 = (BigDecimal) hashMaplist2.get(0).get("CNUM");
- String coun2 = cou2.toString();
- Integer integ2 = Integer.parseInt(coun2);
-
- if(integ2 >= 1){
- cro.setV_errCode(-1);
- cro.setV_errMsg("合并取样编号【"+trs+"】委托下材质已判定,不可撤销,请核实数据!");
- return cro;
- }
- }
-
-
- //查询取样编号是否状态是已待确认,只有待确认的才能够撤销
- StringBuffer sqlucomm = new StringBuffer();
-
- //调用LZMES撤销委托接口,暂时没有
- String urlStr = "http://172.16.0.169:82/Limsinterface/http/Revokeghtask";//调用url
- String result = "";
- try{
-
- JSONObject tarObj=new JSONObject();
- Date date=new Date();
- SimpleDateFormat simleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String ret=simleDateFormat.format(date);//系统时间
- //主表数据
- tarObj.put("revokeUser", UserName+"C");
- tarObj.put("revokeReason", zhyy);
- tarObj.put("revokeTime", ret);
- tarObj.put("revokeOrderList", arr);
- result = httpURLPOSTCase(urlStr,tarObj.toString());//调用url
- //result = "200";//调用url
- if (result == null||result.equals("null") || result.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤销同批合并发送LIMS系统失败!返回值:"+result);
- return cro;
- }
- resultlist =result.substring(8, 11);
- //resultlist ="200";
- if (!resultlist.equals("200") || resultlist == null || resultlist.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤销同批合并发送数据Lims失败!"+result);
- return cro;
- }
- }catch(Exception e){
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤销同批合并发送数据Lims失败"+e.getMessage());
- return cro;
- }
-
-
- if (resultlist.equals("200")) {
- String sqlLog = "select * from QCM_JHY_SAMPLE_CONSIGN_D t where t.ZHB_SPECIMEN_NO in ("+msInfo+")";
- List<HashMap> lists = mapper.query(sqlLog);
- for (HashMap list : lists) {
- QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
- qjog.setOperate_name(UserName);
- qjog.setBatchno(list.get("BATCH_NO") == null ?"":list.get("BATCH_NO").toString());
- qjog.setOperate_type("撤销同批合并委托");
- qjog.setParams(list.get("MATERIAL_NO") == null ?"":list.get("MATERIAL_NO").toString());
- qjog.setProd_line(list.get("PLINE_CODE") == null ?"":list.get("PLINE_CODE").toString());
- qjog.setMemo(list.get("SPECIMEN_NO").toString());
- mapper.insertQcmJudgeOperateLog(qjog);
- }
-
- //删除 实绩表数据
- String sql = "";
- sql = "DELETE QCM_JHY_INSP_PHYSICS t "
- + " where t.SPECIMEN_NO in (select d.SPECIMEN_NO from QCM_JHY_SAMPLE_CONSIGN_D d where d.ZHB_SPECIMEN_NO in ("+msInfo+") ) "
- + " and t.QUOTE_SPECIMEN_NO is null";
- mapper.delete(sql.toString());
-
- //合并表
- String updateSql="";
- updateSql="DELETE QCM_JHY_ZHB_PHYSICS where SPECIMEN_NO in ("+msInfo+")";
- mapper.delete(updateSql);
-
- //itme表
- updateSql="";
- updateSql="UPDATE qcm_jhy_sample_consign_d_item SET ZHB_SPECIMEN_NO='' where ZHB_SPECIMEN_NO in ("+msInfo+")";
- mapper.UpdateQcmWt(updateSql);
-
- //D表
- updateSql="";
- updateSql="UPDATE QCM_JHY_SAMPLE_CONSIGN_D SET STATUS='0',SPECIMENNOZH = '1',PLINE_CODE_LIMS='', "
- + " SEND_ID ='',SEND_NAME='',SEND_TIME='',ZHB_SPECIMEN_NO='',SAMPLE_DELIVERY_TIME='',PRINT_SEQ='',PRINT_SEQJ='' "
- + " where ZHB_SPECIMEN_NO in ("+msInfo+")";
- mapper.UpdateQcmWt(updateSql);
-
- }
-
- SqlSession.commit();
- }catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- SqlSession.rollback();
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤销委托失败,请联系管理员查看问题!");
- return cro;
-
- }finally {
-
- SqlSession.close();
-
- }
-
- cro.setV_errCode(1);
- cro.setV_errMsg("撤销发送成功");
- return cro;
-
- }
-
- /**
- * 热轧 撤销人工抽样
- * @param Entrust
- * @return
- */
- public CoreReturnObject CancelLIMESRZ(String Entrust,String UserName,String zhyy){
- try {
- JSONArray arr = new JSONArray();
- String[] ja=Entrust.split(",");
- String msInfo="";
- String resultlist ="";
- TreeSet<String> treeSet = new TreeSet<String>();
- if (ja!=null && ja.length>0) {
-
- for (int i = 0; i < ja.length; i++) {
- String sp = ja[i];
- treeSet.add(sp);//获取取样编号
- JSONObject obj = new JSONObject();
- obj.put("id",sp);
- arr.add(obj);
- if ("".equals(msInfo)) {
-
- msInfo="'"+sp+"'";
- }else{
- msInfo=msInfo+"'"+sp+"'";
- }
-
- if (i !=ja.length-1) {
- msInfo=msInfo+",";
- }
-
-
- }
-
- }
-
- if(treeSet.size()>1){
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤销人工抽样只能选择取样的钢卷号!");
- return cro;
- }
-
- //循环每个取样编号是否已判定
- for (String trs : treeSet) {
- String QuerySql="SELECT count(1) CNUM from QCM_JHY_SAMPLE_R_ORD t where t.JUDGE_STATUS='1' and "
- + " t.SMP_NO=(SELECT d.SMP_NO from QCM_JHY_SAMPLE_CONSIGN_D d WHERE d.SPECIMEN_NO='"+trs+"')";
- List<HashMap> hashMaplist2 = mapper.query(QuerySql.toString());
- BigDecimal cou2 = (BigDecimal) hashMaplist2.get(0).get("CNUM");
- String coun2 = cou2.toString();
- Integer integ2 = Integer.parseInt(coun2);
-
- if(integ2 >= 1){
- cro.setV_errCode(-1);
- cro.setV_errMsg("取样编号【"+trs+"】材质已判定,不可撤销,请核实数据!");
- return cro;
- }
- }
-
- //查询取样编号是否状态是已待确认,只有待确认的才能够撤销
- /* StringBuffer sqlucomm = new StringBuffer();
- sqlucomm.append("SELECT STATUS,SPECIMEN_NO FROM QCM_JHY_SAMPLE_CONSIGN_D WHERE SPECIMEN_NO IN ("+msInfo+")");
- List<HashMap> lists=mapper.query(sqlucomm.toString());
-
- if (lists!=null && lists.size()>0) {
- for (HashMap list : lists) {
- if (!"2".equals((String)list.get("STATUS"))) {//1
- cro.setV_errCode(-1);
- cro.setV_errMsg("取样编号【"+list.get("SPECIMEN_NO")+"】发送状态已完成,请核实数据!");
- return cro;
- }
- }
- }*/
-
- //调用LZMES撤销委托接口,暂时没有
- String urlStr = "http://172.16.0.169:82/Limsinterface/http/Revokeghtask";//调用url
- String result = "";
- try{
-
- JSONObject tarObj=new JSONObject();
- Date date=new Date();
- SimpleDateFormat simleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String ret=simleDateFormat.format(date);//系统时间
- //主表数据
- tarObj.put("revokeUser", UserName);
- tarObj.put("revokeReason", zhyy);
- tarObj.put("revokeTime", ret);
- tarObj.put("revokeOrderList", arr);
-
- result = httpURLPOSTCase(urlStr,tarObj.toString());//调用url
- if (result == null||result.equals("null") || result.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤回人工抽样发送LIMS系统失败!返回值:"+result);
- return cro;
- }
- resultlist =result.substring(8, 11);
- if (!resultlist.equals("200") || resultlist == null || resultlist.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤回人工抽样发送数据Lims失败!"+result);
- return cro;
- }
- }catch(Exception e){
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤回人工抽样发送数据Lims失败"+e.getMessage());
- return cro;
- }
-
-
- if (resultlist.equals("200")) {
- for (String specimenNo : treeSet) {
-
- //热轧 清空有无取样
- String sqlR="";
- sqlR = " update QCM_JHY_SAMPLE_CONSIGN_D t "
- + " set t.SAMPL_PICK_RY = '' "
- + " where t.SPECIMEN_NO = '"+specimenNo+"' AND t.PLINE_CODE='RZ1' ";
- mapper.UpdateQcmWt(sqlR.toString());
-
- String sql="select t1.RZ_ROLL_MANA_NO,t1.RZ_MIXROLL,t1.RZ_OLD_SAMPL_NO,t1.RZ_ROLL_SLAB_SEQ "
- +" from QCM_JHY_SAMPLE_CONSIGN_D t1 "
- +" where t1.validflag = '1' "
- +" and t1.STATUS in ('2','7') "
- +" and t1.pline_code = 'RZ1' "
- +" and t1.specimen_no = '"+specimenNo+"'";
- List<HashMap> hMap=mapper.query(sql.toString());
- if (hMap!=null || hMap.size()>0) {
- for (HashMap hm : hMap) {
- sql = "";
- sql = " update QCM_JHY_SAMPLE_R_ORD ord set ord.judge_status = '0' "
- +" where ord.pline_code = 'RZ1' and ord.smp_no in ( "
- +" select t.smp_no from QCM_JHY_SAMPLE_CONSIGN_D t "
- +" where RZ_ROLL_MANA_NO = '"+hm.get("RZ_ROLL_MANA_NO")+"' "
- +" and RZ_MIXROLL= '"+hm.get("RZ_MIXROLL")+"' "
- + " and RZ_OLD_SAMPL_NO= '"+hm.get("RZ_OLD_SAMPL_NO")+"'"
- +" ) ";
-
- mapper.UpdateQcmWt(sql.toString());
-
- String updateSql="UPDATE QCM_JHY_SAMPLE_CONSIGN_D SET STATUS='0',SPECIMENNOZH = '1',"
- + " SEND_ID ='',SEND_NAME='',SEND_TIME='', RZ_ROLL_MANA_NO='',RZ_MIXROLL='',"
- + " RZ_OLD_SAMPL_NO='',RZ_ROLL_SLAB_SEQ='',PRINT_LOG='', SEND_SEQ='', PRINT_SEQ='' "
- + " where RZ_ROLL_MANA_NO = '"+hm.get("RZ_ROLL_MANA_NO")+"' "
- + " and RZ_MIXROLL= '"+hm.get("RZ_MIXROLL")+"' "
- + " and RZ_OLD_SAMPL_NO= '"+hm.get("RZ_OLD_SAMPL_NO")+"' ";
- mapper.UpdateQcmWt(updateSql);
-
- }
- }
- }
-
- //删除 实绩表数据
- String sql = "";
- sql = "DELETE QCM_JHY_INSP_PHYSICS t where t.SPECIMEN_NO in ("+msInfo+") and t.QUOTE_SPECIMEN_NO is null";
- mapper.delete(sql.toString());
- }
- String sqlLog = "select * from QCM_JHY_SAMPLE_CONSIGN_D t where t.specimen_no in ("+msInfo+")";
- List<HashMap> lists = mapper.query(sqlLog);
- for (HashMap list : lists) {
- QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
- qjog.setOperate_name(UserName);
- qjog.setBatchno(list.get("BATCH_NO") == null ?"":list.get("BATCH_NO").toString());
- qjog.setOperate_type("撤销人工抽样");
- qjog.setParams(list.get("MATERIAL_NO") == null ?"":list.get("MATERIAL_NO").toString());
- qjog.setProd_line(list.get("PLINE_CODE") == null ?"":list.get("PLINE_CODE").toString());
- qjog.setMemo(list.get("SPECIMEN_NO").toString());
- mapper.insertQcmJudgeOperateLog(qjog);
- }
- SqlSession.commit();
- }catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- SqlSession.rollback();
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤销人工抽样委托失败,请联系管理员查看问题!");
- return cro;
-
- }finally {
-
- SqlSession.close();
-
- }
-
- cro.setV_errCode(1);
- cro.setV_errMsg("撤销人工抽样发送成功");
- return cro;
-
- }
-
- /**
- * 热轧 撤销人工送样
- * @param Entrust
- * @return
- */
- public CoreReturnObject CancelLimesRZXY(String Entrust,HashMap parmas){
- try {
- String UserName = parmas.get("USERNAME").toString();
- String zhyy = parmas.get("ZHYY").toString();
- JSONArray arr = new JSONArray();
- String[] ja=Entrust.split(",");
- String msInfo="";
- String resultlist ="";
- TreeSet<String> treeSet = new TreeSet<String>();
- if (ja!=null && ja.length>0) {
-
- for (int i = 0; i < ja.length; i++) {
- String sp = ja[i];
- treeSet.add(sp);//获取取样编号
- JSONObject obj = new JSONObject();
- obj.put("id",sp);
- arr.add(obj);
- if ("".equals(msInfo)) {
-
- msInfo="'"+sp+"'";
- }else{
- msInfo=msInfo+"'"+sp+"'";
- }
-
- if (i !=ja.length-1) {
- msInfo=msInfo+",";
- }
-
-
- }
-
- }
-
- //循环每个取样编号是否已判定
- for (String trs : treeSet) {
- String QuerySql="SELECT t.* from QCM_JHY_SAMPLE_R_ORD t where t.JUDGE_STATUS <> '0' "
- +" and t.SMP_NO in (SELECT d.SMP_NO from QCM_JHY_SAMPLE_CONSIGN_D d WHERE d.SPECIMEN_NO = '"+trs+"' "
- +" union all select d.SMP_NO from QCM_JHY_SAMPLE_CONSIGN_D d where d.QRZ_SPECIMEN_NO = '"+trs+"') ";
- List<HashMap> hashMap = mapper.query(QuerySql.toString());
- if(hashMap !=null && hashMap.size()>=1){
- cro.setV_errCode(-1);
- cro.setV_errMsg("送样取样编号【"+trs+"】下面有材质判定,不可撤销,请核实数据!");
- return cro;
- }
- }
-
- //调用LZMES撤销委托接口,暂时没有
- String urlStr = "http://172.16.0.169:82/Limsinterface/http/Revokeghtask";//调用url
- String result = "";
- try{
-
- JSONObject tarObj=new JSONObject();
- Date date=new Date();
- SimpleDateFormat simleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String ret=simleDateFormat.format(date);//系统时间
- //主表数据
- tarObj.put("revokeUser", UserName);
- tarObj.put("revokeReason", zhyy);
- tarObj.put("revokeTime", ret);
- tarObj.put("revokeOrderList", arr);
-
- result = httpURLPOSTCase(urlStr,tarObj.toString());//调用url
- if (result == null||result.equals("null") || result.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤回人工选样发送LIMS系统失败!返回值:"+result);
- return cro;
- }
- resultlist =result.substring(8, 11);
- if (!resultlist.equals("200") || resultlist == null || resultlist.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤回人工选样发送数据Lims失败!"+result);
- return cro;
- }
- }catch(Exception e){
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤回人工选样发送数据Lims失败"+e.getMessage());
- return cro;
- }
-
-
- if (resultlist.equals("200")) {
- for (String specimenNo : treeSet) {
-
- String sql=" SELECT d.SPECIMEN_NO,d.smp_no from QCM_JHY_SAMPLE_CONSIGN_D d WHERE d.SPECIMEN_NO = '"+specimenNo+"' "
- +" union all "
- +" select d.SPECIMEN_NO,d.smp_no from QCM_JHY_SAMPLE_CONSIGN_D d where d.QRZ_SPECIMEN_NO = '"+specimenNo+"' ";
- List<HashMap> hashMap = mapper.query(sql.toString());
- if(hashMap!=null && hashMap.size()>=1){
- for (HashMap list : hashMap) {
- String sqlR = " update QCM_JHY_SAMPLE_CONSIGN_D t "
- + " set t.SAMPL_PICK_RY = '',STATUS='0',SPECIMENNOZH = '1',SEND_ID ='',SEND_NAME='',SEND_TIME='',QRZ_SPECIMEN_NO='', "
- + " PRINT_LOG = '', SEND_SEQ = '', PRINT_SEQ = '' "
- + " where t.SPECIMEN_NO = '"+list.get("SPECIMEN_NO")+"' AND t.PLINE_CODE='RZ1' ";
- mapper.UpdateQcmWt(sqlR.toString());
-
- String sql2 = "DELETE QCM_JHY_INSP_PHYSICS t where t.SPECIMEN_NO ='"+list.get("SPECIMEN_NO")+"' and t.QUOTE_SPECIMEN_NO is null";
- mapper.delete(sql2.toString());
- }
- }
- }
- }
- String sqlLog = "select * from QCM_JHY_SAMPLE_CONSIGN_D t where t.specimen_no in ("+msInfo+")";
- List<HashMap> lists = mapper.query(sqlLog);
- for (HashMap list : lists) {
- QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
- qjog.setOperate_name(UserName);
- qjog.setBatchno(list.get("BATCH_NO") == null ?"":list.get("BATCH_NO").toString());
- qjog.setOperate_type("撤销人工选样");
- qjog.setParams(list.get("MATERIAL_NO") == null ?"":list.get("MATERIAL_NO").toString());
- qjog.setProd_line(list.get("PLINE_CODE") == null ?"":list.get("PLINE_CODE").toString());
- qjog.setMemo(list.get("SPECIMEN_NO").toString());
- mapper.insertQcmJudgeOperateLog(qjog);
- }
- SqlSession.commit();
- }catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- SqlSession.rollback();
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤销人工选样委托失败,请联系管理员查看问题!");
- return cro;
-
- }finally {
- SqlSession.close();
- }
-
- cro.setV_errCode(1);
- cro.setV_errMsg("撤销人工选样发送成功");
- return cro;
-
- }
-
- /**
- * 撤销委托接口中厚板19订单
- * @param Entrust
- * @return
- */
- public CoreReturnObject CancelLIMES19(String Entrust,String UserName,String zhyy){
- try {
- JSONArray arr = new JSONArray();
- String[] ja=Entrust.split(",");
- String msInfo="";
- String resultlist ="";
- TreeSet<String> treeSet = new TreeSet<String>();
- if (ja!=null && ja.length>0) {
-
- for (int i = 0; i < ja.length; i++) {
- String sp = ja[i];
- treeSet.add(sp);
- JSONObject obj = new JSONObject();
- obj.put("id",sp);
- arr.add(obj);
- if ("".equals(msInfo)) {
-
- msInfo="'"+sp+"'";
- }else{
- msInfo=msInfo+"'"+sp+"'";
- }
-
- if (i !=ja.length-1) {
- msInfo=msInfo+",";
- }
-
-
- }
-
- }
-
- //循环每个取样编号是否已判定
- for (String trs : treeSet) {
- String QuerySql="SELECT count(1) CNUM from QCM_JHY_SAMPLE_R_ORD t where t.JUDGE_STATUS='1' and "
- + " t.SMP_NO=(SELECT d.SMP_NO from QCM_JHY_SAMPLE_CONSIGN_D d WHERE d.SPECIMEN_NO='"+trs+"')";
- List<HashMap> hashMaplist2 = mapper.query(QuerySql.toString());
- BigDecimal cou2 = (BigDecimal) hashMaplist2.get(0).get("CNUM");
- String coun2 = cou2.toString();
- Integer integ2 = Integer.parseInt(coun2);
-
- if(integ2 >= 1){
- cro.setV_errCode(-1);
- cro.setV_errMsg("取样编号【"+trs+"】材质已判定,不可撤销,请核实数据!");
- return cro;
- }
- }
-
- String updateSql="UPDATE QCM_JHY_SAMPLE_CONSIGN_D SET STATUS='0',SPECIMENNOZH = '1', "
- + " SEND_ID ='',SEND_NAME='',SEND_TIME='',SAMPLE_DELIVERY_TIME='' where SPECIMEN_NO in ("+msInfo+")";
- mapper.UpdateQcmWt(updateSql);
-
- String sqlLog = "select * from QCM_JHY_SAMPLE_CONSIGN_D t where t.specimen_no in ("+msInfo+")";
- List<HashMap> lists = mapper.query(sqlLog);
- for (HashMap list : lists) {
- QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
- qjog.setOperate_name(UserName);
- qjog.setBatchno(list.get("BATCH_NO") == null ?"":list.get("BATCH_NO").toString());
- qjog.setOperate_type("撤销19订单检验委托");
- qjog.setParams(list.get("MATERIAL_NO") == null ?"":list.get("MATERIAL_NO").toString());
- qjog.setProd_line(list.get("PLINE_CODE") == null ?"":list.get("PLINE_CODE").toString());
- qjog.setMemo(list.get("SPECIMEN_NO").toString());
- mapper.insertQcmJudgeOperateLog(qjog);
- }
- SqlSession.commit();
- }catch (Exception e) {
- e.printStackTrace();
- SqlSession.rollback();
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤销委托失败,请联系管理员查看问题!");
- return cro;
-
- }finally {
-
- SqlSession.close();
-
- }
-
- cro.setV_errCode(1);
- cro.setV_errMsg("撤销19成功");
- return cro;
-
- }
-
- /**
- * 调用LIMS接收委托接口,实现委托下发 发送委托
- * @return cro
- * @throws IOException
- */
- @SuppressWarnings("unchecked")
- public CoreReturnObject SendLIMES(String Entrust,String sendId,String sendName,String sampleDeliveryTime){
- String urlStr = "http://172.16.0.169:82/Limsinterface/http/Inspection";
- //String urlStr = "http://10.90.0.92:8080/open/lims/4mes/inspection";
- try {
- //createSmpleLoglist(Entrust,"下发委托",sendName);
- String LCplineCode="LC";//全自动激光切割加工中心系统
- StringBuffer sqlucomm = new StringBuffer();
-
- String[] ja=Entrust.split(",");
- String msInfo="";
- if (ja!=null && ja.length>0) {
-
- for (int i = 0; i < ja.length; i++) {
- String sp = ja[i];
- if ("".equals(msInfo)) {
-
- msInfo="'"+sp+"'";
-
- }else{
- msInfo=msInfo+"'"+sp+"'";
- }
-
- if (i !=ja.length-1) {
- msInfo=msInfo+",";
- }
-
-
- }
-
- }
-
- //查询检验
- sqlucomm.append("SELECT d.SMP_NO,d.SPECIMEN_NO,d.HEAT_NO,d.BATCH_NO,d.INSPECTION_LOT,d.FREQ_CODE,d.FREQ_NAME,"
- + " d.MATERIAL_NO,d.SEND_MEMO,d.SMP_TYPE_CODE,d.SMP_TYPE_NAME,d.CONSIGN_NO,d.CONSIGN_NO_SEQ,d.TEST_QTY,d.SMP_QTY,"
- + " d.SMP_LOCATION,d.SMP_LOCATION_CODE,d.BOARD_NO,d.QUOTE_CONSIGN_NO,d.OLD_CONSIGN_NO,d.PLINE_CODE,d.PLINE_NAME,d.CHEM_ITEM,"
- + "d.SOURCE,d.PRODUCT_CNT,d.MEMO, o.STEEL_CODE,o.STEEL_NAME ,o.THICK,o.WIDTH ,o.LENGTH ,o.DESIGN_KEY,"
- + "m.CERT_INST_CODE,m.CERT_INST_NAME,m.SMP_CATG,d.PROCESS_NOS,nvl(d.SHOULD_SAMPLE,'非预测') SHOULD_SAMPLE,d.SEND_SEQ "
- + " FROM QCM_JHY_SAMPLE_CONSIGN_D d INNER JOIN QCM_JHY_SAMPLE_CONSIGN_M m "
- + " ON d.SMP_NO=m.SMP_NO INNER JOIN QCM_JHY_SAMPLE_R_ORD O ON d.SMP_NO = o.SMP_NO "
- + " where d.SPECIMEN_NO in ("+msInfo+") and d.VALIDFLAG='1' and d.STATUS='0'");
-
-
- List<HashMap> lists=mapper.query(sqlucomm.toString());
- if (lists==null || lists.size()<1) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("待发送的检验委托数据已经不存在,请核实数据!");
- return cro;
- }
- //获取数据进行验证
- TreeSet<String> sizes=new TreeSet<String>();
- TreeSet<String> TSHJSP = new TreeSet<String>();//夹杂初样
- TreeSet<String> TSHJSPF = new TreeSet<String>();//夹杂复样
- for (int i = 0; i < lists.size(); i++) {
- HashMap obj=lists.get(i);
- sizes.add((String)obj.get("SMP_CATG"));
-
- if(obj.get("PLINE_CODE").equals("HB1") || obj.get("PLINE_CODE").equals("ZB1") ){
-
- //热处理号限制
- if(obj.get("PROCESS_NOS")!=null && !"".equals(obj.get("PROCESS_NOS"))){
- String processNos = obj.get("PROCESS_NOS").toString();
- String substr=processNos.substring(2, 3);//第三位不为H
- String substr2=processNos.substring(4, 5);//第五位不为Q
- if(substr.equals("H")){
- cro.setV_errCode(-1);
- cro.setV_errMsg("当前勾选的轧批【"+obj.get("BATCH_NO")+"】热处理号第三位为H,请调整到送样的热处理号再发送谢谢!");
- return cro;
- }else if(substr2.equals("Q")){
- cro.setV_errCode(-1);
- cro.setV_errMsg("当前勾选的轧批【"+obj.get("BATCH_NO")+"】热处理号第五位为Q,请调整到送样的热处理号再发送谢谢!");
- return cro;
- }
- }
- if(obj.get("FREQ_CODE")!=null && !"".equals(obj.get("FREQ_CODE")) && obj.get("FREQ_CODE").equals("D") &&
- obj.get("SMP_TYPE_CODE").equals("0")){
- TSHJSP.add((String)obj.get("SPECIMEN_NO"));
- }
- if(obj.get("FREQ_CODE")!=null && !"".equals(obj.get("FREQ_CODE")) && obj.get("FREQ_CODE").equals("D") &&
- obj.get("SMP_TYPE_CODE").equals("1")){
- String heatNo= obj.get("HEAT_NO").toString();
- heatNo=heatNo.substring(0, 9);//一共10位 截取9位 最后一位字母不要
- TSHJSPF.add(heatNo);
- }
-
- if((obj.get("SHOULD_SAMPLE").equals("0") || obj.get("SHOULD_SAMPLE").equals("2")) && obj.get("SMP_TYPE_CODE").equals("0")){
- cro.setV_errCode(-1);
- cro.setV_errMsg("当前勾选的轧批【"+obj.get("BATCH_NO")+"】是预测抽样!请预测抽样");
- return cro;
- }
-
- //第三方见证限制 IC013军方认证 IC012客户认证 IC026劳盛工业(上海)
- /*if(obj.get("CERT_INST_CODE").equals("IC013") || obj.get("CERT_INST_CODE").equals("IC012") ||obj.get("CERT_INST_CODE").equals("IC026")){
- String dkstr=obj.get("DESIGN_KEY").toString();
- String dkbatch_no=obj.get("BATCH_NO").toString();
- String CERT_INST_NAME=obj.get("CERT_INST_NAME").toString();
- String jszq="select nvl(r.Judge_Result_Code,'N') JRCode,r.* from qcm_jhy_sample_consign_d t,qcm_jhy_sample_consign_m m, qcm_jhy_sample_r_ord r "
- +" where t.smp_no=r.smp_no and t.smp_no = m.smp_no and r.smp_no = m.smp_no and t.IMPROVE_MEMO is null "
- +" and m.smp_catg = 'B' and r.Cert_Inst_Code = '5000' and t.freq_code <>'D' and t.Smp_Type_Code = '0' "
- +" and r.batch_no = '"+dkbatch_no+"' "
- +" and r.design_key = '"+dkstr+"' ";
- List<HashMap> hmWitn=mapper.query(jszq.toString());
- if(hmWitn!=null && hmWitn.size()>=1){
- for (int j = 0; j < hmWitn.size(); j++) {
- HashMap dkhm=hmWitn.get(j);
- if(dkhm.get("JRCODE").toString().equals("N")){
- cro.setV_errCode(-1);
- cro.setV_errMsg("勾选中的轧批【"+dkbatch_no+"】是第三方见证,检测中心未判定,不可发送【"+CERT_INST_NAME+"】机构委托!");
- return cro;
- }
- //检测中心初样不合格
- if(dkhm.get("JRCODE").toString().equals("2")){
- String smptype="select nvl(r.Judge_Result_Code,'N') JRCode,r.* from qcm_jhy_sample_consign_d t,qcm_jhy_sample_consign_m m, qcm_jhy_sample_r_ord r "
- +" where t.smp_no=r.smp_no and t.smp_no = m.smp_no and r.smp_no = m.smp_no and t.IMPROVE_MEMO is null "
- +" and m.smp_catg = 'B' and r.Cert_Inst_Code = '5000' and t.freq_code <>'D' and t.Smp_Type_Code = '1' "
- +" and r.batch_no = '"+dkbatch_no+"' "
- +" and r.design_key = '"+dkstr+"' and r.Judge_Result_Code is null ";
- List<HashMap> hmtype=mapper.query(smptype.toString());
- if(hmtype!=null && hmtype.size()>=1){
- cro.setV_errCode(-1);
- cro.setV_errMsg("勾选中的轧批【"+dkbatch_no+"】是第三方见证,检测中心不合格复样未判定,不可发送【"+CERT_INST_NAME+"】机构委托!");
- return cro;
- }
- }
- }
- }
-
- }*/
-
- }
-
- //线棒自动限制
- if(obj.get("PLINE_CODE").equals("GX1") || obj.get("PLINE_CODE").equals("GX2") || obj.get("PLINE_CODE").equals("BC2") ){
- if(obj.get("SMP_TYPE_CODE").equals("1")){
- String ggb="select * from qcm_jhy_sample_consign_d d,qcm_jhy_sample_r_ord r "
- +" where d.smp_no = r.smp_no and d.smp_type_code = '0' "
- +" and r.judge_status = '0' and d.batch_no ='"+obj.get("BATCH_NO")+"' ";
- List<HashMap> ggbhm=mapper.query(ggb.toString());
- if(ggbhm!=null && ggbhm.size()>=1){
- cro.setV_errCode(-1);
- cro.setV_errMsg("当前勾选的轧批【"+obj.get("BATCH_NO")+"】还有初样没有判完,不可发送复样!");
- return cro;
- }
- }
- }
- }
-
- if (sizes.size()!=1) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("待发送的检验委托数据只能同时发送一种类型的待检数据,请核实数据!");
- return cro;
- }
-
- if (TSHJSP.size()>=2) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("夹杂是按炉取样的,夹杂委托请单独一条委托下发!");
- return cro;
- }
- if (TSHJSPF.size()>=2) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("夹杂是按炉取样的,未防止数据错误,夹杂复样请按同一炉的复样下发委托!");
- return cro;
- }
-
-
- for (HashMap hmapRZ : lists) {
- //热轧限制 当前获取的取样编号对应的子板是否有组批区间 防止020脱离组匹区间 而操作人员又没有从新生成委托 就直接点击发送委托 又把010的给发送到LIMS
- if(hmapRZ.get("PLINE_CODE").equals("RZ1") && hmapRZ.get("SMP_TYPE_CODE").equals("0")){
- String rzSql = " select t3.OLD_SAMPL_NO,t4.ROLL_MANA_NO,t4.ROLL_SLAB_SEQ,t4.MIXROLL,t1.SPECIMEN_NO,t1.INSPECTION_LOT "
- +" from QCM_JHY_SAMPLE_CONSIGN_D t1, "
- +" QCM_JHY_SAMPLE_CONSIGN_M t2, "
- +" QCM_JHY_SAMPLE_R_ORD ord, "
- +" tbh02_coil_comm t3, "
- +" tbf02_spec_mill t4 "
- +" where t1.SMP_NO = t2.SMP_NO "
- +" and t1.smp_no = ord.smp_no "
- +" and t1.inspection_lot = t3.SAMPL_NO "
- +" and t3.COIL_NO = t4.COIL_NO "
- +" and t1.validflag = '1' "
- +" and t1.pline_code = 'RZ1' "
- +" and t3.OLD_SAMPL_NO = '"+hmapRZ.get("MATERIAL_NO").toString()+"' "
- +" and t4.MIXROLL is not null and ord.design_key not like '39%' and ord.design_key not like '49%' and ord.design_key not like '59%' "
- +" order by t4.ROLL_SLAB_SEQ asc ";
- List<HashMap> RZlists=mapper.query(rzSql.toString());
- if (RZlists!=null && RZlists.size()>=1) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("当前委托是预测委托!请预测抽样");
- return cro;
- }
- }
- //热轧力学复样限制
- if(hmapRZ.get("PLINE_CODE").equals("RZ1") && hmapRZ.get("SMP_TYPE_CODE").equals("1") && hmapRZ.get("FREQ_CODE").equals("A")){
- String clearinlot=" select r.* from qcm_jhy_sample_consign_d t,qcm_jhy_sample_consign_m m,qcm_jhy_sample_r_ord r "
- +" where t.smp_no = m.smp_no and t.smp_no = r.smp_no and m.smp_no = r.smp_no "
- +" and r.batch_no = '"+hmapRZ.get("BATCH_NO")+"' "
- +" and r.design_key = '"+hmapRZ.get("DESIGN_KEY")+"' "
- +" and t.smp_type_code = '0' "
- +" and r.inspection_lot = '"+hmapRZ.get("INSPECTION_LOT")+"' "
- +" and r.Judge_Result_Code = '2' ";
- List<HashMap> Dlists=mapper.query(clearinlot.toString());
- if(Dlists!=null && Dlists.size() == 1){
- String sqllot=" update qcm_jhy_sample_r_ord r set r.inspection_lot = '1' where r.smp_no = '"+Dlists.get(0).get("SMP_NO")+"'";
- mapper.updateJudgeStatus(sqllot.toString());
- }
-
- }
-
- //线棒力学复样限制
- if(hmapRZ.get("PLINE_CODE").equals("GX1") && hmapRZ.get("PLINE_CODE").equals("GX2") && hmapRZ.get("PLINE_CODE").equals("BC2") &&
- hmapRZ.get("SMP_TYPE_CODE").equals("1") && hmapRZ.get("FREQ_CODE").equals("A")){
- String sqlx=" select r.* from qcm_jhy_sample_consign_d t, qcm_jhy_sample_r_ord r where t.smp_no = r.smp_no "
- +" and r.batch_no = '"+hmapRZ.get("BATCH_NO")+"' and r.design_key = '"+hmapRZ.get("DESIGN_KEY")+"' "
- +" and t.smp_type_code = '0' and r.inspection_lot = '"+hmapRZ.get("INSPECTION_LOT")+"' and r.inspection_lot is not null ";
- List<HashMap> hmx=mapper.query(sqlx.toString());
- if(hmx!=null && hmx.size() >= 1){
- for (HashMap hmap : hmx) {
- String sql=" select * from qcm_jhy_sample_consign_d t where t.smp_no = '"+hmap.get("SMP_NO")+"' and t.smp_type_code = '1' and rownum=1 ";
- List<HashMap> hmSmpNo=mapper.query(sql.toString());
- if(hmSmpNo == null || hmSmpNo.size()<=0){
- String sqllot=" update qcm_jhy_sample_r_ord r set r.inspection_lot = '1' where r.smp_no = '"+hmSmpNo.get(0).get("SMP_NO")+"' ";
- mapper.updateJudgeStatus(sqllot.toString());
- }
- }
-
- }
-
- }
-
- }
-
-
- ///中厚板限制
- for (HashMap hmap : lists) {
- if(hmap.get("PLINE_CODE").equals("HB1") || hmap.get("PLINE_CODE").equals("ZB1") ){
-
- //夹杂初样 判断发送的是不是 复样 按炉 夹杂
- if(hmap.get("FREQ_CODE")!=null && !"".equals(hmap.get("FREQ_CODE")) && hmap.get("FREQ_CODE").equals("D") &&
- hmap.get("SMP_TYPE_CODE").equals("0")){
- String heatNo= hmap.get("HEAT_NO").toString();
- heatNo=heatNo.substring(0, 9);//一共10位 截取9位 最后一位字母不要
-
- //查询出这个炉号所有的轧批 排除当前发送轧批
- String sqlD="select t.* from QCM_JHY_SAMPLE_CONSIGN_D t "
- +" where t.Heat_No LIKE '"+heatNo+"%' "
- +" and t.freq_code = 'D' "
- +" and t.status = '0' "
- +" and t.smp_type_code = '0' and t.pline_code in ('ZB1','HB1') "
- +" and t.SPECIMEN_NO <> '"+hmap.get("SPECIMEN_NO")+"' "
- +" and t.specimen_no not in ( "
- +" select d.specimen_no from qcm_jhy_sample_consign_d d,qcm_jhy_sample_consign_d_item i "
- +" where d.specimen_no=i.specimen_no "
- +" and d.Heat_No LIKE '"+heatNo+"%' "
- +" and d.freq_code = 'D' "
- +" and d.status = '0' "
- +" and d.smp_type_code = '0' "
- +" and t.pline_code in ('ZB1','HB1') "
- +" and i.Phy_Code_s='J10' ) ";
- List<HashMap> Dlists=mapper.query(sqlD.toString());
- if(Dlists!=null && Dlists.size()>=1){
- //循环所有的轧批 引用
- for (int i = 0; i < Dlists.size(); i++) {
- String sql ="";
- sql +=" update QCM_JHY_SAMPLE_CONSIGN_D t set STATUS = '1',QUOTE_CONSIGN_NO = '"+hmap.get("SPECIMEN_NO")+"' "
- +" ,SEND_ID='引用发送',SEND_NAME='引用发送',SEND_TIME=sysdate "
- +" where HEAT_NO like '"+heatNo+"%' and freq_code = 'D' and smp_type_code = '0' "
- +" and SPECIMEN_NO = '"+Dlists.get(i).get("SPECIMEN_NO")+"' ";
- mapper.updateJudgeStatus(sql.toString());
-
-
- String itemSql2= "select * from qcm_jhy_sample_consign_d_item i where i.specimen_no = '"+Dlists.get(i).get("SPECIMEN_NO")+"' order by i.specimen_no asc, i.seq asc";
- List<HashMap> itemLists2=mapper.query(itemSql2.toString());
- if(itemLists2!=null && itemLists2.size()>=1){
- for (int j = 0; j < itemLists2.size(); j++) {
- //查询出发送的轧批 夹杂明细
- String itemSql= "select * from qcm_jhy_sample_consign_d_item i "
- + " where i.specimen_no = '"+hmap.get("SPECIMEN_NO")+"' and i.PHY_CODE_S='"+itemLists2.get(j).get("PHY_CODE_S")+"' "
- + " and rownum = 1 ";
- List<HashMap> itemLists=mapper.query(itemSql.toString());
- if(itemLists!=null && itemLists.size()>=1){
- sql="";
- sql +=" update QCM_JHY_SAMPLE_CONSIGN_D_ITEM set QUOTE_SPECIMEN_NO = '"+hmap.get("SPECIMEN_NO")+"',QUOTE_SEQ='"+itemLists.get(0).get("SEQ")+"' "
- +" where SPECIMEN_NO = '"+itemLists2.get(j).get("SPECIMEN_NO")+"' and PHY_CODE_S='"+itemLists2.get(j).get("PHY_CODE_S")+"' ";
- mapper.updateJudgeStatus(sql.toString());
- }
- }
- }
- }
- }
- }
-
- //中厚板夹杂力学复样限制
- if(hmap.get("SMP_TYPE_CODE").equals("1") && !hmap.get("FREQ_CODE").equals("C") && !hmap.get("FREQ_CODE").equals("H") && !hmap.get("FREQ_CODE").equals("I")){
- String clearinlot=" select r.* from qcm_jhy_sample_consign_d t,qcm_jhy_sample_consign_m m,qcm_jhy_sample_r_ord r "
- +" where t.smp_no = m.smp_no and t.smp_no = r.smp_no and m.smp_no = r.smp_no "
- +" and r.batch_no = '"+hmap.get("BATCH_NO")+"' "
- +" and r.pline_code = '"+hmap.get("PLINE_CODE")+"' "
- +" and r.design_key = '"+hmap.get("DESIGN_KEY")+"' "
- +" and r.steel_code = '"+hmap.get("STEEL_CODE")+"' "
- +" and r.thick = '"+hmap.get("THICK")+"' "
- +" and r.cert_inst_code = '"+hmap.get("CERT_INST_CODE")+"' "
- +" and t.freq_code = '"+hmap.get("FREQ_CODE")+"' "
- +" and t.smp_location_code = '"+hmap.get("SMP_LOCATION_CODE")+"' "
- +" and t.smp_type_code = '0' "
- +" and r.inspection_lot is not null and r.Judge_Result_Code = '2' and t.Improve_Memo is null "
- +" and t.PROCESS_NOS = '"+hmap.get("PROCESS_NOS")+"' ";
- List<HashMap> Dlists=mapper.query(clearinlot.toString());
- if(Dlists!=null && Dlists.size() == 1){
- String sqllot=" update qcm_jhy_sample_r_ord r set r.inspection_lot = '1' where r.smp_no = '"+Dlists.get(0).get("SMP_NO")+"'";
- mapper.updateJudgeStatus(sqllot.toString());
- }
-
- }
-
- }
- }
-
-
- ///夹杂复样
- TreeSet<String> treeSet = new TreeSet<String>();//轧批号
- TreeSet<String> treeSet1 = new TreeSet<String>();//炉号
- TreeSet<String> treeSet2 = new TreeSet<String>();//取样编号
- String plineCodeHj="";
- for (HashMap hmap : lists) {//判断发送的是不是 复样 按炉 夹杂
- if(hmap.get("FREQ_CODE")!=null && !"".equals(hmap.get("FREQ_CODE")) &&hmap.get("FREQ_CODE").equals("D") &&
- (hmap.get("SMP_TYPE_CODE").equals("1")) &&
- !hmap.get("PLINE_CODE").equals("RZ1")&& !hmap.get("PLINE_CODE").equals("LT1")){
- //判断夹杂复样是不是夹杂整体,是排除
- String strHj="select * from qcm_jhy_sample_consign_d_item t where t.specimen_no = '"+hmap.get("SPECIMEN_NO")+"' and t.phy_code_s = 'J10' ";
- List<HashMap> hmHJ=mapper.query(strHj.toString());
- if(hmHJ!=null && hmHJ.size()>=1){
- continue;
- }
- treeSet.add((String)hmap.get("BATCH_NO"));
- treeSet1.add((String)hmap.get("HEAT_NO"));
- treeSet2.add((String)hmap.get("SPECIMEN_NO"));
- plineCodeHj=hmap.get("PLINE_CODE").toString();
- }
- }
- //是 复样 按炉夹杂 轧批号多个 但是炉号必为1
- if(treeSet.size()>=1 && treeSet1.size()== 1){
- for (String heatNo : treeSet1) {
- String heatNo2 = heatNo.substring(0, 9);//一共10位 截取9位 最后一位字母不要
- String strPlineCode = "";
- if(!plineCodeHj.equals("ZB1") && !plineCodeHj.equals("HB1") ){
- strPlineCode = " and t.pline_code = '"+plineCodeHj+"' ";
- }else{
- strPlineCode = " and t.pline_code in ('ZB1','HB1') ";
- }
- //查询初样取样编号
- String dsql ="";
- dsql = "select t.specimen_no,t.QUOTE_CONSIGN_NO from (select t.SPECIMEN_NO,t.QUOTE_CONSIGN_NO from QCM_JHY_SAMPLE_CONSIGN_D t "
- + "where HEAT_NO like '"+heatNo2+"%' and freq_code = 'D' and QUOTE_CONSIGN_NO is not null "
- + " and inspection_lot not in (select t.inspection_lot from QCM_JHY_SAMPLE_CONSIGN_D t where t.HEAT_NO like '"+heatNo2+"%' "
- + " and t.freq_code = 'D' and t.QUOTE_CONSIGN_NO is null) "
- +strPlineCode
- +") t where 1=1 "
- +" and t.QUOTE_CONSIGN_NO not in(select t.SPECIMEN_NO from QCM_JHY_SAMPLE_CONSIGN_D t where t.HEAT_NO like '"+heatNo2+"%' "
- +" and t.freq_code = 'D' and t.QUOTE_CONSIGN_NO is null and t.SMP_TYPE_CODE='1') ";
- List<HashMap> SampleD2=mapper.query(dsql.toString());
- if(SampleD2 != null && SampleD2.size() >= 1){
- for (HashMap hashMap : SampleD2) {
- String sql ="";
- sql +=" update QCM_JHY_SAMPLE_CONSIGN_D_ITEM set QUOTE_SPECIMEN_NO = '"+treeSet2.first()+"' ";
- sql +=" where SPECIMEN_NO = '"+hashMap.get("SPECIMEN_NO")+"' "
- + " and FY_QUOTE_SPECIMEN_NO is null ";
- mapper.updateJudgeStatus(sql.toString());
-
- sql ="";
- sql +=" update QCM_JHY_SAMPLE_CONSIGN_D t set QUOTE_CONSIGN_NO = '"+treeSet2.first()+"',QUOTE_BATCH_NO_ONE = '"+treeSet.first()+"' ";
- sql +=" where HEAT_NO like '"+heatNo2+"%' and freq_code = 'D' and QUOTE_CONSIGN_NO is not null "
- + " and SPECIMEN_NO = '"+hashMap.get("SPECIMEN_NO")+"' "
- + strPlineCode;
- mapper.updateJudgeStatus(sql.toString());
- }
- }
-
- //查询初样
- dsql="";
- dsql ="select t.* from QCM_JHY_SAMPLE_CONSIGN_D t where t.HEAT_NO like '"+heatNo2+"%' and t.freq_code = 'D' "
- + " and t.SMP_TYPE_CODE='0' and t.QUOTE_CONSIGN_NO is null "
- +strPlineCode;
- List<HashMap> hmzb=mapper.query(dsql.toString());
- if(hmzb!=null && hmzb.size()>=1){
- //查询复样
- String dsql2 ="select * from QCM_JHY_SAMPLE_CONSIGN_D t,Qcm_Jhy_Sample_r_Ord r"
- + " where t.SMP_NO=r.SMP_NO and t.HEAT_NO like '"+heatNo2+"%' and t.freq_code = 'D' "
- + " and t.SMP_TYPE_CODE='1' and t.QUOTE_CONSIGN_NO is null "
- +strPlineCode;
- List<HashMap> hmzb2=mapper.query(dsql2.toString());
- if(hmzb2!=null && hmzb2.size()>=1){
- for (HashMap hmap : hmzb2) {
- //查询复样的初样
- String dsql3 ="select * from QCM_JHY_SAMPLE_CONSIGN_D t,Qcm_Jhy_Sample_r_Ord r"
- + " where t.SMP_NO=r.SMP_NO and t.HEAT_NO like '"+heatNo2+"%' and t.freq_code = 'D' "
- + " and t.SMP_TYPE_CODE='0' and t.QUOTE_CONSIGN_NO is not null "
- + " and t.BATCH_NO='"+hmap.get("BATCH_NO")+"' and r.DESIGN_KEY= '"+hmap.get("DESIGN_KEY")+"' "
- + " and r.STEEL_CODE='"+hmap.get("STEEL_CODE")+"' and r.THICK = '"+hmap.get("THICK")+"' "
- +strPlineCode;
- List<HashMap> hmzb3=mapper.query(dsql3.toString());
-
- if(hmzb3!=null && hmzb3.size()>=1 && !hmzb.get(0).get("SPECIMEN_NO").equals(hmzb3.get(0).get("QUOTE_CONSIGN_NO"))){
- String sql ="";
- sql +=" update QCM_JHY_SAMPLE_CONSIGN_D_ITEM set QUOTE_SPECIMEN_NO = '"+hmzb.get(0).get("SPECIMEN_NO")+"' ";
- sql +=" where SPECIMEN_NO = '"+hmzb3.get(0).get("SPECIMEN_NO")+"' "
- + " and FY_QUOTE_SPECIMEN_NO is null ";
- mapper.updateJudgeStatus(sql.toString());
-
- sql ="";
- sql +=" update QCM_JHY_SAMPLE_CONSIGN_D t set QUOTE_CONSIGN_NO = '"+hmzb.get(0).get("SPECIMEN_NO")+"' ";
- sql +=" where SPECIMEN_NO = '"+hmzb3.get(0).get("SPECIMEN_NO")+"' "
- + strPlineCode;
- mapper.updateJudgeStatus(sql.toString());
- }
-
- }
- }
-
- }
-
-
- }
- }
-
-
- JSONArray tarDate=new JSONArray();
- JSONArray LCtarDate=new JSONArray();//全自动激光切割加工中心系统
-
- Date date=new Date();
- SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String dateString=simpleDateFormat.format(date);
- //生成委托编号
- String consignNo=new SimpleDateFormat("yyyyMMdd").format(date);
- sqlucomm.setLength(0);
- sqlucomm.append("SELECT max(to_number(substr(CONSIGN_NO,-3,3))) BIGSEQ from QCM_JHY_SAMPLE_CONSIGN_D where CONSIGN_NO like '"+consignNo+"%'");
-
- HashMap map=mapper.queryOne(sqlucomm.toString());
- BigDecimal count = BigDecimal.ZERO;
- if( null != map.get("BIGSEQ")){
- count=(BigDecimal)map.get("BIGSEQ");
- }
- if (count.compareTo(BigDecimal.ZERO)==1) {
- count=count.add(BigDecimal.ONE);
- }else{
- count=BigDecimal.ONE;
- }
- consignNo=consignNo+String.format("%03d", count.intValue());
- System.out.println("======="+count.intValue());
- int seq=1;
-
- String plineCodeLims = "";//中厚板送样产线,按送样时间确定
-
- for (int i = 0; i < lists.size(); i++) {
- HashMap obj=lists.get(i);
- //中厚板送样产线
- if(obj.get("PLINE_CODE").toString().equals("ZB1") || obj.get("PLINE_CODE").toString().equals("HB1")){
- if(sampleDeliveryTime.contains("06:30:00") || sampleDeliveryTime.contains("10:30:00") ||
- sampleDeliveryTime.contains("17:30:00") || sampleDeliveryTime.contains("20:30:00")){
- plineCodeLims = "HB1";
- }else if(sampleDeliveryTime.contains("03:00:00") || sampleDeliveryTime.contains("11:00:00") ||
- sampleDeliveryTime.contains("15:00:00") || sampleDeliveryTime.contains("18:00:00") ||
- sampleDeliveryTime.contains("21:00:00") || sampleDeliveryTime.contains("06:00:00") ){
- plineCodeLims = "ZB1";
- }
- }
- obj.put("PLINE_CODE_LIMS", plineCodeLims);
-
- obj.put("SEND_ID", sendId);
- obj.put("SEND_NAME", sendName);
- obj.put("CONSIGN_NO", consignNo);
- obj.put("CONSIGN_NO_SEQ", seq++);
- obj.put("SEND_TIME", dateString);
- LCplineCode=obj.get("PLINE_CODE").toString();//全自动激光切割加工中心系统
- JSONObject smpleD = JSONObject.parseObject(JSON.toJSONString(obj));
-
- //目标json
- JSONObject tarObj=new JSONObject();
- //主表数据
- createTarObj(tarObj,smpleD);
- //发送序号 createSendSeq
- if(obj.get("PLINE_CODE").equals("RZ1") || obj.get("PLINE_CODE").equals("LT1")
- || obj.get("PLINE_CODE").equals("ZB1") || obj.get("PLINE_CODE").equals("HB1")){
-
- String sendSeq="";//发送序号
- if(obj.get("PLINE_CODE").equals("ZB1") || obj.get("PLINE_CODE").equals("HB1")){
- sendSeq=createSendSeq(tarObj.getString("plineCode").toString());
- }else{
- sendSeq=createSendSeq(obj.get("PLINE_CODE").toString());
- }
-
- //String sendQ="select to_number(substr('"+sendSeq+"', 8)) PRINT_SEQ from dual t ";
- String sendQ="select substr('"+sendSeq+"', 9) PRINT_SEQ from dual t ";
- List<HashMap> hmsendQ=mapper.query(sendQ.toString());
- String PRINT_SEQ=hmsendQ.get(0).get("PRINT_SEQ").toString();//打印序号
- if(tarObj.getString("plineCode").equals("ZB1")){
- tarObj.put("printSeq", 'Z'+PRINT_SEQ);
- PRINT_SEQ='Z'+PRINT_SEQ;
- }else if(tarObj.getString("plineCode").equals("HB1")){
- tarObj.put("printSeq", 'H'+PRINT_SEQ);
- PRINT_SEQ='H'+PRINT_SEQ;
- }else if(obj.get("PLINE_CODE").equals("RZ1")){
- tarObj.put("printSeq", 'R'+PRINT_SEQ);
- PRINT_SEQ='R'+PRINT_SEQ;
- }else if(obj.get("PLINE_CODE").equals("LT1")){
- tarObj.put("printSeq", 'L'+PRINT_SEQ);
- PRINT_SEQ='L'+PRINT_SEQ;
- }else{
- tarObj.put("printSeq", PRINT_SEQ);//打印序号
- }
- //船检编号
- String printseqj = "";
- if(obj.get("PLINE_CODE").equals("ZB1") || obj.get("PLINE_CODE").equals("HB1")){
- String plineCodeJ=tarObj.getString("plineCode").toString();
- String certInstCodeJ = obj.get("CERT_INST_CODE").toString();
- if(certInstCodeJ.equals("IC005") || certInstCodeJ.equals("IC009") || certInstCodeJ.equals("IC006") || certInstCodeJ.equals("IC007") ||
- certInstCodeJ.equals("IC002") || certInstCodeJ.equals("IC001") || certInstCodeJ.equals("IC008")){
- printseqj = createPintSeqJ(plineCodeJ,certInstCodeJ);
- String printseqj2=printseqj.substring(5, printseqj.length());
- tarObj.put("PRINTSEQJ", printseqj2);//船检编号
- }
- }else if(obj.get("PLINE_CODE").equals("RZ1")){
- //判定厚度
- String strRz=" select to_char(t.dcs_thk,'fm990.099') DCS_THK from tbh02_coil_comm t "
- + " where T.OLD_SAMPL_NO ='"+tarObj.getString("materialNo")+"' and t.dcs_thk is not null and rownum=1";
- List<HashMap> hmRz=mapper.query(strRz.toString());
- String dcsThk = "";
- if(hmRz!=null && hmRz.size()>=1){
- dcsThk=hmRz.get(0).get("DCS_THK").toString();
- }
- tarObj.put("dcsThk", dcsThk);//判定厚度人工输入
- }
-
- String qcmSendSeq =" update QCM_JHY_SAMPLE_CONSIGN_D t set SEND_SEQ = '"+sendSeq+"',PRINT_SEQ='"+PRINT_SEQ+"',PRINT_SEQJ='"+printseqj+"' "
- + " where PLINE_CODE = '"+obj.get("PLINE_CODE")+"' and SPECIMEN_NO = '"+obj.get("SPECIMEN_NO")+"' ";
- mapper.updateJudgeStatus(qcmSendSeq.toString());
- tarObj.put("sendSeq", sendSeq);//发送序号
-
- }
-
- tarObj.put("CREATE_ID", sendId);
- tarObj.put("CREATE_NAME", sendName);
- tarObj.put("sampleDeliveryTime", sampleDeliveryTime);//送样时间点
- tarObj.put("cretInstCode", obj.get("CERT_INST_CODE"));
- tarObj.put("cretInstName", obj.get("CERT_INST_NAME"));
-
- if(obj.get("PLINE_CODE").equals("ZB1") || obj.get("PLINE_CODE").equals("HB1")){
- tarObj.put("heatTreatment", obj.get("PROCESS_NOS"));
- //传给lims的成分标识
- String sql ="select t.* from QCM_JHY_SAMPLE_CONSIGN_D t,QCM_JHY_SAMPLE_CONSIGN_M m "
- +" where t.smp_no = m.smp_no and m.SMP_CATG = 'A' and t.batch_no = '"+smpleD.getString("BATCH_NO")+"' ";
- List<HashMap> componentLog=mapper.query(sql.toString());
- if(componentLog!=null && componentLog.size()>=1){
- tarObj.put("componentLog", '1');//1代表有成分
- }else{
- tarObj.put("componentLog", '0');//0代表无成分
- }
-
- }
-
- if ("5000".equals(obj.get("CERT_INST_CODE")) || "IC012".equals(obj.get("CERT_INST_CODE")) ) {
- tarObj.put("type", "0");
- }else{
- tarObj.put("type", "1");
- }
-
-
- if ("B".equals(obj.get("SMP_CATG"))) {
- //材质
- sqlucomm.setLength(0);
- sqlucomm.append("select T.SPECIMEN_NO,T.SEQ,T.SMP_NO,T.PHY_NAME_L,T.PHY_CODE_L,T.PHY_CODE_M,T.PHY_NAME_M,T.PHY_CODE_S,"
- + "T.PHY_NAME_S,T.ITEM_CODE_D,T.ITEM_NAME_D,T.ITEM_CODE_T,T.ITEM_NAME_T,T.ITEM_CODE_S,T.ITEM_NAME_S,"
- + "T.ISJUDGE,T.JUDGE_BASIS,T.PHY_UNIT,T.GROUP_SEQ,T.QUOTE_SPECIMEN_NO,T.QUOTE_SEQ,T.MEMO,T.ITEM_CODE_L,"
- + " T.ITEM_DESC_L,T.TEST_QTY,T.SMP_QTY,T.CREATE_TIME,T.CREATE_ID,T.CREATE_NAME,T.SPECL_FL, "
- + "T.STDMIN_SIGN,T.STDMIN,T.STDMAX_SIGN,T.STDMAX,t.STDMEMO from QCM_JHY_SAMPLE_CONSIGN_D_ITEM T"
- + " WHERE T.SPECIMEN_NO='"+obj.get("SPECIMEN_NO")+"' and (T.QUOTE_SPECIMEN_NO is null or T.QUOTE_SPECIMEN_NO='') and t.Fy_Quote_Specimen_No is null and t.QUOTE_MEMO is null ");
- List<HashMap> items=mapper.query(sqlucomm.toString());
- if (items!=null && items.size()>0) {
- JSONArray arrayItem=new JSONArray();
- for(int j = 0 ;j < items.size() ; j++){
- JSONObject oldItem =JSONObject.parseObject(JSON.toJSONString(items.get(j))) ;
- JSONObject tarItem=new JSONObject();
- //子表数据
- createItem(tarItem,oldItem);
- if(oldItem.getString("PHY_NAME_M").equals("现场洛氏硬度HRC")){
- tarItem.put("tsFlag", "1");//探伤
- }else{
- tarItem.put("tsFlag", "0");//非探伤
- }
-
- arrayItem.add(tarItem);
- }
- tarObj.put("items", arrayItem);
- }
-
- }else{
- //成分
- JSONObject chemItem=JSON.parseObject((String)obj.get("CHEM_ITEM"));
- tarObj.putAll(chemItem);
-
-
- }
-
- tarDate.add(tarObj);
- //全自动激光切割加工中心系统
- HashMap<String,String> hm = new HashMap<String,String>();
- hm.put("SPECIMEN_NO", obj.get("SPECIMEN_NO").toString());
- hm.put("BATCH_NO", obj.get("BATCH_NO").toString());
- hm.put("PLINE_CODE", LCplineCode);
- if(LCplineCode.equals("HB1")){
- String lcThick = obj.get("THICK").toString();
- double lcThick2 = Double.parseDouble(lcThick);
- if(lcThick2<=25){
- LCtarDate.add(tarObj);
- String strjg=qcmJg(hm);
- mapper.insert(strjg);
- }
- }else if(LCplineCode.equals("ZB1") || LCplineCode.equals("RZ1")){
- LCtarDate.add(tarObj);
- String strjg=qcmJg(hm);
- mapper.insert(strjg);
- }
- }
- logger.info("-------发送jon数组--"+tarDate.toJSONString());
- String tar=tarDate.toString();
- String result = "";//调用url
- try{
- result = httpURLPOSTCaseNew(urlStr,tar);//调用url
-
- if (result == null ||result.equals("null") || result.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("发送LIMS系统失败!返回值:"+result);
- SqlSession.rollback();
- return cro;
- }
-
- }catch(Exception e){
- cro.setV_errCode(-1);
- cro.setV_errMsg(e.getMessage());
- return cro;
- }
-
-
- String resultlist =result.substring(8, 11);
- if (!resultlist.equals("200") || resultlist == null || resultlist.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("发送LIMS系统失败!"+result);
- SqlSession.rollback();
- return cro;
- }
-
-
-
- if(resultlist.equals("200")){
-
- for (HashMap list : lists) {
- mapper.updateConsignNo((String)list.get("CONSIGN_NO"), (Integer)list.get("CONSIGN_NO_SEQ"),
- sendId, sendName,(String)list.get("SPECIMEN_NO"));
-
- if(list.get("PLINE_CODE").equals("HB1") || list.get("PLINE_CODE").equals("ZB1")){
- String sql = " update QCM_JHY_SAMPLE_CONSIGN_D t "
- + " set t.SAMPLE_DELIVERY_TIME = '"+sampleDeliveryTime+"',t.PLINE_CODE_LIMS='"+plineCodeLims+"' "
- + " where t.SPECIMEN_NO = '"+(String)list.get("SPECIMEN_NO")+"' ";
- mapper.UpdateQcmWt(sql.toString());
-
- //判断是否是中厚板预测值 Q355B Q235B
- sql ="";
- sql =" select T.* from qcm_jhy_sample_consign_d t,qcm_jhy_sample_r_ord r where t.smp_no = r.smp_no and r.steel_code in ('Q355B','Q235B') "
- +" and t.Should_Sample ='1' and t.Function_Fuhe is not null and t.pline_code IN ('HB1','ZB1') and t.smp_type_code = '0' "
- +" and t.specimen_no = '"+list.get("SPECIMEN_NO")+"' and r.judge_status='0' ";
- List<HashMap> hm=mapper.query(sql.toString());
- if(hm!=null && hm.size()>=1){
- //删除 实绩表中的预测值数据
- sql="";
- sql = "DELETE QCM_JHY_INSP_PHYSICS t where t.SPECIMEN_NO = '"+list.get("SPECIMEN_NO")+"' and SEQ<=49 ";
- mapper.delete(sql.toString());
- }
- }
- if(list.get("PLINE_CODE").equals("RZ1")){
- String rzMixroll = "select t.* from QCM_JHY_SAMPLE_CONSIGN_D t, qcm_jhy_sample_r_ord r "
- + " where t.smp_no = r.smp_no and r.design_key not like '39%' and r.design_key not like '49%' and r.design_key not like '59%' "
- + " and t.inspection_lot = '"+list.get("INSPECTION_LOT")+"' and t.Rz_Mixroll is not null ";
- List<HashMap> hmRzMixroll=mapper.query(rzMixroll.toString());
- if(hmRzMixroll!=null && hmRzMixroll.size()>=1 && list.get("SMP_TYPE_CODE").equals("1")){
- String sql = " update QCM_JHY_SAMPLE_CONSIGN_D t "
- + " set t.SAMPL_PICK_RY = 'Y(R)' "
- + " where t.SPECIMEN_NO = '"+(String)list.get("SPECIMEN_NO")+"' ";
- mapper.UpdateQcmWt(sql.toString());
- }else{
- String sql = " update QCM_JHY_SAMPLE_CONSIGN_D t "
- + " set t.SAMPL_PICK_RY = 'Y' "
- + " where t.SPECIMEN_NO = '"+(String)list.get("SPECIMEN_NO")+"' ";
- mapper.UpdateQcmWt(sql.toString());
- }
- }
-
- }
- cro.setV_errCode(1);
- cro.setV_errMsg("发送成功");
- }
- for (HashMap list : lists) {
- QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
- qjog.setOperate_name(sendName);
- qjog.setBatchno(list.get("BATCH_NO") == null ?"":list.get("BATCH_NO").toString());
- qjog.setOperate_type("发送检验委托");
- qjog.setParams(list.get("MATERIAL_NO") == null ?"":list.get("MATERIAL_NO").toString());
- qjog.setProd_line(list.get("PLINE_CODE") == null ?"":list.get("PLINE_CODE").toString());
- qjog.setMemo(list.get("SPECIMEN_NO").toString());
- mapper.insertQcmJudgeOperateLog(qjog);
- }
-
- SqlSession.commit();
-
- //全自动激光切割加工中心系统
- /*if(LCplineCode.equals("HB1") || LCplineCode.equals("ZB1") || LCplineCode.equals("RZ1")){
- if(LCtarDate.size()>=1){
- //开关状态
- String jgkg=QcmJhyJgKg(LCplineCode);
- if("1".equals(jgkg)){
- String LCurlStr = "http://172.16.0.169:82/Limsinterface/http/Tgcut";
- String LCtar=LCtarDate.toString();
- httpURLPOSTLaserCenter(LCurlStr,LCtar,LCplineCode);
- }
- }
- }*/
-
-
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- SqlSession.rollback();
- cro.setV_errCode(-1);
- cro.setV_errMsg("发送委托失败!"+e.getMessage());
- return cro;
-
- }finally {
-
- SqlSession.close();
-
- }
-
- return cro;
- }
-
- /**
- * 热轧 人工抽样 调用LIMS接收委托接口,实现委托下发
- * @return cro
- * @throws IOException
- */
- @SuppressWarnings("unchecked")
- public CoreReturnObject SendLimesRZ(String Entrust,String sendId,String sendName,String GroupBatch,String PlineCode){
- Connection conn = this.getDao("testDao").getConnection();
- String urlStr = "http://172.16.0.169:82/Limsinterface/http/Inspection";
- try {
- String LCplineCode="LC";//全自动激光切割加工中心系统
- if (!GroupBatch.equals("1") || !PlineCode.equals("热轧")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("只能热轧产线使用人工抽样按钮!");
- return cro;
- }
- TreeSet<String> treeSet = new TreeSet<String>();
- StringBuffer sqlucomm = new StringBuffer();
-
-
-
- String[] ja=Entrust.split(",");
- String msInfo="";
- if (ja!=null && ja.length>0) {
-
- for (int i = 0; i < ja.length; i++) {
- String sp = ja[i];
- if ("".equals(msInfo)) {
-
- msInfo="'"+sp+"'";
- treeSet.add(sp);
- }else{
- msInfo=msInfo+"'"+sp+"'";
- treeSet.add(sp);
- }
-
- if (i !=ja.length-1) {
- msInfo=msInfo+",";
- treeSet.add(sp);
- }
-
-
- }
-
- }
-
- //只要选择一个轧批就可以
- if(treeSet.size() > 1){
- cro.setV_errCode(-1);
- cro.setV_errMsg("只能选择一个轧批号人工抽样委托!");
- return cro;
- }
-
- //查询检验
- sqlucomm.append("SELECT d.SMP_NO,d.SPECIMEN_NO,d.HEAT_NO,d.BATCH_NO,d.INSPECTION_LOT,d.FREQ_CODE,d.FREQ_NAME,"
- + " d.MATERIAL_NO,d.SEND_MEMO,d.SMP_TYPE_CODE,d.SMP_TYPE_NAME,d.CONSIGN_NO,d.CONSIGN_NO_SEQ,d.TEST_QTY,d.SMP_QTY,"
- + " d.SMP_LOCATION,d.BOARD_NO,d.QUOTE_CONSIGN_NO,d.OLD_CONSIGN_NO,d.PLINE_CODE,d.PLINE_NAME,d.CHEM_ITEM,"
- + "d.SOURCE,d.PRODUCT_CNT,d.MEMO, o.STEEL_CODE,o.STEEL_NAME ,o.THICK,o.WIDTH ,o.LENGTH ,o.DESIGN_KEY,"
- + "m.CERT_INST_CODE,m.CERT_INST_NAME,m.SMP_CATG,d.SEND_SEQ "
- + " FROM QCM_JHY_SAMPLE_CONSIGN_D d INNER JOIN QCM_JHY_SAMPLE_CONSIGN_M m "
- + " ON d.SMP_NO=m.SMP_NO INNER JOIN QCM_JHY_SAMPLE_R_ORD O ON d.SMP_NO = o.SMP_NO "
- + " where d.SPECIMEN_NO in ("+msInfo+") and d.VALIDFLAG='1' and d.STATUS='0'");
-
-
- List<HashMap> lists=mapper.query(sqlucomm.toString());
- if (lists==null || lists.size()<1) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("待发送的检验委托数据已经不存在或未生成委托,请核实数据!");
- return cro;
- }
- //获取数据进行验证
- TreeSet<String> sizes=new TreeSet<String>();
- for (int i = 0; i < lists.size(); i++) {
- HashMap obj=lists.get(i);
- sizes.add((String)obj.get("SMP_CATG"));
- if("1".equals((String)obj.get("SMP_TYPE_CODE"))){
- cro.setV_errCode(-1);
- cro.setV_errMsg("复样委托不能用预测抽样按钮,请核实数据!");
- return cro;
- }
- }
-
- if (sizes.size()!=1) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("待发送的检验委托数据只能同时发送一种类型的待检数据,请核实数据!");
- return cro;
- }
-
-
-
- JSONArray tarDate=new JSONArray();
- JSONArray LCtarDate=new JSONArray();//全自动激光切割加工中心系统
-
- Date date=new Date();
- SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String dateString=simpleDateFormat.format(date);
- //生成委托编号
- String consignNo=new SimpleDateFormat("yyyyMMdd").format(date);
- sqlucomm.setLength(0);
- sqlucomm.append("SELECT max(to_number(substr(CONSIGN_NO,-3,3))) BIGSEQ from QCM_JHY_SAMPLE_CONSIGN_D where CONSIGN_NO like '"+consignNo+"%'");
-
- HashMap map=mapper.queryOne(sqlucomm.toString());
- BigDecimal count = BigDecimal.ZERO;
- if( null != map.get("BIGSEQ")){
- count=(BigDecimal)map.get("BIGSEQ");
- }
- if (count.compareTo(BigDecimal.ZERO)==1) {
- count=count.add(BigDecimal.ONE);
- }else{
- count=BigDecimal.ONE;
- }
- consignNo=consignNo+String.format("%03d", count.intValue());
- System.out.println("======="+count.intValue());
- int seq=1;
-
-
- for (int i = 0; i < lists.size(); i++) {
- HashMap obj=lists.get(i);
- obj.put("SEND_ID", sendId);
- obj.put("SEND_NAME", sendName);
-
- obj.put("CONSIGN_NO", consignNo);
- obj.put("CONSIGN_NO_SEQ", seq++);
- obj.put("SEND_TIME", dateString);
- LCplineCode=obj.get("PLINE_CODE").toString();//全自动激光切割加工中心系统
- JSONObject smpleD = JSONObject.parseObject(JSON.toJSONString(obj));
-
- //目标json
- JSONObject tarObj=new JSONObject();
- //主表数据
- createTarObj(tarObj,smpleD);
- if(obj.get("PLINE_CODE").equals("RZ1")){
- //发送序号
- String sendSeq=createSendSeq(obj.get("PLINE_CODE").toString());
-
- //String sendQ="select to_number(substr('"+sendSeq+"', 8)) PRINT_SEQ from dual t ";
- String sendQ="select substr('"+sendSeq+"', 9) PRINT_SEQ from dual t ";
- List<HashMap> hmsendQ=mapper.query(sendQ.toString());
- String PRINT_SEQ=hmsendQ.get(0).get("PRINT_SEQ").toString();
- tarObj.put("printSeq", 'R'+PRINT_SEQ);
- PRINT_SEQ='R'+PRINT_SEQ;
-
- String qcmSendSeq =" update QCM_JHY_SAMPLE_CONSIGN_D t set SEND_SEQ = '"+sendSeq+"',PRINT_SEQ='"+PRINT_SEQ+"' "
- + " where PLINE_CODE = '"+obj.get("PLINE_CODE")+"' and SPECIMEN_NO = '"+obj.get("SPECIMEN_NO")+"' ";
- mapper.updateJudgeStatus(qcmSendSeq.toString());
- tarObj.put("sendSeq", sendSeq);
-
- //判定厚度
- String strRz=" select to_char(t.dcs_thk,'fm990.099') DCS_THK from tbh02_coil_comm t "
- + " where T.OLD_SAMPL_NO ='"+tarObj.getString("materialNo")+"' and t.dcs_thk is not null and rownum=1";
- List<HashMap> hmRz=mapper.query(strRz.toString());
- String dcsThk = "";
- if(hmRz!=null && hmRz.size()>=1){
- dcsThk=hmRz.get(0).get("DCS_THK").toString();
- }
- tarObj.put("dcsThk", dcsThk);//判定厚度人工输入
- }
-
- tarObj.put("CREATE_ID", sendId);
- tarObj.put("CREATE_NAME", sendName);
- tarObj.put("cretInstCode", obj.get("CERT_INST_CODE"));
- tarObj.put("cretInstName", obj.get("CERT_INST_NAME"));
-
- if ("5000".equals(obj.get("CERT_INST_CODE"))) {
- tarObj.put("type", "0");
- }else{
- tarObj.put("type", "1");
- }
-
-
- if ("B".equals(obj.get("SMP_CATG"))) {
- //材质
- sqlucomm.setLength(0);
- sqlucomm.append("select T.SPECIMEN_NO,T.SEQ,T.SMP_NO,T.PHY_NAME_L,T.PHY_CODE_L,T.PHY_CODE_M,T.PHY_NAME_M,T.PHY_CODE_S,"
- + "T.PHY_NAME_S,T.ITEM_CODE_D,T.ITEM_NAME_D,T.ITEM_CODE_T,T.ITEM_NAME_T,T.ITEM_CODE_S,T.ITEM_NAME_S,"
- + "T.ISJUDGE,T.JUDGE_BASIS,T.PHY_UNIT,T.GROUP_SEQ,T.QUOTE_SPECIMEN_NO,T.QUOTE_SEQ,T.MEMO,T.ITEM_CODE_L,"
- + " T.ITEM_DESC_L,T.TEST_QTY,T.SMP_QTY,T.CREATE_TIME,T.CREATE_ID,T.CREATE_NAME,T.SPECL_FL, "
- + "T.STDMIN_SIGN,T.STDMIN,T.STDMAX_SIGN,T.STDMAX,t.STDMEMO from QCM_JHY_SAMPLE_CONSIGN_D_ITEM T"
- + " WHERE T.SPECIMEN_NO='"+obj.get("SPECIMEN_NO")+"' and (T.QUOTE_SPECIMEN_NO is null or T.QUOTE_SPECIMEN_NO='') and t.Fy_Quote_Specimen_No is null ");
- List<HashMap> items=mapper.query(sqlucomm.toString());
- if (items!=null && items.size()>0) {
- JSONArray arrayItem=new JSONArray();
- for(int j = 0 ;j < items.size() ; j++){
- JSONObject oldItem =JSONObject.parseObject(JSON.toJSONString(items.get(j))) ;
- JSONObject tarItem=new JSONObject();
- //子表数据
- createItem(tarItem,oldItem);
- if(oldItem.getString("PHY_NAME_M").equals("现场洛氏硬度HRC")){
- tarItem.put("tsFlag", "1");//探伤
- }else{
- tarItem.put("tsFlag", "0");//非探伤
- }
- arrayItem.add(tarItem);
- }
- tarObj.put("items", arrayItem);
- }
-
- }else{
- //成分
- JSONObject chemItem=JSON.parseObject((String)obj.get("CHEM_ITEM"));
- tarObj.putAll(chemItem);
-
-
- }
-
- tarDate.add(tarObj);
- HashMap<String,String> hm = new HashMap<String,String>();
- hm.put("SPECIMEN_NO", obj.get("SPECIMEN_NO").toString());
- hm.put("BATCH_NO", obj.get("BATCH_NO").toString());
- hm.put("PLINE_CODE", LCplineCode);
- if(LCplineCode.equals("RZ1")){
- LCtarDate.add(tarObj);
- String strjg=qcmJg(hm);
- mapper.insert(strjg);
- }
- }
- logger.info("-------发送jon数组--"+tarDate.toJSONString());
- String tar=tarDate.toString();
- String result = "";//调用url
- try{
- result = httpURLPOSTCaseNew(urlStr,tar);//调用url
-
- if (result == null ||result.equals("null") || result.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("发送人工抽样LIMS系统失败!返回值:"+result);
- SqlSession.rollback();
- return cro;
- }
-
- }catch(Exception e){
- cro.setV_errCode(-1);
- cro.setV_errMsg(e.getMessage());
- SqlSession.rollback();
- return cro;
- }
-
-
- String resultlist =result.substring(8, 11);
- if (!resultlist.equals("200") || resultlist == null || resultlist.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("发送人工抽样LIMS系统失败!"+result);
- SqlSession.rollback();
- return cro;
- }
-
-
- String inspectionLot = "";//检验号
- String oldSamplNo = "";//钢卷号
- if(resultlist.equals("200")){
-
- for (HashMap list : lists) {
- String sqlR = "update QCM_JHY_SAMPLE_CONSIGN_D "
- +" set SAMPL_PICK_RY = 'R' "
- +" where SPECIMEN_NO = '"+list.get("SPECIMEN_NO")+"' ";
- mapper.UpdateQcmWt(sqlR.toString());
- //修改 组批区间的所有数据
- //查询检验 拿到当前取样编号的所需数据 热轧轧辊单元 组批区间 钢卷号 流水号
- String sql="select t.OLD_SAMPL_NO,t.ROLL_MANA_NO,t.ROLL_SLAB_SEQ,t.MIXROLL,t.SPECIMEN_NO,t.INSPECTION_LOT from ("
- + " select t3.OLD_SAMPL_NO,t4.ROLL_MANA_NO,t4.ROLL_SLAB_SEQ,t4.MIXROLL,t1.SPECIMEN_NO,t1.INSPECTION_LOT "
- +" from QCM_JHY_SAMPLE_CONSIGN_D t1, "
- +" QCM_JHY_SAMPLE_CONSIGN_M t2, "
- +" QCM_JHY_SAMPLE_R_ORD ord, "
- +" tbh02_coil_comm t3, "
- +" tbf02_spec_mill t4 "
- +" where t1.SMP_NO = t2.SMP_NO "
- +" and t1.smp_no = ord.smp_no "
- +" and t1.inspection_lot = t3.SAMPL_NO "
- +" and t3.COIL_NO = t4.COIL_NO "
- +" and t1.validflag = '1' "
- +" and t1.STATUS = '0' "
- +" and t1.pline_code = 'RZ1' "
- +" and t1.specimen_no = '"+list.get("SPECIMEN_NO")+"' "
- +" and t3.OLD_SAMPL_NO = t1.material_no "
- + " order by t4.ROLL_SLAB_SEQ asc ) t "
- + " where rownum <= 1 ";
- List<HashMap> hMap=mapper.query(sql.toString());
- if (hMap!=null || hMap.size()>0) {
- for (HashMap hm : hMap) {
- inspectionLot = (String)hm.get("INSPECTION_LOT");
- oldSamplNo = (String)hm.get("OLD_SAMPL_NO");
- //拿到 热轧轧辊单元 组批区间 钢卷号 查询出这个区间的所有取样编号
- sql = "";
- sql = "select t4.ROLL_MANA_NO,t4.MIXROLL,t1.SPECIMEN_NO "
- +" from QCM_JHY_SAMPLE_CONSIGN_D t1, "
- +" QCM_JHY_SAMPLE_CONSIGN_M t2, "
- +" QCM_JHY_SAMPLE_R_ORD ord, "
- +" tbh02_coil_comm t3, "
- +" tbf02_spec_mill t4 "
- +" where t1.SMP_NO = t2.SMP_NO "
- +" and t1.smp_no = ord.smp_no "
- +" and t1.inspection_lot = t3.SAMPL_NO "
- +" and t3.COIL_NO = t4.COIL_NO "
- +" and t1.validflag = '1' "
- +" and t1.STATUS = '0' "
- +" and t1.pline_code = 'RZ1' "
- +" and t4.ROLL_MANA_NO='"+hm.get("ROLL_MANA_NO")+"' "
- +" and t4.MIXROLL='"+hm.get("MIXROLL")+"' "
- +" group by t4.ROLL_MANA_NO,t4.MIXROLL,t1.SPECIMEN_NO ";
-
- List<HashMap> specimenNoList=mapper.query(sql.toString());
- if (specimenNoList!=null || specimenNoList.size()>0) {
- //1、先删除当前取样编号实绩 再把抽样的实绩判定状态改成已判 材质检验结果表
- sql = "";
- sql ="delete QCM_JHY_INSP_PHYSICS t where t.specimen_no = '"+list.get("SPECIMEN_NO")+"' and SEQ<=49 ";
- mapper.delete(sql.toString());
-
- for (HashMap hashMap : specimenNoList) {
- //给所有的取样编号 标记 热轧轧辊单元 组批区间 钢卷号
- sql = "";
- sql = "update QCM_JHY_SAMPLE_CONSIGN_D "
- +" set STATUS = '2', "
- +" SEND_TIME = sysdate, "
- +" CONSIGN_NO = '"+list.get("CONSIGN_NO")+"', "
- +" CONSIGN_NO_SEQ = '"+list.get("CONSIGN_NO_SEQ")+"', "
- +" SEND_ID = '"+sendId+"', "
- +" SEND_NAME = '"+sendName+"', "
- +" RZ_ROLL_MANA_NO = '"+hashMap.get("ROLL_MANA_NO")+"', "
- +" RZ_MIXROLL = '"+hashMap.get("MIXROLL")+"', "
- +" RZ_OLD_SAMPL_NO = '"+hm.get("OLD_SAMPL_NO")+"', "
- +" RZ_ROLL_SLAB_SEQ = '"+hm.get("ROLL_SLAB_SEQ")+"' "
- +" where SPECIMEN_NO = '"+hashMap.get("SPECIMEN_NO")+"' ";
-
- mapper.UpdateQcmWt(sql.toString());
-
- //2、删除了当前取样编号实绩 再把抽样的实绩QCM_JHY_SAMPLE_R_ORD判定状态改成已判 JUDGE_STATUS判定状态(0:待判,1已判)
- String specimenNo1 = list.get("SPECIMEN_NO").toString();//抽样取样编号
- String specimenNo2 = hashMap.get("SPECIMEN_NO").toString();//所有取样编号
- if(!specimenNo1.equals(specimenNo2)){
- sql = "";
- sql = " update QCM_JHY_SAMPLE_R_ORD ord set ord.judge_status = '1' "
- +" where ord.pline_code = 'RZ1' and ord.smp_no in ( "
- +" select t.smp_no from QCM_JHY_SAMPLE_CONSIGN_D t where t.specimen_no = '"+hashMap.get("SPECIMEN_NO")+"' "
- +" ) ";
-
- mapper.UpdateQcmWt(sql.toString());
- }
-
- }
- }
-
-
- }
- }
- }
-
- cro.setV_errCode(1);
- cro.setV_errMsg("人工抽样成功");
-
- String storage = "{CALL COILJUDGE_STATUS_BKD(?,?)}";
- CallableStatement cstm = conn.prepareCall(storage);
- cstm.setString(1,inspectionLot);
- cstm.setString(2,oldSamplNo);
- cstm.execute();
- cstm.close();
- }
- /*String sqlLog = "select * from QCM_JHY_SAMPLE_CONSIGN_D t where t.specimen_no in ("+msInfo+")";
- List<HashMap> lists = mapper.query(sqlLog);*/
- for (HashMap list : lists) {
- QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
- qjog.setOperate_name(sendName);
- qjog.setBatchno(list.get("BATCH_NO") == null ?"":list.get("BATCH_NO").toString());
- qjog.setOperate_type("热轧预测抽样");
- qjog.setParams(list.get("MATERIAL_NO") == null ?"":list.get("MATERIAL_NO").toString());
- qjog.setProd_line(list.get("PLINE_CODE") == null ?"":list.get("PLINE_CODE").toString());
- qjog.setMemo(list.get("SPECIMEN_NO").toString());
- mapper.insertQcmJudgeOperateLog(qjog);
- }
-
- SqlSession.commit();
- //全自动激光切割加工中心系统
- /*if(LCplineCode.equals("RZ1") && LCtarDate.size()>=1 ){
- String jgkg=QcmJhyJgKg(LCplineCode);
- if("1".equals(jgkg)){
- String LCurlStr = "http://172.16.0.169:82/Limsinterface/http/Tgcut";
- String LCtar=LCtarDate.toString();
- httpURLPOSTLaserCenter(LCurlStr,LCtar,LCplineCode);
- }
- }*/
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- SqlSession.rollback();
- cro.setV_errCode(-1);
- cro.setV_errMsg("发送人工抽样委托失败!"+e.getMessage());
- return cro;
-
- }finally {
-
- SqlSession.close();
-
- }
-
- return cro;
- }
-
- /**
- * 热轧 人工选样发送 调用LIMS接收委托接口,实现委托下发
- * @return cro
- * @throws IOException
- */
- @SuppressWarnings("unchecked")
- public CoreReturnObject SendLimesRZXY(HashMap parmas,String Entrust){
- Connection conn = this.getDao("testDao").getConnection();
- String urlStr = "http://172.16.0.169:82/Limsinterface/http/Inspection";
- try {
- String sendId=parmas.get("USERID").toString();
- String sendName=parmas.get("USERNAME").toString();
- String LCplineCode="LC";//全自动激光切割加工中心系统
- StringBuffer sqlucomm = new StringBuffer();
- TreeSet<String> treeSnoS = new TreeSet<String>();//所有取样编号
- String[] ja=Entrust.split(",");
- String msInfo="";//所有取样编号
- if (ja!=null && ja.length>0) {
- for (int i = 0; i < ja.length; i++) {
- String sp = ja[i];
- treeSnoS.add(sp);
- if ("".equals(msInfo)) {
- msInfo="'"+sp+"'";
- }else{
- msInfo=msInfo+"'"+sp+"'";
- }
- if (i !=ja.length-1) {
- msInfo=msInfo+",";
- }
- }
- }
-
- TreeSet<String> treesno = new TreeSet<String>();
- TreeSet<String> treeSet = new TreeSet<String>();
- String[] ja1=parmas.get("SPECIMEN_NO").toString().split(",");//选样编号
- String[] jmno=parmas.get("MATERIAL_NO").toString().split(","); //选样子板号
- String msInfo1="";//选样编号
- if (ja1!=null && ja1.length>0) {
- for (int i = 0; i < ja1.length; i++) {
- String sp = ja1[i];//选样取样编号
- treesno.add(sp);//选样取样编号
- String mno = jmno[i];//选样子板号
- treeSet.add(mno);//子板号
- if ("".equals(msInfo1)) {
- msInfo1="'"+sp+"'";
- }else{
- msInfo1=msInfo1+"'"+sp+"'";
- }
- if (i !=ja1.length-1) {
- msInfo1=msInfo1+",";
- }
- }
- }
- //判断复样选的是两个子板号,但是委托样条是同一个
- if(treeSet.size()>=2 && treesno.size()==1 ){
- cro.setV_errCode(-1);
- cro.setV_errMsg("勾选错误,勾选了两个钢卷号,但是委托样条只取了一个,请选择不同的取样编号委托样条!");
- return cro;
- }
-
-
- //判断是初样还是复样,修改送样编号的子板号
- if(treeSet.size()==1){//子板号只有一个
- for (String set : treesno) {
- String sql = "update QCM_JHY_SAMPLE_CONSIGN_D set MATERIAL_NO = '"+treeSet.last()+"' "
- +" where SPECIMEN_NO = '"+set+"' ";
- mapper.UpdateQcmWt(sql.toString());
- }
- }else if (treeSet.size()==2){
- String sql = "update QCM_JHY_SAMPLE_CONSIGN_D set MATERIAL_NO = '"+treeSet.last()+"' "
- +" where SPECIMEN_NO = '"+treesno.last()+"' ";
- mapper.UpdateQcmWt(sql.toString());
-
- String sql2 = "update QCM_JHY_SAMPLE_CONSIGN_D set MATERIAL_NO = '"+treeSet.first()+"' "
- +" where SPECIMEN_NO = '"+treesno.first()+"' ";
- mapper.UpdateQcmWt(sql2.toString());
- }
- SqlSession.commit();
-
-
- //查询检验
- sqlucomm.append("SELECT d.SMP_NO,d.SPECIMEN_NO,d.HEAT_NO,d.BATCH_NO,d.INSPECTION_LOT,d.FREQ_CODE,d.FREQ_NAME,"
- + " d.MATERIAL_NO,d.SEND_MEMO,d.SMP_TYPE_CODE,d.SMP_TYPE_NAME,d.CONSIGN_NO,d.CONSIGN_NO_SEQ,d.TEST_QTY,d.SMP_QTY,"
- + " d.SMP_LOCATION,d.BOARD_NO,d.QUOTE_CONSIGN_NO,d.OLD_CONSIGN_NO,d.PLINE_CODE,d.PLINE_NAME,d.CHEM_ITEM,"
- + "d.SOURCE,d.PRODUCT_CNT,d.MEMO, o.STEEL_CODE,o.STEEL_NAME ,o.THICK,o.WIDTH ,o.LENGTH ,o.DESIGN_KEY,"
- + "m.CERT_INST_CODE,m.CERT_INST_NAME,m.SMP_CATG,d.SEND_SEQ "
- + " FROM QCM_JHY_SAMPLE_CONSIGN_D d INNER JOIN QCM_JHY_SAMPLE_CONSIGN_M m "
- + " ON d.SMP_NO=m.SMP_NO INNER JOIN QCM_JHY_SAMPLE_R_ORD O ON d.SMP_NO = o.SMP_NO "
- + " where d.SPECIMEN_NO in ("+msInfo1+") and d.VALIDFLAG='1' and d.STATUS='0'");
-
-
- List<HashMap> lists=mapper.query(sqlucomm.toString());
- if (lists==null || lists.size()<1) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("待发送的检验委托数据已经不存在或未生成委托,请核实数据!");
- return cro;
- }
- //获取数据进行验证
- TreeSet<String> sizes=new TreeSet<String>();
- for (int i = 0; i < lists.size(); i++) {
- HashMap obj=lists.get(i);
- sizes.add((String)obj.get("SMP_CATG"));
- }
-
- if (sizes.size()!=1) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("待发送的检验委托数据只能同时发送一种类型的待检数据,请核实数据!");
- return cro;
- }
-
-
-
- JSONArray tarDate=new JSONArray();
- JSONArray LCtarDate=new JSONArray();//全自动激光切割加工中心系统
-
- Date date=new Date();
- SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String dateString=simpleDateFormat.format(date);
- //生成委托编号
- String consignNo=new SimpleDateFormat("yyyyMMdd").format(date);
- sqlucomm.setLength(0);
- sqlucomm.append("SELECT max(to_number(substr(CONSIGN_NO,-3,3))) BIGSEQ from QCM_JHY_SAMPLE_CONSIGN_D where CONSIGN_NO like '"+consignNo+"%'");
-
- HashMap map=mapper.queryOne(sqlucomm.toString());
- BigDecimal count = BigDecimal.ZERO;
- if( null != map.get("BIGSEQ")){
- count=(BigDecimal)map.get("BIGSEQ");
- }
- if (count.compareTo(BigDecimal.ZERO)==1) {
- count=count.add(BigDecimal.ONE);
- }else{
- count=BigDecimal.ONE;
- }
- consignNo=consignNo+String.format("%03d", count.intValue());
- System.out.println("======="+count.intValue());
- int seq=1;
-
-
- for (int i = 0; i < lists.size(); i++) {
- HashMap obj=lists.get(i);
- obj.put("SEND_ID", sendId);
- obj.put("SEND_NAME", sendName);
-
- obj.put("CONSIGN_NO", consignNo);
- obj.put("CONSIGN_NO_SEQ", seq++);
- obj.put("SEND_TIME", dateString);
- LCplineCode=obj.get("PLINE_CODE").toString();//全自动激光切割加工中心系统
- JSONObject smpleD = JSONObject.parseObject(JSON.toJSONString(obj));
-
- //目标json
- JSONObject tarObj=new JSONObject();
- //主表数据
- createTarObj(tarObj,smpleD);
- if(obj.get("PLINE_CODE").equals("RZ1")){
- //发送序号
- String sendSeq=createSendSeq(obj.get("PLINE_CODE").toString());
-
- String sendQ="select substr('"+sendSeq+"', 9) PRINT_SEQ from dual t ";
- List<HashMap> hmsendQ=mapper.query(sendQ.toString());
- String PRINT_SEQ=hmsendQ.get(0).get("PRINT_SEQ").toString();
- tarObj.put("printSeq", 'R'+PRINT_SEQ);
- PRINT_SEQ='R'+PRINT_SEQ;
-
- String qcmSendSeq =" update QCM_JHY_SAMPLE_CONSIGN_D t set SEND_SEQ = '"+sendSeq+"',PRINT_SEQ='"+PRINT_SEQ+"' "
- + " where PLINE_CODE = '"+obj.get("PLINE_CODE")+"' and SPECIMEN_NO = '"+obj.get("SPECIMEN_NO")+"' ";
- mapper.updateJudgeStatus(qcmSendSeq.toString());
- tarObj.put("sendSeq", sendSeq);
-
- //判定厚度
- String strRz=" select to_char(t.dcs_thk,'fm990.099') DCS_THK from tbh02_coil_comm t "
- + " where T.OLD_SAMPL_NO ='"+tarObj.getString("materialNo")+"' and t.dcs_thk is not null and rownum=1";
- List<HashMap> hmRz=mapper.query(strRz.toString());
- String dcsThk = "";
- if(hmRz!=null && hmRz.size()>=1){
- dcsThk=hmRz.get(0).get("DCS_THK").toString();
- }
- tarObj.put("dcsThk", dcsThk);//判定厚度人工输入
-
- }
-
- tarObj.put("CREATE_ID", sendId);
- tarObj.put("CREATE_NAME", sendName);
- tarObj.put("cretInstCode", obj.get("CERT_INST_CODE"));
- tarObj.put("cretInstName", obj.get("CERT_INST_NAME"));
-
- if ("5000".equals(obj.get("CERT_INST_CODE"))) {
- tarObj.put("type", "0");
- }else{
- tarObj.put("type", "1");
- }
-
-
- if ("B".equals(obj.get("SMP_CATG"))) {
- //材质
- sqlucomm.setLength(0);
- sqlucomm.append("select T.SPECIMEN_NO,T.SEQ,T.SMP_NO,T.PHY_NAME_L,T.PHY_CODE_L,T.PHY_CODE_M,T.PHY_NAME_M,T.PHY_CODE_S,"
- + "T.PHY_NAME_S,T.ITEM_CODE_D,T.ITEM_NAME_D,T.ITEM_CODE_T,T.ITEM_NAME_T,T.ITEM_CODE_S,T.ITEM_NAME_S,"
- + "T.ISJUDGE,T.JUDGE_BASIS,T.PHY_UNIT,T.GROUP_SEQ,T.QUOTE_SPECIMEN_NO,T.QUOTE_SEQ,T.MEMO,T.ITEM_CODE_L,"
- + " T.ITEM_DESC_L,T.TEST_QTY,T.SMP_QTY,T.CREATE_TIME,T.CREATE_ID,T.CREATE_NAME,T.SPECL_FL, "
- + "T.STDMIN_SIGN,T.STDMIN,T.STDMAX_SIGN,T.STDMAX,t.STDMEMO from QCM_JHY_SAMPLE_CONSIGN_D_ITEM T"
- + " WHERE T.SPECIMEN_NO='"+obj.get("SPECIMEN_NO")+"' and (T.QUOTE_SPECIMEN_NO is null or T.QUOTE_SPECIMEN_NO='') and t.Fy_Quote_Specimen_No is null ");
- List<HashMap> items=mapper.query(sqlucomm.toString());
- if (items!=null && items.size()>0) {
- JSONArray arrayItem=new JSONArray();
- for(int j = 0 ;j < items.size() ; j++){
- JSONObject oldItem =JSONObject.parseObject(JSON.toJSONString(items.get(j))) ;
- JSONObject tarItem=new JSONObject();
- //子表数据
- createItem(tarItem,oldItem);
- if(oldItem.getString("PHY_NAME_M").equals("现场洛氏硬度HRC")){
- tarItem.put("tsFlag", "1");//探伤
- }else{
- tarItem.put("tsFlag", "0");//非探伤
- }
- arrayItem.add(tarItem);
- }
- tarObj.put("items", arrayItem);
- }
-
- }else{
- //成分
- JSONObject chemItem=JSON.parseObject((String)obj.get("CHEM_ITEM"));
- tarObj.putAll(chemItem);
-
-
- }
-
- tarDate.add(tarObj);
- HashMap<String,String> hm = new HashMap<String,String>();
- hm.put("SPECIMEN_NO", obj.get("SPECIMEN_NO").toString());
- hm.put("BATCH_NO", obj.get("BATCH_NO").toString());
- hm.put("PLINE_CODE", LCplineCode);
- if(LCplineCode.equals("RZ1")){
- LCtarDate.add(tarObj);
- String strjg=qcmJg(hm);
- mapper.insert(strjg);
- }
- }
- logger.info("-------发送jon数组--"+tarDate.toJSONString());
- String tar=tarDate.toString();
- String result = "";//调用url
- try{
- result = httpURLPOSTCaseNew(urlStr,tar);//调用url
-
- if (result == null ||result.equals("null") || result.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("送样发送LIMS系统失败!返回值:"+result);
- SqlSession.rollback();
- return cro;
- }
- }catch(Exception e){
- cro.setV_errCode(-1);
- cro.setV_errMsg(e.getMessage());
- SqlSession.rollback();
- return cro;
- }
-
- String resultlist =result.substring(8, 11);
- if (!resultlist.equals("200") || resultlist == null || resultlist.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("送样发送LIMS系统失败!返回值:"+result);
- SqlSession.rollback();
- return cro;
- }
- if(resultlist.equals("200")){
- for (HashMap list : lists) {
- String sql = "update QCM_JHY_SAMPLE_CONSIGN_D "
- +" set STATUS = '2', "
- +" SEND_TIME = sysdate, "
- +" CONSIGN_NO = '"+list.get("CONSIGN_NO")+"', "
- +" CONSIGN_NO_SEQ = '"+list.get("CONSIGN_NO_SEQ")+"', "
- +" SEND_ID = '"+sendId+"', "
- +" SEND_NAME = '"+sendName+"', "
- +" SAMPL_PICK_RY = 'Y', "
- +" QRZ_SPECIMEN_NO = '"+list.get("SPECIMEN_NO")+"' "
- +" where SPECIMEN_NO = '"+list.get("SPECIMEN_NO")+"' ";
- mapper.UpdateQcmWt(sql.toString());
- treeSnoS.remove(list.get("SPECIMEN_NO"));
- }
- //判断是初样还是复样
- if(parmas.get("SMP_TYPE_CODE").equals("0")){
- for (String set : treeSnoS) {//所有取样编号
- String str="0";
- String treeSpNo=treesno.last();
- for (String set2 : treesno) {//送样取样编号
- if(set.equals(set2)){
- str="1";
- }
- }
- if(str.equals("1")){
- continue;
- }
- String sql = "update QCM_JHY_SAMPLE_CONSIGN_D "
- +" set STATUS = '1', "
- +" SEND_TIME = sysdate, "
- +" SEND_ID = '"+sendId+"', "
- +" SEND_NAME = '"+sendName+"', "
- +" QRZ_SPECIMEN_NO = '"+treeSpNo+"' "
- +" where SPECIMEN_NO = '"+set+"' ";
- mapper.UpdateQcmWt(sql.toString());
- }
- }else if(parmas.get("SMP_TYPE_CODE").equals("1")){
- for (String set2 : treesno) {//送样取样编号
- String jsno2= set2.substring(set2.length()-2);//截取后两位
-
- for (String set : treeSnoS) {//所有取样编号
- String jsno= set.substring(set.length()-2);//截取后两位
-
- String str="0";
- if(set2.equals(set) || !jsno2.equals(jsno)){//排除送样取样编号和复样取样编号后两位不一样的
- str="1";
- }
-
- if(str.equals("1")){
- continue;
- }
-
- String sql = "update QCM_JHY_SAMPLE_CONSIGN_D "
- +" set STATUS = '1', "
- +" SEND_TIME = sysdate, "
- +" SEND_ID = '"+sendId+"', "
- +" SEND_NAME = '"+sendName+"', "
- +" QRZ_SPECIMEN_NO = '"+set2+"' "
- +" where SPECIMEN_NO = '"+set+"' ";
- mapper.UpdateQcmWt(sql.toString());
- }
- }
- }
-
- cro.setV_errCode(1);
- cro.setV_errMsg("送样发送成功");
- }
-
- for (HashMap list : lists) {
- QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
- qjog.setOperate_name(sendName);
- qjog.setBatchno(list.get("BATCH_NO") == null ?"":list.get("BATCH_NO").toString());
- qjog.setOperate_type("人工送样发送");
- qjog.setParams(list.get("MATERIAL_NO") == null ?"":list.get("MATERIAL_NO").toString());
- qjog.setProd_line(list.get("PLINE_CODE") == null ?"":list.get("PLINE_CODE").toString());
- qjog.setMemo(list.get("SPECIMEN_NO").toString());
- mapper.insertQcmJudgeOperateLog(qjog);
- }
-
- SqlSession.commit();
- //全自动激光切割加工中心系统
- /*if(LCplineCode.equals("RZ1") && LCtarDate.size()>=1 ){
- String jgkg=QcmJhyJgKg(LCplineCode);
- if("1".equals(jgkg)){
- String LCurlStr = "http://172.16.0.169:82/Limsinterface/http/Tgcut";
- String LCtar=LCtarDate.toString();
- httpURLPOSTLaserCenter(LCurlStr,LCtar,LCplineCode);
- }
- }*/
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- SqlSession.rollback();
- cro.setV_errCode(-1);
- cro.setV_errMsg("人工送样发送委托失败!"+e.getMessage());
- return cro;
-
- }finally {
-
- SqlSession.close();
-
- }
-
- return cro;
- }
-
-
- /**
- * 中厚板 同轧批合并发送委托 调用LIMS接收委托接口,实现委托下发 中厚板合并发送
- * @return cro
- * @throws IOException
- */
- @SuppressWarnings("unchecked")
- public CoreReturnObject ZHBmergeSendLIMES(String Entrust,String sendId,String sendName,String sampleDeliveryTime){
- String urlStr = "http://172.16.0.169:82/Limsinterface/http/Inspection";
- try {
- String LCplineCode="LC";//全自动激光切割加工中心系统
- StringBuffer sqlucomm = new StringBuffer();
- String[] ja=Entrust.split(",");
- String msInfo="";
- if (ja!=null && ja.length>0) {
-
- for (int i = 0; i < ja.length; i++) {
- String sp = ja[i];
- if ("".equals(msInfo)) {
-
- msInfo="'"+sp+"'";
-
- }else{
- msInfo=msInfo+"'"+sp+"'";
- }
-
- if (i !=ja.length-1) {
- msInfo=msInfo+",";
- }
-
-
- }
-
- }
-
- //查询检验
- sqlucomm.append("SELECT d.SMP_NO,d.SPECIMEN_NO,d.HEAT_NO,d.BATCH_NO,d.INSPECTION_LOT,d.FREQ_CODE,d.FREQ_NAME,"
- + " d.MATERIAL_NO,d.SEND_MEMO,d.SMP_TYPE_CODE,d.SMP_TYPE_NAME,d.CONSIGN_NO,d.CONSIGN_NO_SEQ,d.TEST_QTY,d.SMP_QTY,"
- + " d.SMP_LOCATION,d.BOARD_NO,d.QUOTE_CONSIGN_NO,d.OLD_CONSIGN_NO,d.PLINE_CODE,d.PLINE_NAME,d.CHEM_ITEM,"
- + "d.SOURCE,d.PRODUCT_CNT,d.MEMO, o.STEEL_CODE,o.STEEL_NAME ,o.THICK,o.WIDTH ,o.LENGTH ,o.DESIGN_KEY,"
- + "m.CERT_INST_CODE,m.CERT_INST_NAME,m.SMP_CATG "
- + " FROM QCM_JHY_SAMPLE_CONSIGN_D d INNER JOIN QCM_JHY_SAMPLE_CONSIGN_M m "
- + " ON d.SMP_NO=m.SMP_NO INNER JOIN QCM_JHY_SAMPLE_R_ORD O ON d.SMP_NO = o.SMP_NO "
- + " where d.SPECIMEN_NO in ("+msInfo+") and d.VALIDFLAG='1' and d.STATUS='0'");
-
-
- List<HashMap> lists=mapper.query(sqlucomm.toString());
- if (lists==null || lists.size()<1) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("待发送的检验委托数据已经不存在,请核实数据!");
- return cro;
- }
- //获取数据进行验证
- TreeSet<String> sizes=new TreeSet<String>();
- TreeSet<String> treeSetBatchNo=new TreeSet<String>();//轧批号
- for (int i = 0; i < lists.size(); i++) {
- HashMap obj=lists.get(i);
- if(!"B".equals((String)obj.get("SMP_CATG"))){
- cro.setV_errCode(-1);
- cro.setV_errMsg("只能合并材质委托!!!");
- return cro;
- }
- sizes.add((String)obj.get("SMP_CATG"));
- treeSetBatchNo.add((String)obj.get("BATCH_NO"));
- }
-
- if (sizes.size()!=1) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("待发送的检验委托数据只能同时发送一种类型的待检数据,请核实数据!");
- return cro;
- }
- //判断是否是同轧批的
- if(treeSetBatchNo.size()!=1){
- cro.setV_errCode(-1);
- cro.setV_errMsg("同轧批合并发送只能是一个轧批号!");
- return cro;
- }
-
- String mnhhsql="select * from qcm_jhy_sample_consign_d t where t.Smp_Location like '%模拟焊后%' and t.batch_no = '"+treeSetBatchNo.first()+"' ";//判断是否是模拟焊后轧批
- List<HashMap> listm= mapper.query(mnhhsql.toString());
- if(listm!=null && listm.size()>=1){
- cro.setV_errCode(-1);
- cro.setV_errMsg("不允许同批合并发送!");
- return cro;
- }
-
- //普锰板(Q235A/B、Q345A/B、Q355B)都是检测中心的
- //提示 美标标准 指标准类别中含ASTM、ASME 不能合并
- String tipsSql=" select r.STEEL_CODE,r.thick,r.CERT_INST_NAME,r.delivery_state_desc,t.MATERIAL_NO "
- +" from qcm_jhy_sample_consign_d t,qcm_jhy_sample_consign_m m, qcm_jhy_sample_r_ord r "
- +" where t.smp_no = m.smp_no "
- +" and t.smp_no = r.smp_no "
- +" and t.freq_code <> 'D' "
- +" and t.batch_no = '"+treeSetBatchNo.first()+"' "
- +" and t.smp_type_code = '0' "
- +" and t.status = '0' "
- +" and (r.std_code like '%ASTM%' "
- +" or r.std_code like '%ASME%' or r.Cert_Inst_Code = 'IC005' ) "
- //+" and r.Cert_Inst_Code in ('5000','IC010','IC003','IC004','IC001')"
- + " and m.SMP_CATG = 'B' "
- + " group by r.STEEL_CODE,r.thick,r.CERT_INST_NAME,r.delivery_state_desc,t.MATERIAL_NO ";
- List<HashMap> tipsSqlhm=mapper.query(tipsSql.toString());
- if(tipsSqlhm!=null && tipsSqlhm.size()>=1){
- for (HashMap hashMap : tipsSqlhm) {
- String materialNo= hashMap.get("MATERIAL_NO").toString();
- String certInstName= hashMap.get("CERT_INST_NAME").toString();
- cro.setV_errCode(-1);
- cro.setV_errMsg("【"+materialNo+"】【"+certInstName+"】美标/ABS美国不能合并发送,需优先发送!美标标准指执行标准中含【ASTM、ASME】");
- return cro;
- }
- }
-
- String tmcpStr = "0";
- String arStr = "0";
- String crStr = "0";
- TreeSet<String> TdeliveryStateDesc=new TreeSet<String>();//交货状态
- //执行标准 ASTM ASME 非'5000','IC010','IC003','IC004','IC001' 不可合并
- //,'IC009','IC006','IC007','IC002'
- String sql="";
- sql= "select r.delivery_state_desc,r.thick "
- +" from qcm_jhy_sample_consign_d t,qcm_jhy_sample_consign_m m, qcm_jhy_sample_r_ord r "
- +" where t.smp_no = m.smp_no "
- +" and t.smp_no = r.smp_no "
- +" and t.freq_code <> 'D' "
- +" and t.batch_no = '"+treeSetBatchNo.first()+"' "
- +" and t.smp_type_code = '0' "
- +" and t.status = '0' "
- +" and r.std_code not like '%ASTM%' "
- +" and r.std_code not like '%ASME%' "
- +" and r.Cert_Inst_Code in ('5000','IC010','IC003','IC004','IC001')"
- + " and m.SMP_CATG = 'B' "
- + " group by r.delivery_state_desc,r.thick";
- List<HashMap> hmjh=mapper.query(sql.toString());
- if (hmjh==null || hmjh.size()<1) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("没有查询出可合并的委托:执行标准含【ASTM/ASME】、非【船板与普锰板(AR、CR、TMCP)】不可合并,需单独发送委托!");
- return cro;
- }
-
- //船板 免检 执行标准带Rules 同一厚度 同一轧批次 交货状态TMCP、AR
- if (hmjh!=null && hmjh.size()>=1) {
- for (int i = 0; i < hmjh.size(); i++) {
- HashMap obj=hmjh.get(i);
-
- if(obj.get("DELIVERY_STATE_DESC").toString().equals("TMCP")){
- tmcpStr="1";
- TdeliveryStateDesc.add((String)obj.get("DELIVERY_STATE_DESC"));//交货状态
- }
- if(obj.get("DELIVERY_STATE_DESC").toString().equals("AR")){
- arStr="1";
- TdeliveryStateDesc.add((String)obj.get("DELIVERY_STATE_DESC"));//交货状态
- }
- if(obj.get("DELIVERY_STATE_DESC").toString().equals("CR")){
- crStr="1";
- TdeliveryStateDesc.add((String)obj.get("DELIVERY_STATE_DESC"));//交货状态
- }
- }
- }
-
-
- //这一个轧批中有 TMCP、AR 普锰板
- String returnli = "0";
- String tmcpArSpecimenNo = "";
- //20230323修改 tmcpStr.equals("1") && arStr.equals("1")
- //,'IC009','IC006','IC007','IC002'
- if(TdeliveryStateDesc.size()>=1){
- String zbsql= " select * from (select t.batch_no,t.SPECIMEN_NO,r.delivery_state_desc,r.thick,"
- + " QCM_SPECFLAG(r.STEEL_CODE, r.THICK, r.std_code, m.CERT_INST_NAME) qcmSpecflag "
- +" from qcm_jhy_sample_consign_d t,qcm_jhy_sample_consign_m m, qcm_jhy_sample_r_ord r "
- +" where t.smp_no = m.smp_no "
- +" and t.smp_no = r.smp_no "
- +" and t.freq_code <> 'D' "
- +" and t.batch_no = '"+treeSetBatchNo.first()+"' "
- +" and t.smp_type_code = '0' "
- +" and t.status = '0' "
- +" and r.std_code not like '%ASTM%' "
- +" and r.std_code not like '%ASME%' "
- +" and r.Cert_Inst_Code in ('5000','IC010','IC003','IC004','IC001')"
- + " and m.SMP_CATG = 'B'"
- + " and r.delivery_state_desc in ('TMCP','AR','CR') "
- + " and (r.STD_CODE like '%Rules' OR r.steel_code in ('Q235A','Q235B','Q345A','Q345B','Q355B')) "
- + " ) t where t.qcmSpecflag in ('1','0') ";
- List<HashMap> zbhashMap=mapper.query(zbsql.toString());
- if(zbhashMap !=null && zbhashMap.size() >=2){//起码船板有两条数据
- TreeSet<String> tredsdesc=new TreeSet<String>();//交货状态
- TreeSet<String> tsetThick=new TreeSet<String>();//厚度 船板用
- TreeSet<String> treesp=new TreeSet<String>();
- //判断是否是船板 交货状态 两个 厚度一个
- for (int i = 0; i < zbhashMap.size(); i++) {
- HashMap obj=zbhashMap.get(i);
- tredsdesc.add((String)obj.get("DELIVERY_STATE_DESC"));//交货状态
- tsetThick.add((String)obj.get("THICK"));//厚度
- treesp.add((String)obj.get("SPECIMEN_NO"));
- if (StringUtils.isBlank(tmcpArSpecimenNo)) {
- tmcpArSpecimenNo="'"+(String)obj.get("SPECIMEN_NO")+"'";
- }else{
- tmcpArSpecimenNo=tmcpArSpecimenNo+","+"'"+(String)obj.get("SPECIMEN_NO")+"'";
- }
- /* if (i !=lists.size()-1) {
- tmcpArSpecimenNo=tmcpArSpecimenNo+",";
- }*/
-
- }
- //20230324 tredsdesc.size() >= 2
- if(tredsdesc.size() >= 1 && tsetThick.size() == 1 && treesp.size() >= 2){
- String returns = tmcpAr(zbhashMap, sendId, sendName, sampleDeliveryTime);//TMCP/AR 单独合并
- if(!returns.equals("200")){
- cro.setV_errCode(-1);
- cro.setV_errMsg("免船检TMCP/AR/CR失败:"+returns);
- return cro;
- }else{
- returnli = "200";
- }
- }
- }
- }
- String sqlSpecimenNo= "";
- if(returnli.equals("200")){
- sqlSpecimenNo = " and t.SPECIMEN_NO not in ("+tmcpArSpecimenNo+")";
- }
-
- //提示 是否是单个
- for (int i = 0; i < hmjh.size(); i++) {
- //拿取能合并的所有取样编号
- sql="";
- sql= "select * from (select t.SMP_NO,t.SPECIMEN_NO,t.HEAT_NO,t.BATCH_NO,t.INSPECTION_LOT,t.FREQ_CODE,t.FREQ_NAME,"
- + " t.MATERIAL_NO,t.SEND_MEMO,t.SMP_TYPE_CODE,t.SMP_TYPE_NAME,t.CONSIGN_NO,t.CONSIGN_NO_SEQ,t.TEST_QTY,t.SMP_QTY,"
- + " t.SMP_LOCATION,t.BOARD_NO,t.QUOTE_CONSIGN_NO,t.OLD_CONSIGN_NO,t.PLINE_CODE,t.PLINE_NAME,t.CHEM_ITEM,"
- + " t.SOURCE,t.PRODUCT_CNT,t.MEMO, r.STEEL_CODE,r.STEEL_NAME ,r.THICK,r.WIDTH ,r.LENGTH ,r.DESIGN_KEY,"
- + " m.CERT_INST_CODE,m.CERT_INST_NAME,m.SMP_CATG,t.PROCESS_NOS,r.Delivery_State_Desc, "
- + " r.std_code, QCM_SPECFLAG(r.STEEL_CODE, r.THICK, r.std_code, m.CERT_INST_NAME) qcmSpecflag "
- +" from qcm_jhy_sample_consign_d t,qcm_jhy_sample_consign_m m, qcm_jhy_sample_r_ord r "
- +" where t.smp_no = m.smp_no "
- +" and t.smp_no = r.smp_no "
- +" and t.freq_code <> 'D' "
- +" and t.batch_no = '"+treeSetBatchNo.first()+"' "
- +" and t.smp_type_code = '0' "
- +" and t.status = '0' "
- +" and r.std_code not like '%ASTM%' "
- +" and r.std_code not like '%ASME%' "
- +" and r.Cert_Inst_Code in ('5000','IC010','IC003','IC004','IC001')"
- + " and m.SMP_CATG = 'B' "
- + " and r.Delivery_State_Desc = '"+hmjh.get(i).get("DELIVERY_STATE_DESC")+"' "
- + " and r.thick = '"+hmjh.get(i).get("THICK")+"' "
- + " order by r.STEEL_CODE) t "
- + " where t.qcmSpecflag in ('1','0') "
- + sqlSpecimenNo;
- lists = null;
- lists=mapper.query(sql.toString());
- if (lists==null || lists.size()<=0) {
- break;
- }
-
- if(lists!=null && lists.size()<=1){
- String materialNo= lists.get(0).get("MATERIAL_NO").toString();
- String certInstName= lists.get(0).get("CERT_INST_NAME").toString();
- String thick= lists.get(0).get("THICK").toString();
- String steelCode= lists.get(0).get("STEEL_CODE").toString();
- String dsdesc= lists.get(0).get("DELIVERY_STATE_DESC").toString();
- cro.setV_errCode(-1);
- cro.setV_errMsg("【"+materialNo+"】【"+certInstName+"】厚度【"+thick+"】牌号【"+steelCode+"】交货状态【"+dsdesc+"】"
- + "满足以上条件的委托只有一条,请单独发送委托不用合并,需优先发送");
- return cro;
- }
- }
-
- //不同交货状态不能合并 同厚度
- for (int y = 0; y < hmjh.size(); y++) {
- String connectSpno = "";//连接这一批的取样编号查询
- String connectSpno2 = "";//连接这一批的取样编号(最低牌号)
- //拿取能合并的所有取样编号
- sql="";
- sql= "select * from (select t.SMP_NO,t.SPECIMEN_NO,t.HEAT_NO,t.BATCH_NO,t.INSPECTION_LOT,t.FREQ_CODE,t.FREQ_NAME,"
- + " t.MATERIAL_NO,t.SEND_MEMO,t.SMP_TYPE_CODE,t.SMP_TYPE_NAME,t.CONSIGN_NO,t.CONSIGN_NO_SEQ,t.TEST_QTY,t.SMP_QTY,"
- + " t.SMP_LOCATION,t.BOARD_NO,t.QUOTE_CONSIGN_NO,t.OLD_CONSIGN_NO,t.PLINE_CODE,t.PLINE_NAME,t.CHEM_ITEM,"
- + " t.SOURCE,t.PRODUCT_CNT,t.MEMO, r.STEEL_CODE,r.STEEL_NAME ,r.THICK,r.WIDTH ,r.LENGTH ,r.DESIGN_KEY,"
- + " m.CERT_INST_CODE,m.CERT_INST_NAME,m.SMP_CATG,t.PROCESS_NOS, "
- + " r.std_code, QCM_SPECFLAG(r.STEEL_CODE, r.THICK, r.std_code, m.CERT_INST_NAME) qcmSpecflag "
- +" from qcm_jhy_sample_consign_d t,qcm_jhy_sample_consign_m m, qcm_jhy_sample_r_ord r "
- +" where t.smp_no = m.smp_no "
- +" and t.smp_no = r.smp_no "
- +" and t.freq_code <> 'D' "
- +" and t.batch_no = '"+treeSetBatchNo.first()+"' "
- +" and t.smp_type_code = '0' "
- +" and t.status = '0' "
- +" and r.std_code not like '%ASTM%' "
- +" and r.std_code not like '%ASME%' "
- +" and r.Cert_Inst_Code in ('5000','IC010','IC003','IC004','IC001')"
- + " and m.SMP_CATG = 'B' "
- + " and r.Delivery_State_Desc = '"+hmjh.get(y).get("DELIVERY_STATE_DESC")+"' "
- + " and r.thick = '"+hmjh.get(y).get("THICK")+"' "
- + " order by r.STEEL_CODE) t "
- + " where t.qcmSpecflag in ('1','0') "
- + sqlSpecimenNo;
- lists = null;
- lists=mapper.query(sql.toString());
- if (lists==null || lists.size()<=0) {
- break;
- }
-
- String tresteelCode = "";
- TreeSet<String> TREEsteelCode=new TreeSet<String>();//牌号
- for (int i = 0; i < lists.size(); i++) {
- HashMap obj=lists.get(i);
- TREEsteelCode.add((String)obj.get("STEEL_CODE"));//牌号
- //能合并的取样编号
- if ("".equals(connectSpno)) {
- connectSpno="'"+(String)obj.get("SPECIMEN_NO")+"'";
- connectSpno2="'"+(String)obj.get("SPECIMEN_NO")+"'";
- }else{
- connectSpno=connectSpno+"'"+(String)obj.get("SPECIMEN_NO")+"'";
- connectSpno2=connectSpno2+"'"+(String)obj.get("SPECIMEN_NO")+"'";
- }
- if (i !=lists.size()-1) {
- connectSpno=connectSpno+",";
- connectSpno2=connectSpno2+";";
- }
- }
- //牌号合并
- for (String string2 : TREEsteelCode) {//发给lims
- String strSteelCode =string2;
- if(StringUtils.isBlank(tresteelCode)){//是否为空牌号
- tresteelCode = strSteelCode;
- }else{
- tresteelCode = tresteelCode +","+strSteelCode;
- }
- }
-
- TreeSet<String> treeSetSpecimenNo=new TreeSet<String>();//取样编号
- //美标牌号(指标准类别中含ASTM、ASME)不能跟其他标准牌号进行合并。
- //查询当前轧批的所有取样编号下的项目(取样编号)
- sql="";
- sql = "select i.* from QCM_JHY_SAMPLE_CONSIGN_D_ITEM i "
- +" where i.specimen_no in ( "+connectSpno+" ) and (i.QUOTE_SPECIMEN_NO is null or i.QUOTE_SPECIMEN_NO='') "
- + " order by i.phy_code_l asc, i.phy_code_s asc, i.item_code_d asc, i.PHY_CODE_M desc ";//注意:排序按 升序 冲击温度 横向一定要到纵向之前
- List<HashMap> hmap=mapper.query(sql.toString());
- if(hmap==null && hmap.size()<=0 ){
- break;
- }
-
- //判断有没有追加冲击试验 PHY_CODE_M:1 20230803
- String phyMT="0";
- sql="";
- sql = "select i.* from QCM_JHY_SAMPLE_CONSIGN_D_ITEM i "
- +" where i.specimen_no in ( "+connectSpno+" ) and (i.QUOTE_SPECIMEN_NO is null or i.QUOTE_SPECIMEN_NO='')"
- +" and i.PHY_CODE_L='HC' and PHY_CODE_M='1' ";
- List<HashMap> hmHC=mapper.query(sql.toString());
- if(hmHC!=null && hmHC.size()>=1 ){
- phyMT="1";//有追加冲击试验
- }
-
- //LIMS那边识别不了Q+T特殊字符 contains
- String dsdContains = hmjh.get(y).get("DELIVERY_STATE_DESC").toString();
- if(dsdContains.contains("+")){
- dsdContains="A";
- }else if(dsdContains.contains("-")){
- dsdContains="B";
- }
-
- sql ="";
- sql = "select nvl(max(to_number(substr(SPECIMEN_NO,-2))),0) NUMNO from QCM_JHY_ZHB_PHYSICS t where t.SPECIMEN_NO like 'ZHB"+treeSetBatchNo.first() + dsdContains+"%'";
- List<HashMap> mapnumno=mapper.query(sql.toString());
- BigDecimal hmap1 = (BigDecimal) mapnumno.get(0).get("NUMNO");
- Integer hmap3 = Integer.parseInt(hmap1.toString());
- hmap3++;
- //ZHB+轧批号+交货状态+两位数
- String specimenNo = "ZHB"+treeSetBatchNo.first()+dsdContains+String.format("%02d", hmap3);//组合取样材料号
- for (HashMap hashMap : hmap) {//当前所有项目明细
- treeSetSpecimenNo.add((String)hashMap.get("SPECIMEN_NO"));//获取当前所有参于的取样编号
- //代码
- String phyCodeL = (String) hashMap.get("PHY_CODE_L");//材质检验大项代码
- String phyCodeM = (String) hashMap.get("PHY_CODE_M");//试样组代码
- String phyCodeS = (String) hashMap.get("PHY_CODE_S");//材质检验项目代码
- String itemCodeD = (String) hashMap.get("ITEM_CODE_D");//试验方向代码
- String itemCodeT = (String) hashMap.get("ITEM_CODE_T");//试验温度代码 试验温度代码 冲击 被引用
- String itemCodeS = (String) hashMap.get("ITEM_CODE_S");//试样尺寸代码
- String itemCodeL = (String) hashMap.get("ITEM_CODE_L");//试验位置代码
-
- //名称
- String phyNameL = (String) hashMap.get("PHY_NAME_L");//材质检验大项
- String phyNameM = (String) hashMap.get("PHY_NAME_M");//试样组
- String phyNameS = (String) hashMap.get("PHY_NAME_S");//材质检验项目
- String itemNameD = (String) hashMap.get("ITEM_NAME_D");//试验方向
- String itemNameT = (String) hashMap.get("ITEM_NAME_T");//试验温度
- String itemNameS = (String) hashMap.get("ITEM_NAME_S");//试样尺寸
- String itemDescL = (String) hashMap.get("ITEM_DESC_L");//试验位置
-
- String newItem=phyCodeL+"-"+phyCodeM+"-"+phyCodeS;
- newItem=newItem+"-"+(itemCodeD!=null?itemCodeD:"null");
- newItem=newItem+"-"+(itemCodeT!=null?itemCodeT:"null");
- newItem=newItem+"-"+(itemCodeS!=null?itemCodeS:"null");
- //newItem=newItem+"-"+(itemCodeL!=null?itemCodeL:"null");
-
- String STDMIN_SIGN = (String) hashMap.get("STDMIN_SIGN");//标准范围下限符号
- String STDMIN = (String) hashMap.get("STDMIN");//标准范围下限
- String STDMAX_SIGN = (String) hashMap.get("STDMAX_SIGN");//标准范围上限符号
- String STDMAX = (String) hashMap.get("STDMAX");//标准范围上限
-
- STDMIN_SIGN = (STDMIN_SIGN!=null?STDMIN_SIGN:"");//标准范围下限符号
- STDMIN = (STDMIN!=null?STDMIN:"");//标准范围下限
- STDMAX_SIGN = (STDMAX_SIGN!=null?STDMAX_SIGN:"");//标准范围上限符号
- STDMAX = (STDMAX!=null?STDMAX:"");//标准范围上限
-
- //判断是否是冲击试验
- if(phyCodeS.equals("C01") || phyCodeS.equals("C02")){
- //有追加冲击试验 20230803
- if(phyMT.equals("1")){
- sql ="";
- //材质检验大项代码 HC 材质检验项目C01/C02 试样组0/1(不要) 试验温度
- sql = "select t.* from QCM_JHY_ZHB_PHYSICS t where t.specimen_no = '"+specimenNo+"' "
- + " and t.PHY_CODE_L ='"+phyCodeL+"' and t.ITEM_CODE_T='"+itemCodeT+"'"
- + " and t.PHY_CODE_S ='"+phyCodeS+"' "
- + " order by t.phy_code_l,t.phy_code_s,t.item_code_d asc ";
- List<HashMap> zhbmap=mapper.query(sql.toString());
- if(zhbmap==null || zhbmap.size()<=0 ){
- //查询当前合并取样编号的最大序号
- Integer seq=0;
- sql ="";
- sql = "select nvl(max(t.seq),0) seq from QCM_JHY_ZHB_PHYSICS t where t.specimen_no = '"+specimenNo+"' ";
- List<HashMap> seqmap=mapper.query(sql.toString());
- if(seqmap.get(0).get("SEQ")!=null && !"".equals(seqmap.get(0).get("SEQ"))){
- BigDecimal big = (BigDecimal)seqmap.get(0).get("SEQ");
- String seqs = big.toString();
- Integer seqint = Integer.parseInt(seqs);
- seqint++;
- seq=seqint;
- }
- sql="";
- sql = "insert into qcm_jhy_zhb_physics "
- +" (specimen_no, seq, test_qty, phy_code_l, phy_name_l, phy_code_m, phy_name_m, phy_code_s, phy_name_s, item_code_d, item_name_d, item_code_t, item_name_t, item_code_s, item_name_s, "
- + " STDMIN,STDMAX_SIGN,STDMAX,group_seq,item_code_l, item_desc_l,ISJUDGE, JUDGE_BASIS,phy_unit, memo, quote_specimen_no, merge_name, merge_time, phy_group_code,SMP_QTY,SPECL_FL,STDMIN_SIGN,ITEM_FLAG,STDMEMO) "
- +" select '"+specimenNo+"','"+seq+"',TEST_QTY,phy_code_l, phy_name_l, phy_code_m, phy_name_m, phy_code_s, phy_name_s, item_code_d, item_name_d, item_code_t, item_name_t, item_code_s, item_name_s, "
- + " STDMIN,STDMAX_SIGN,STDMAX,GROUP_SEQ,item_code_l, item_desc_l,ISJUDGE,JUDGE_BASIS,phy_unit,'有追加冲击试验',quote_specimen_no,'"+sendName+"',SYSDATE,'"+newItem+"',SMP_QTY,SPECL_FL,STDMIN_SIGN,ITEM_FLAG,STDMEMO "
- + " from QCM_JHY_SAMPLE_CONSIGN_D_ITEM t "
- + " where t.specimen_no = '"+hashMap.get("SPECIMEN_NO")+"' and t.seq = '"+hashMap.get("SEQ")+"' ";
- mapper.insert(sql);
- }
- continue;
- }
-
-
- sql ="";
- //材质检验大项代码 HC 试样组0/1 材质检验项目C01/C02
- sql = "select t.* from QCM_JHY_ZHB_PHYSICS t where t.specimen_no = '"+specimenNo+"' "
- + " and t.PHY_CODE_L ='"+phyCodeL+"' and t.PHY_CODE_M='"+phyCodeM+"'"
- + " and t.PHY_CODE_S ='"+phyCodeS+"' "
- + " order by t.phy_code_l,t.phy_code_s,t.item_code_d asc ";
- List<HashMap> zhbmap=mapper.query(sql.toString());
- //没有查到说明合并中没有这一项
- if(zhbmap==null || zhbmap.size()<=0 ){
- //查询当前合并取样编号的最大序号
- Integer seq=0;
- sql ="";
- sql = "select nvl(max(t.seq),0) seq from QCM_JHY_ZHB_PHYSICS t where t.specimen_no = '"+specimenNo+"' ";
- List<HashMap> seqmap=mapper.query(sql.toString());
- if(seqmap.get(0).get("SEQ")!=null && !"".equals(seqmap.get(0).get("SEQ"))){
- BigDecimal big = (BigDecimal)seqmap.get(0).get("SEQ");
- String seqs = big.toString();
- Integer seqint = Integer.parseInt(seqs);
- seqint++;
- seq=seqint;
- }
- sql="";
- sql = "insert into qcm_jhy_zhb_physics "
- +" (specimen_no, seq, test_qty, phy_code_l, phy_name_l, phy_code_m, phy_name_m, phy_code_s, phy_name_s, item_code_d, item_name_d, item_code_t, item_name_t, item_code_s, item_name_s, "
- + " STDMIN,STDMAX_SIGN,STDMAX,group_seq,item_code_l, item_desc_l,ISJUDGE, JUDGE_BASIS,phy_unit, memo, quote_specimen_no, merge_name, merge_time, phy_group_code,SMP_QTY,SPECL_FL,STDMIN_SIGN,ITEM_FLAG,STDMEMO) "
- +" select '"+specimenNo+"','"+seq+"',TEST_QTY,phy_code_l, phy_name_l, phy_code_m, phy_name_m, phy_code_s, phy_name_s, item_code_d, item_name_d, item_code_t, item_name_t, item_code_s, item_name_s, "
- + " STDMIN,STDMAX_SIGN,STDMAX,GROUP_SEQ,item_code_l, item_desc_l,ISJUDGE,JUDGE_BASIS,phy_unit,memo,quote_specimen_no,'"+sendName+"',SYSDATE,'"+newItem+"',SMP_QTY,SPECL_FL,STDMIN_SIGN,ITEM_FLAG,STDMEMO "
- + " from QCM_JHY_SAMPLE_CONSIGN_D_ITEM t "
- + " where t.specimen_no = '"+hashMap.get("SPECIMEN_NO")+"' and t.seq = '"+hashMap.get("SEQ")+"' ";
- mapper.insert(sql);
- }else{
- sql ="";
- //材质检验大项代码 HC 试样组0/1 材质检验项目C01/C02
- sql = "select t.* from QCM_JHY_ZHB_PHYSICS t where t.specimen_no = '"+specimenNo+"' "
- + " and t.PHY_CODE_L ='"+phyCodeL+"' and t.PHY_CODE_M='"+phyCodeM+"'"
- + " and t.PHY_CODE_S ='"+phyCodeS+"' "
- + " order by t.phy_code_l,t.phy_code_s,t.item_code_d asc ";
- List<HashMap> hmitemCode=mapper.query(sql.toString());
- TreeSet<String> tritemCode=new TreeSet<String>();//试验方向代码 A 横向
- TreeSet<String> tritemCode2=new TreeSet<String>();//试验方向代码 B 纵向
- for (int i = 0; i < hmitemCode.size(); i++) {
- if(hmitemCode.get(i).get("ITEM_CODE_D").toString().equals("A")){
- tritemCode.add((String)hmitemCode.get(i).get("ITEM_CODE_D"));
- }else if(hmitemCode.get(i).get("ITEM_CODE_D").toString().equals("B")){
- tritemCode2.add((String)hmitemCode.get(i).get("ITEM_CODE_D"));
- }
-
- }
-
- if(itemCodeD.equals("A")){//横向冲击可以替代纵向冲击
- String itemCodeT2 = (String) hmitemCode.get(0).get("ITEM_CODE_T");//试验温度代码
- Integer co1t= Integer.parseInt(itemCodeT);//被引用 当前循环的数据
- Integer co2t= Integer.parseInt(itemCodeT2);//引用 在合并表中的数据
- if(co1t < co2t){ // -40 < -20 < 0 < 20 给lims下发最低的温度
- sql = "";
- sql =" update QCM_JHY_ZHB_PHYSICS t "
- + " set t.ITEM_CODE_D = '"+itemCodeD+"', t.ITEM_NAME_D = '"+itemNameD+"', "
- + " t.ITEM_CODE_T = '"+itemCodeT+"',t.ITEM_NAME_T = '"+itemNameT+"', "
- + " t.ITEM_CODE_S = '"+itemCodeS+"',t.ITEM_NAME_S = '"+itemNameS+"', "
- + " t.ITEM_CODE_L = '"+itemCodeL+"',t.ITEM_DESC_L = '"+itemDescL+"', "
- + " t.PHY_GROUP_CODE='"+newItem+"', "
- + " t.STDMIN_SIGN='"+STDMIN_SIGN+"', t.STDMIN='"+STDMIN+"', t.STDMAX_SIGN='"+STDMAX_SIGN+"', t.STDMAX='"+STDMAX+"' "
- +" where t.specimen_no = '"+specimenNo+"' "
- +" and t.PHY_CODE_L ='"+phyCodeL+"' and t.PHY_CODE_M='"+phyCodeM+"'"
- +" and t.PHY_CODE_S ='"+phyCodeS+"' ";
- mapper.updateJudgeStatus(sql.toString());
- }
- }else if(itemCodeD.equals("B")){//纵向不能替代横向 如果纵向大于横向 从新加入一条纵向冲击
- //判断横向
- if(tritemCode.size()<=1 && tritemCode2.size()<=0){//没有纵向
- String itemCodeT2 = (String) hmitemCode.get(0).get("ITEM_CODE_T");//试验温度代码
- String itemCodeD2 = (String) hmitemCode.get(0).get("ITEM_CODE_D");//试验方向代码 A 横向0 -20 B 纵向 0 -20
- Integer co1t= Integer.parseInt(itemCodeT);//被引用 当前循环的数据 纵向温度
- Integer co2t= Integer.parseInt(itemCodeT2);//引用 在合并表中的数据 横向温度
- if(co1t < co2t){//如果纵向温度低于横向温度 插入
- //查询当前合并取样编号的最大序号
- Integer seq=0;
- sql ="";
- sql = "select nvl(max(t.seq),0) seq from QCM_JHY_ZHB_PHYSICS t where t.specimen_no = '"+specimenNo+"' ";
- List<HashMap> seqmap=mapper.query(sql.toString());
- if(seqmap.get(0).get("SEQ")!=null && !"".equals(seqmap.get(0).get("SEQ"))){
- BigDecimal big = (BigDecimal)seqmap.get(0).get("SEQ");
- String seqs = big.toString();
- Integer seqint = Integer.parseInt(seqs);
- seqint++;
- seq=seqint;
- }
- sql="";
- sql = "insert into qcm_jhy_zhb_physics "
- +" (specimen_no, seq, test_qty, phy_code_l, phy_name_l, phy_code_m, phy_name_m, phy_code_s, phy_name_s, item_code_d, item_name_d, item_code_t, item_name_t, item_code_s, item_name_s, "
- + " STDMIN,STDMAX_SIGN,STDMAX,group_seq,item_code_l, item_desc_l,ISJUDGE, JUDGE_BASIS,phy_unit, memo, quote_specimen_no, merge_name, merge_time, phy_group_code,SMP_QTY,SPECL_FL,STDMIN_SIGN,ITEM_FLAG,STDMEMO) "
- +" select '"+specimenNo+"','"+seq+"',TEST_QTY,phy_code_l, phy_name_l, phy_code_m, phy_name_m, phy_code_s, phy_name_s, item_code_d, item_name_d, item_code_t, item_name_t, item_code_s, item_name_s, "
- + " STDMIN,STDMAX_SIGN,STDMAX,GROUP_SEQ,item_code_l, item_desc_l,ISJUDGE,JUDGE_BASIS,phy_unit,memo,quote_specimen_no,'"+sendName+"',SYSDATE,'"+newItem+"',SMP_QTY,SPECL_FL,STDMIN_SIGN,ITEM_FLAG,STDMEMO "
- + " from QCM_JHY_SAMPLE_CONSIGN_D_ITEM t "
- + " where t.specimen_no = '"+hashMap.get("SPECIMEN_NO")+"' and t.seq = '"+hashMap.get("SEQ")+"' ";
- mapper.insert(sql);
- }
- }else {//到了这一步说明 合并中已经有了纵向的温度
- sql ="";
- //材质检验大项代码 HC 试样组0/1 材质检验项目C01/C02
- sql = "select t.* from QCM_JHY_ZHB_PHYSICS t where t.specimen_no = '"+specimenNo+"' "
- + " and t.PHY_CODE_L ='"+phyCodeL+"' and t.PHY_CODE_M='"+phyCodeM+"'"
- + " and t.PHY_CODE_S ='"+phyCodeS+"' and t.ITEM_CODE_D = 'B' "
- + " order by t.phy_code_l,t.phy_code_s,t.item_code_d asc ";
- List<HashMap> hmB=mapper.query(sql.toString());
- String itemCodeT2 = (String) hmB.get(0).get("ITEM_CODE_T");//试验温度代码
- Integer co1t= Integer.parseInt(itemCodeT);//被引用 当前循环的数据 纵向温度
- Integer co2t= Integer.parseInt(itemCodeT2);//引用 在合并表中的数据 横向温度
- if(co1t < co2t){ // -40 < -20 < 0 < 20 给lims下发最低的温度
- sql = "";
- sql =" update QCM_JHY_ZHB_PHYSICS t "
- + " set t.ITEM_CODE_D = '"+itemCodeD+"', t.ITEM_NAME_D = '"+itemNameD+"', "
- + " t.ITEM_CODE_T = '"+itemCodeT+"',t.ITEM_NAME_T = '"+itemNameT+"', "
- + " t.ITEM_CODE_S = '"+itemCodeS+"',t.ITEM_NAME_S = '"+itemNameS+"', "
- + " t.ITEM_CODE_L = '"+itemCodeL+"',t.ITEM_DESC_L = '"+itemDescL+"', "
- + " t.PHY_GROUP_CODE='"+newItem+"', "
- + " t.STDMIN_SIGN='"+STDMIN_SIGN+"', t.STDMIN='"+STDMIN+"', t.STDMAX_SIGN='"+STDMAX_SIGN+"', t.STDMAX='"+STDMAX+"' "
- +" where t.specimen_no = '"+specimenNo+"' "
- +" and t.PHY_CODE_L ='"+phyCodeL+"' and t.PHY_CODE_M='"+phyCodeM+"'"
- +" and t.PHY_CODE_S ='"+phyCodeS+"' and t.ITEM_CODE_D = 'B' ";
- mapper.updateJudgeStatus(sql.toString());
- }
-
- }
-
- }
-
- }
-
- }else{
- sql ="";
- sql = "select t.* from QCM_JHY_ZHB_PHYSICS t where t.specimen_no = '"+specimenNo+"' "
- + " and t.PHY_GROUP_CODE='"+newItem+"' ";
- List<HashMap> zhbmap=mapper.query(sql.toString());
- //没有查到说明合并中没有这一项
- if(zhbmap==null || zhbmap.size()<=0 ){
- //查询当前合并取样编号的最大序号
- Integer seq=0;
- sql ="";
- sql = "select nvl(max(t.seq),0) seq from QCM_JHY_ZHB_PHYSICS t where t.specimen_no = '"+specimenNo+"' ";
- List<HashMap> seqmap=mapper.query(sql.toString());
- if(seqmap.get(0).get("SEQ")!=null && !"".equals(seqmap.get(0).get("SEQ"))){
- BigDecimal big = (BigDecimal)seqmap.get(0).get("SEQ");
- String seqs = big.toString();
- Integer seqint = Integer.parseInt(seqs);
- seqint++;
- seq=seqint;
- }
- sql="";
- sql = "insert into qcm_jhy_zhb_physics "
- +" (specimen_no, seq, test_qty, phy_code_l, phy_name_l, phy_code_m, phy_name_m, phy_code_s, phy_name_s, item_code_d, item_name_d, item_code_t, item_name_t, item_code_s, item_name_s, "
- + " STDMIN,STDMAX_SIGN,STDMAX,group_seq,item_code_l, item_desc_l,ISJUDGE, JUDGE_BASIS,phy_unit, memo, quote_specimen_no, merge_name, merge_time, phy_group_code,SMP_QTY,SPECL_FL,STDMIN_SIGN,ITEM_FLAG,STDMEMO) "
- +" select '"+specimenNo+"','"+seq+"',TEST_QTY,phy_code_l, phy_name_l, phy_code_m, phy_name_m, phy_code_s, phy_name_s, item_code_d, item_name_d, item_code_t, item_name_t, item_code_s, item_name_s, "
- + " STDMIN,STDMAX_SIGN,STDMAX,GROUP_SEQ,item_code_l, item_desc_l,ISJUDGE,JUDGE_BASIS,phy_unit,memo,quote_specimen_no,'"+sendName+"',SYSDATE,'"+newItem+"',SMP_QTY,SPECL_FL,STDMIN_SIGN,ITEM_FLAG,STDMEMO "
- + " from QCM_JHY_SAMPLE_CONSIGN_D_ITEM t "
- + " where t.specimen_no = '"+hashMap.get("SPECIMEN_NO")+"' and t.seq = '"+hashMap.get("SEQ")+"' ";
- mapper.insert(sql);
- }
- }
-
-
- }
- //修改所有的取样编号 合并标识
- for (String string2 : treeSetSpecimenNo) {
- sql = "";
- sql =" update QCM_JHY_SAMPLE_CONSIGN_D t set t.ZHB_SPECIMEN_NO = '"+specimenNo+"' "
- + " where t.SPECIMEN_NO ='"+string2+"' ";
- mapper.updateJudgeStatus(sql.toString());
-
- sql = "";
- sql =" update QCM_JHY_SAMPLE_CONSIGN_D_ITEM t set t.ZHB_SPECIMEN_NO = '"+specimenNo+"' "
- + " where t.SPECIMEN_NO ='"+string2+"' ";
- mapper.updateJudgeStatus(sql.toString());
- }
-
-
-
-
- JSONArray tarDate=new JSONArray();
- JSONArray LCtarDate=new JSONArray();//全自动激光切割加工中心系统
-
- Date date=new Date();
- SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String dateString=simpleDateFormat.format(date);
- //生成委托编号
- String consignNo=new SimpleDateFormat("yyyyMMdd").format(date);
- sqlucomm.setLength(0);
- sqlucomm.append("SELECT max(to_number(substr(CONSIGN_NO,-3,3))) BIGSEQ from QCM_JHY_SAMPLE_CONSIGN_D where CONSIGN_NO like '"+consignNo+"%'");
-
- HashMap map=mapper.queryOne(sqlucomm.toString());
- BigDecimal count = BigDecimal.ZERO;
- if( null != map.get("BIGSEQ")){
- count=(BigDecimal)map.get("BIGSEQ");
- }
- if (count.compareTo(BigDecimal.ZERO)==1) {
- count=count.add(BigDecimal.ONE);
- }else{
- count=BigDecimal.ONE;
- }
- consignNo=consignNo+String.format("%03d", count.intValue());
- System.out.println("======="+count.intValue());
- int seq=1;
-
- String plineCodeLims = "";//中厚板送样产线,按送样时间确定
- //lists.size()
- for (int i = 0; i < 1; i++) {
- HashMap obj=lists.get(i);
- //中厚板送样产线
- if(obj.get("PLINE_CODE").toString().equals("ZB1") || obj.get("PLINE_CODE").toString().equals("HB1")){
- if(sampleDeliveryTime.contains("06:30:00") || sampleDeliveryTime.contains("10:30:00") ||
- sampleDeliveryTime.contains("17:30:00") || sampleDeliveryTime.contains("20:30:00")){
- plineCodeLims = "HB1";
- }else if(sampleDeliveryTime.contains("03:00:00") || sampleDeliveryTime.contains("11:00:00") ||
- sampleDeliveryTime.contains("15:00:00") || sampleDeliveryTime.contains("18:00:00") ||
- sampleDeliveryTime.contains("21:00:00") || sampleDeliveryTime.contains("06:00:00") ){
- plineCodeLims = "ZB1";
- }
- }
- obj.put("PLINE_CODE_LIMS", plineCodeLims);
-
- obj.put("SPECIMEN_NO", specimenNo);
- obj.put("SEND_ID", sendId);
- obj.put("SEND_NAME", sendName);//发送人
- obj.put("CONSIGN_NO", consignNo);//委托编号
- obj.put("CONSIGN_NO_SEQ", seq++);
- obj.put("SEND_TIME", dateString);//发送时间
- LCplineCode=obj.get("PLINE_CODE").toString();//全自动激光切割加工中心系统
- JSONObject smpleD = JSONObject.parseObject(JSON.toJSONString(obj));
-
- //目标json
- JSONObject tarObj=new JSONObject();
- //主表数据
- createTarObj(tarObj,smpleD);
-
- //发送序号 createSendSeq
- String sendSeq=createSendSeq(tarObj.getString("plineCode").toString());//发送序号
-
- //String sendQ="select to_number(substr('"+sendSeq+"', 8)) PRINT_SEQ from dual t ";
- String sendQ="select substr('"+sendSeq+"', 9) PRINT_SEQ from dual t ";
- List<HashMap> hmsendQ=mapper.query(sendQ.toString());
- String PRINT_SEQ=hmsendQ.get(0).get("PRINT_SEQ").toString();
-
- if(tarObj.getString("plineCode").equals("ZB1")){
- tarObj.put("printSeq", 'Z'+PRINT_SEQ);
- PRINT_SEQ='Z'+PRINT_SEQ;
- }else if(tarObj.getString("plineCode").equals("HB1")){
- tarObj.put("printSeq", 'H'+PRINT_SEQ);
- PRINT_SEQ='H'+PRINT_SEQ;
- }
-
- String qcmSendSeq =" update QCM_JHY_SAMPLE_CONSIGN_D t set SEND_SEQ = '"+sendSeq+"',PRINT_SEQ='"+PRINT_SEQ+"' "
- + " where PLINE_CODE = '"+obj.get("PLINE_CODE")+"' and ZHB_SPECIMEN_NO = '"+specimenNo+"' ";
- mapper.updateJudgeStatus(qcmSendSeq.toString());
- tarObj.put("sendSeq", sendSeq);
-
-
- tarObj.put("CREATE_ID", sendId);
- tarObj.put("CREATE_NAME", sendName);
- tarObj.put("sampleDeliveryTime", sampleDeliveryTime);//送样时间点
- tarObj.put("steelCode",tresteelCode);//牌号合并
- tarObj.put("steelName",tresteelCode);//牌号合并
- tarObj.put("cretInstCode", obj.get("CERT_INST_CODE"));
- tarObj.put("cretInstName", obj.get("CERT_INST_NAME"));
- //热处理号
- tarObj.put("heatTreatment", obj.get("PROCESS_NOS"));
-
- //传给lims的成分标识
- String componentsql ="select t.* from QCM_JHY_SAMPLE_CONSIGN_D t,QCM_JHY_SAMPLE_CONSIGN_M m "
- +" where t.smp_no = m.smp_no and m.SMP_CATG = 'A' and t.batch_no = '"+smpleD.getString("BATCH_NO")+"' ";
- List<HashMap> componentLog=mapper.query(componentsql.toString());
- if(componentLog!=null && componentLog.size()>=1){
- tarObj.put("componentLog", '1');//1代表有成分
- }else{
- tarObj.put("componentLog", '0');//0代表无成分
- }
-
- if ("5000".equals(obj.get("CERT_INST_CODE"))) {
- tarObj.put("type", "0");
- }else{
- tarObj.put("type", "1");
- }
-
-
- if ("B".equals(obj.get("SMP_CATG"))) {
- //材质
- sqlucomm.setLength(0);
- sqlucomm.append("select T.SPECIMEN_NO,T.SEQ,T.PHY_NAME_L,T.PHY_CODE_L,T.PHY_CODE_M,T.PHY_NAME_M,T.PHY_CODE_S,"
- + "T.PHY_NAME_S,T.ITEM_CODE_D,T.ITEM_NAME_D,T.ITEM_CODE_T,T.ITEM_NAME_T,T.ITEM_CODE_S,T.ITEM_NAME_S,"
- + "T.ISJUDGE,T.JUDGE_BASIS,T.PHY_UNIT,T.GROUP_SEQ,T.QUOTE_SPECIMEN_NO,T.MEMO,T.ITEM_CODE_L,"
- + " T.ITEM_DESC_L,T.TEST_QTY,T.SMP_QTY,T.SPECL_FL,T.STDMIN_SIGN,T.STDMIN,T.STDMAX_SIGN,T.STDMAX, "
- + " T.STDMEMO from QCM_JHY_ZHB_PHYSICS T"
- + " WHERE T.SPECIMEN_NO='"+specimenNo+"' and t.VAL1 is null and t.SEND_LOG <> '1' ");
- List<HashMap> items=mapper.query(sqlucomm.toString());
- if (items!=null && items.size()>0) {
- JSONArray arrayItem=new JSONArray();
- for(int j = 0 ;j < items.size() ; j++){
- JSONObject oldItem =JSONObject.parseObject(JSON.toJSONString(items.get(j))) ;
- JSONObject tarItem=new JSONObject();
- //子表数据
- createItem(tarItem,oldItem);
- if(oldItem.getString("PHY_NAME_M").equals("现场洛氏硬度HRC")){
- tarItem.put("tsFlag", "1");//探伤
- }else{
- tarItem.put("tsFlag", "0");//非探伤
- }
- arrayItem.add(tarItem);
- }
- tarObj.put("items", arrayItem);
- }
-
- }else{
- //成分
- JSONObject chemItem=JSON.parseObject((String)obj.get("CHEM_ITEM"));
- tarObj.putAll(chemItem);
- }
-
- tarDate.add(tarObj);
- //全自动激光切割加工中心系统
- HashMap<String,String> hm = new HashMap<String,String>();
- hm.put("SPECIMEN_NO", specimenNo);
- hm.put("BATCH_NO", obj.get("BATCH_NO").toString());
- hm.put("PLINE_CODE", "ZHB");
- if(LCplineCode.equals("HB1")){
- String lcThick = obj.get("THICK").toString();
- double lcThick2 = Double.parseDouble(lcThick);
- if(lcThick2<=25){
- LCtarDate.add(tarObj);
- String strjg=qcmJg(hm);
- mapper.insert(strjg);
- }
- }else if(LCplineCode.equals("ZB1")){
- LCtarDate.add(tarObj);
- String strjg=qcmJg(hm);
- mapper.insert(strjg);
- }
- }
- logger.info("-------发送jon数组--"+tarDate.toJSONString());
- String tar=tarDate.toString();
- String result = "";//调用url
- try{
- result = httpURLPOSTCaseNew(urlStr,tar);//调用url
-
- if (result == null ||result.equals("null") || result.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("发送LIMS系统失败!返回值:"+result);
- SqlSession.rollback();
- return cro;
- }
-
- }catch(Exception e){
- cro.setV_errCode(-1);
- cro.setV_errMsg(e.getMessage());
- return cro;
- }
-
-
- String resultlist =result.substring(8, 11);
- if (!resultlist.equals("200") || resultlist == null || resultlist.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("发送LIMS系统失败!"+result);
- SqlSession.rollback();
- return cro;
- }
-
-
-
- if(resultlist.equals("200")){
- //把所有的取样编号的委托 状态修改成已发送
- String sdtime = "0";
- for (String string3 : treeSetSpecimenNo) {
- sql = "";
- sql =" update QCM_JHY_SAMPLE_CONSIGN_D t set STATUS = '2',SEND_TIME=sysdate,"
- + " CONSIGN_NO='"+consignNo+"', CONSIGN_NO_SEQ = '1', "
- + " SEND_ID = '"+sendId+"',SEND_NAME = '"+sendName+"',t.PLINE_CODE_LIMS = '"+plineCodeLims+"' "
- + " where t.SPECIMEN_NO ='"+string3+"' ";
- mapper.updateJudgeStatus(sql.toString());
-
- if(sdtime.equals("0")){
- String sql2 = " update QCM_JHY_SAMPLE_CONSIGN_D t "
- + " set t.SAMPLE_DELIVERY_TIME = '"+sampleDeliveryTime+"' "
- + " where t.SPECIMEN_NO = '"+string3+"' ";
- mapper.UpdateQcmWt(sql2.toString());
- sdtime = "1";
- }
- }
- //合并表
- sql = "";
- sql =" update QCM_JHY_ZHB_PHYSICS t set t.SEND_LOG = '1' "
- + " where t.SPECIMEN_NO ='"+specimenNo+"' and t.SEND_LOG <> '1' ";
- mapper.updateJudgeStatus(sql.toString());
- }
- for (HashMap list : lists) {
- QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
- qjog.setOperate_name(sendName);
- qjog.setBatchno(list.get("BATCH_NO") == null ?"":list.get("BATCH_NO").toString());
- qjog.setOperate_type("同轧批牌号合并发送");
- qjog.setParams(list.get("MATERIAL_NO") == null ?"":list.get("MATERIAL_NO").toString());
- qjog.setProd_line(list.get("PLINE_CODE") == null ?"":list.get("PLINE_CODE").toString());
- qjog.setMemo(list.get("SPECIMEN_NO") == null ?"":list.get("SPECIMEN_NO").toString());
- mapper.insertQcmJudgeOperateLog(qjog);
- }
- SqlSession.commit();
-
- //全自动激光切割加工中心系统
- /* if(LCplineCode.equals("HB1") || LCplineCode.equals("ZB1")){
- if(LCtarDate.size()>=1){
- String jgkg=QcmJhyJgKg(LCplineCode);
- if("1".equals(jgkg)){
- String LCurlStr = "http://172.16.0.169:82/Limsinterface/http/Tgcut";
- String LCtar=LCtarDate.toString();
- httpURLPOSTLaserCenter(LCurlStr,LCtar,LCplineCode);
- }
- }
- }*/
- }
- cro.setV_errCode(1);
- cro.setV_errMsg("发送成功");
- } catch (Exception e) {
- e.printStackTrace();
- SqlSession.rollback();
- cro.setV_errCode(-1);
- cro.setV_errMsg("发送委托失败!"+e.getMessage());
- return cro;
-
- }finally {
-
- SqlSession.close();
-
- }
-
- return cro;
- }
- //船板 同批 同厚度 TMCP和AR/CR交货状态 合并
- public String tmcpAr(List<HashMap> tmcpArList,String sendId,String sendName,String sampleDeliveryTime){
- String urlStr = "http://172.16.0.169:82/Limsinterface/http/Inspection";
- try {
- String LCplineCode="LC";
- StringBuffer sqlucomm = new StringBuffer();
- String batchNo="";
- String connSpecimenNo = "";
- for (int i = 0; i < tmcpArList.size(); i++) {
- HashMap obj=tmcpArList.get(i);
- batchNo = (String)obj.get("BATCH_NO");
- if ("".equals(connSpecimenNo)) {
- connSpecimenNo="'"+(String)obj.get("SPECIMEN_NO")+"'";
- }else{
- connSpecimenNo=connSpecimenNo+"'"+(String)obj.get("SPECIMEN_NO")+"'";
- }
- if (i !=tmcpArList.size()-1) {
- connSpecimenNo=connSpecimenNo+",";
- }
- }
- String connectSpno = "";//连接这一批的取样编号查询
- String connectSpno2 = "";//连接这一批的取样编号(最低牌号)
- //拿取能合并的所有取样编号
- //,'IC009','IC006','IC007','IC002'
- String sql="";
- sql= "select * from (select t.SMP_NO,t.SPECIMEN_NO,t.HEAT_NO,t.BATCH_NO,t.INSPECTION_LOT,t.FREQ_CODE,t.FREQ_NAME,"
- + " t.MATERIAL_NO,t.SEND_MEMO,t.SMP_TYPE_CODE,t.SMP_TYPE_NAME,t.CONSIGN_NO,t.CONSIGN_NO_SEQ,t.TEST_QTY,t.SMP_QTY,"
- + " t.SMP_LOCATION,t.BOARD_NO,t.QUOTE_CONSIGN_NO,t.OLD_CONSIGN_NO,t.PLINE_CODE,t.PLINE_NAME,t.CHEM_ITEM,"
- + " t.SOURCE,t.PRODUCT_CNT,t.MEMO, r.STEEL_CODE,r.STEEL_NAME ,r.THICK,r.WIDTH ,r.LENGTH ,r.DESIGN_KEY,"
- + " m.CERT_INST_CODE,m.CERT_INST_NAME,m.SMP_CATG,t.PROCESS_NOS, "
- + " r.std_code, QCM_SPECFLAG(r.STEEL_CODE, r.THICK, r.std_code, m.CERT_INST_NAME) qcmSpecflag "
- +" from qcm_jhy_sample_consign_d t,qcm_jhy_sample_consign_m m, qcm_jhy_sample_r_ord r "
- +" where t.smp_no = m.smp_no "
- +" and t.smp_no = r.smp_no "
- +" and t.freq_code <> 'D' "
- +" and t.batch_no = '"+batchNo+"' "
- +" and t.smp_type_code = '0' "
- +" and t.status = '0' "
- +" and r.std_code not like '%ASTM%' "
- +" and r.std_code not like '%ASME%' "
- +" and r.Cert_Inst_Code in ('5000','IC010','IC003','IC004','IC001')"
- + " and m.SMP_CATG = 'B' "
- + " and t.SPECIMEN_NO in ("+connSpecimenNo+") "
- + " order by r.STEEL_CODE) t where t.qcmSpecflag in ('1','0') ";
- List<HashMap> lists=mapper.query(sql.toString());
- if (lists==null || lists.size()<=0) {
- return "TMCP/AR/CR合并未找到相应的委托";
- }
- String tresteelCode = "";
- TreeSet<String> TREEsteelCode=new TreeSet<String>();//牌号
- for (int i = 0; i < lists.size(); i++) {
- HashMap obj=lists.get(i);
- TREEsteelCode.add((String)obj.get("STEEL_CODE"));//牌号
- //能合并的取样编号
- if ("".equals(connectSpno)) {
- connectSpno="'"+(String)obj.get("SPECIMEN_NO")+"'";
- connectSpno2="'"+(String)obj.get("SPECIMEN_NO")+"'";
- }else{
- connectSpno=connectSpno+"'"+(String)obj.get("SPECIMEN_NO")+"'";
- connectSpno2=connectSpno2+"'"+(String)obj.get("SPECIMEN_NO")+"'";
- }
- if (i !=lists.size()-1) {
- connectSpno=connectSpno+",";
- connectSpno2=connectSpno2+";";
- }
- }
- //牌号合并
- for (String string2 : TREEsteelCode) {//发给lims
- String strSteelCode =string2;
- if(StringUtils.isBlank(tresteelCode)){//是否为空牌号
- tresteelCode = strSteelCode;
- }else{
- tresteelCode = tresteelCode +","+strSteelCode;
- }
- }
- //System.out.println("合并牌号:"+tresteelCode);
-
- TreeSet<String> treeSetSpecimenNo=new TreeSet<String>();//取样编号
- //美标牌号(指标准类别中含ASTM、ASME)不能跟其他标准牌号进行合并。
- //查询当前轧批的所有取样编号下的项目(取样编号)
- sql="";
- sql = "select i.* from QCM_JHY_SAMPLE_CONSIGN_D_ITEM i "
- +" where i.specimen_no in ( "+connectSpno+" ) "
- + " order by i.phy_code_l asc, i.phy_code_s asc, i.item_code_d asc, i.PHY_CODE_M desc ";//注意:排序按 升序 冲击温度 横向一定要到纵向之前
- List<HashMap> hmap=mapper.query(sql.toString());
- if(hmap==null && hmap.size()<=0 ){
- return "TMCP/AR/CR合并未找到相应项目";
- }
-
- //判断有没有追加冲击试验 PHY_CODE_M:1 20230803
- String phyMT="0";
- sql="";
- sql = "select i.* from QCM_JHY_SAMPLE_CONSIGN_D_ITEM i "
- +" where i.specimen_no in ( "+connectSpno+" ) and (i.QUOTE_SPECIMEN_NO is null or i.QUOTE_SPECIMEN_NO='')"
- +" and i.PHY_CODE_L='HC' and PHY_CODE_M='1' ";
- List<HashMap> hmHC=mapper.query(sql.toString());
- if(hmHC!=null && hmHC.size()>=1 ){
- phyMT="1";//有追加冲击试验
- }
-
- sql ="";
- sql = "select nvl(max(to_number(substr(SPECIMEN_NO,-2))),0) NUMNO from QCM_JHY_ZHB_PHYSICS t where t.SPECIMEN_NO like 'ZHB"+batchNo+"TMCPAR%'";
- List<HashMap> mapnumno=mapper.query(sql.toString());
- BigDecimal hmap1 = (BigDecimal) mapnumno.get(0).get("NUMNO");
- Integer hmap3 = Integer.parseInt(hmap1.toString());
- hmap3++;
- //ZHB+轧批号+交货状态+两位数
- String specimenNo = "ZHB"+batchNo+"TMCPAR"+String.format("%02d", hmap3);//组合取样材料号
- for (HashMap hashMap : hmap) {//当前所有项目明细
- treeSetSpecimenNo.add((String)hashMap.get("SPECIMEN_NO"));//获取当前所有参于的取样编号
- //代码
- String phyCodeL = (String) hashMap.get("PHY_CODE_L");//材质检验大项代码
- String phyCodeM = (String) hashMap.get("PHY_CODE_M");//试样组代码
- String phyCodeS = (String) hashMap.get("PHY_CODE_S");//材质检验项目代码
- String itemCodeD = (String) hashMap.get("ITEM_CODE_D");//试验方向代码
- String itemCodeT = (String) hashMap.get("ITEM_CODE_T");//试验温度代码 试验温度代码 冲击 被引用
- String itemCodeS = (String) hashMap.get("ITEM_CODE_S");//试样尺寸代码
- String itemCodeL = (String) hashMap.get("ITEM_CODE_L");//试验位置代码
-
- //名称
- String phyNameL = (String) hashMap.get("PHY_NAME_L");//材质检验大项
- String phyNameM = (String) hashMap.get("PHY_NAME_M");//试样组
- String phyNameS = (String) hashMap.get("PHY_NAME_S");//材质检验项目
- String itemNameD = (String) hashMap.get("ITEM_NAME_D");//试验方向
- String itemNameT = (String) hashMap.get("ITEM_NAME_T");//试验温度
- String itemNameS = (String) hashMap.get("ITEM_NAME_S");//试样尺寸
- String itemDescL = (String) hashMap.get("ITEM_DESC_L");//试验位置
-
- String newItem=phyCodeL+"-"+phyCodeM+"-"+phyCodeS;
- newItem=newItem+"-"+(itemCodeD!=null?itemCodeD:"null");
- newItem=newItem+"-"+(itemCodeT!=null?itemCodeT:"null");
- newItem=newItem+"-"+(itemCodeS!=null?itemCodeS:"null");
- //newItem=newItem+"-"+(itemCodeL!=null?itemCodeL:"null");
-
- String STDMIN_SIGN = (String) hashMap.get("STDMIN_SIGN");//标准范围下限符号
- String STDMIN = (String) hashMap.get("STDMIN");//标准范围下限
- String STDMAX_SIGN = (String) hashMap.get("STDMAX_SIGN");//标准范围上限符号
- String STDMAX = (String) hashMap.get("STDMAX");//标准范围上限
-
- STDMIN_SIGN = (STDMIN_SIGN!=null?STDMIN_SIGN:"");//标准范围下限符号
- STDMIN = (STDMIN!=null?STDMIN:"");//标准范围下限
- STDMAX_SIGN = (STDMAX_SIGN!=null?STDMAX_SIGN:"");//标准范围上限符号
- STDMAX = (STDMAX!=null?STDMAX:"");//标准范围上限
-
- //判断是否是冲击试验
- if(phyCodeS.equals("C01") || phyCodeS.equals("C02")){
-
- //有追加冲击试验 20230803
- if(phyMT.equals("1")){
- sql ="";
- //材质检验大项代码 HC 材质检验项目C01/C02 试样组0/1(不要) 试验温度
- sql = "select t.* from QCM_JHY_ZHB_PHYSICS t where t.specimen_no = '"+specimenNo+"' "
- + " and t.PHY_CODE_L ='"+phyCodeL+"' and t.ITEM_CODE_T='"+itemCodeT+"'"
- + " and t.PHY_CODE_S ='"+phyCodeS+"' "
- + " order by t.phy_code_l,t.phy_code_s,t.item_code_d asc ";
- List<HashMap> zhbmap=mapper.query(sql.toString());
- if(zhbmap==null || zhbmap.size()<=0 ){
- //查询当前合并取样编号的最大序号
- Integer seq=0;
- sql ="";
- sql = "select nvl(max(t.seq),0) seq from QCM_JHY_ZHB_PHYSICS t where t.specimen_no = '"+specimenNo+"' ";
- List<HashMap> seqmap=mapper.query(sql.toString());
- if(seqmap.get(0).get("SEQ")!=null && !"".equals(seqmap.get(0).get("SEQ"))){
- BigDecimal big = (BigDecimal)seqmap.get(0).get("SEQ");
- String seqs = big.toString();
- Integer seqint = Integer.parseInt(seqs);
- seqint++;
- seq=seqint;
- }
- sql="";
- sql = "insert into qcm_jhy_zhb_physics "
- +" (specimen_no, seq, test_qty, phy_code_l, phy_name_l, phy_code_m, phy_name_m, phy_code_s, phy_name_s, item_code_d, item_name_d, item_code_t, item_name_t, item_code_s, item_name_s, "
- + " STDMIN,STDMAX_SIGN,STDMAX,group_seq,item_code_l, item_desc_l,ISJUDGE, JUDGE_BASIS,phy_unit, memo, quote_specimen_no, merge_name, merge_time, phy_group_code,SMP_QTY,SPECL_FL,STDMIN_SIGN,ITEM_FLAG,STDMEMO) "
- +" select '"+specimenNo+"','"+seq+"',TEST_QTY,phy_code_l, phy_name_l, phy_code_m, phy_name_m, phy_code_s, phy_name_s, item_code_d, item_name_d, item_code_t, item_name_t, item_code_s, item_name_s, "
- + " STDMIN,STDMAX_SIGN,STDMAX,GROUP_SEQ,item_code_l, item_desc_l,ISJUDGE,JUDGE_BASIS,phy_unit,'有追加冲击试验',quote_specimen_no,'"+sendName+"',SYSDATE,'"+newItem+"',SMP_QTY,SPECL_FL,STDMIN_SIGN,ITEM_FLAG,STDMEMO "
- + " from QCM_JHY_SAMPLE_CONSIGN_D_ITEM t "
- + " where t.specimen_no = '"+hashMap.get("SPECIMEN_NO")+"' and t.seq = '"+hashMap.get("SEQ")+"' ";
- mapper.insert(sql);
- }
- continue;
- }
-
- sql ="";
- //材质检验大项代码 HC 试样组0/1 材质检验项目C01/C02
- sql = "select t.* from QCM_JHY_ZHB_PHYSICS t where t.specimen_no = '"+specimenNo+"' "
- + " and t.PHY_CODE_L ='"+phyCodeL+"' and t.PHY_CODE_M='"+phyCodeM+"'"
- + " and t.PHY_CODE_S ='"+phyCodeS+"' "
- + " order by t.phy_code_l,t.phy_code_s,t.item_code_d asc ";
- List<HashMap> zhbmap=mapper.query(sql.toString());
- //没有查到说明合并中没有这一项
- if(zhbmap==null || zhbmap.size()<=0 ){
- //查询当前合并取样编号的最大序号
- Integer seq=0;
- sql ="";
- sql = "select nvl(max(t.seq),0) seq from QCM_JHY_ZHB_PHYSICS t where t.specimen_no = '"+specimenNo+"' ";
- List<HashMap> seqmap=mapper.query(sql.toString());
- if(seqmap.get(0).get("SEQ")!=null && !"".equals(seqmap.get(0).get("SEQ"))){
- BigDecimal big = (BigDecimal)seqmap.get(0).get("SEQ");
- String seqs = big.toString();
- Integer seqint = Integer.parseInt(seqs);
- seqint++;
- seq=seqint;
- }
- sql="";
- sql = "insert into qcm_jhy_zhb_physics "
- +" (specimen_no, seq, test_qty, phy_code_l, phy_name_l, phy_code_m, phy_name_m, phy_code_s, phy_name_s, item_code_d, item_name_d, item_code_t, item_name_t, item_code_s, item_name_s, "
- + " STDMIN,STDMAX_SIGN,STDMAX,group_seq,item_code_l, item_desc_l,ISJUDGE, JUDGE_BASIS,phy_unit, memo, quote_specimen_no, merge_name, merge_time, phy_group_code,SMP_QTY,SPECL_FL,STDMIN_SIGN,ITEM_FLAG,STDMEMO) "
- +" select '"+specimenNo+"','"+seq+"',TEST_QTY,phy_code_l, phy_name_l, phy_code_m, phy_name_m, phy_code_s, phy_name_s, item_code_d, item_name_d, item_code_t, item_name_t, item_code_s, item_name_s, "
- + " STDMIN,STDMAX_SIGN,STDMAX,GROUP_SEQ,item_code_l, item_desc_l,ISJUDGE,JUDGE_BASIS,phy_unit,memo,quote_specimen_no,'"+sendName+"',SYSDATE,'"+newItem+"',SMP_QTY,SPECL_FL,STDMIN_SIGN,ITEM_FLAG,STDMEMO "
- + " from QCM_JHY_SAMPLE_CONSIGN_D_ITEM t "
- + " where t.specimen_no = '"+hashMap.get("SPECIMEN_NO")+"' and t.seq = '"+hashMap.get("SEQ")+"' ";
- mapper.insert(sql);
- }else{
- sql ="";
- //材质检验大项代码 HC 试样组0/1 材质检验项目C01/C02
- sql = "select t.* from QCM_JHY_ZHB_PHYSICS t where t.specimen_no = '"+specimenNo+"' "
- + " and t.PHY_CODE_L ='"+phyCodeL+"' and t.PHY_CODE_M='"+phyCodeM+"'"
- + " and t.PHY_CODE_S ='"+phyCodeS+"' "
- + " order by t.phy_code_l,t.phy_code_s,t.item_code_d asc ";
- List<HashMap> hmitemCode=mapper.query(sql.toString());
- TreeSet<String> tritemCode=new TreeSet<String>();//试验方向代码 A 横向
- TreeSet<String> tritemCode2=new TreeSet<String>();//试验方向代码 B 纵向
- for (int i = 0; i < hmitemCode.size(); i++) {
- if(hmitemCode.get(i).get("ITEM_CODE_D").toString().equals("A")){
- tritemCode.add((String)hmitemCode.get(i).get("ITEM_CODE_D"));
- }else if(hmitemCode.get(i).get("ITEM_CODE_D").toString().equals("B")){
- tritemCode2.add((String)hmitemCode.get(i).get("ITEM_CODE_D"));
- }
-
- }
-
- if(itemCodeD.equals("A")){//横向冲击可以替代纵向冲击
- String itemCodeT2 = (String) hmitemCode.get(0).get("ITEM_CODE_T");//试验温度代码
- Integer co1t= Integer.parseInt(itemCodeT);//被引用 当前循环的数据
- Integer co2t= Integer.parseInt(itemCodeT2);//引用 在合并表中的数据
- if(co1t < co2t){ // -40 < -20 < 0 < 20 给lims下发最低的温度
- sql = "";
- sql =" update QCM_JHY_ZHB_PHYSICS t "
- + " set t.ITEM_CODE_D = '"+itemCodeD+"', t.ITEM_NAME_D = '"+itemNameD+"', "
- + " t.ITEM_CODE_T = '"+itemCodeT+"',t.ITEM_NAME_T = '"+itemNameT+"', "
- + " t.ITEM_CODE_S = '"+itemCodeS+"',t.ITEM_NAME_S = '"+itemNameS+"', "
- + " t.ITEM_CODE_L = '"+itemCodeL+"',t.ITEM_DESC_L = '"+itemDescL+"', "
- + " t.PHY_GROUP_CODE='"+newItem+"',"
- + " t.STDMIN_SIGN='"+STDMIN_SIGN+"', t.STDMIN='"+STDMIN+"', t.STDMAX_SIGN='"+STDMAX_SIGN+"', t.STDMAX='"+STDMAX+"' "
- +" where t.specimen_no = '"+specimenNo+"' "
- +" and t.PHY_CODE_L ='"+phyCodeL+"' and t.PHY_CODE_M='"+phyCodeM+"'"
- +" and t.PHY_CODE_S ='"+phyCodeS+"' ";
- mapper.updateJudgeStatus(sql.toString());
- }
- }else if(itemCodeD.equals("B")){//纵向不能替代横向 如果纵向大于横向 从新加入一条纵向冲击
- //判断横向
- if(tritemCode.size()<=1 && tritemCode2.size()<=0){//没有纵向
- String itemCodeT2 = (String) hmitemCode.get(0).get("ITEM_CODE_T");//试验温度代码
- String itemCodeD2 = (String) hmitemCode.get(0).get("ITEM_CODE_D");//试验方向代码 A 横向0 -20 B 纵向 0 -20
- Integer co1t= Integer.parseInt(itemCodeT);//被引用 当前循环的数据 纵向温度
- Integer co2t= Integer.parseInt(itemCodeT2);//引用 在合并表中的数据 横向温度
- if(co1t < co2t){//如果纵向温度低于横向温度 插入
- //查询当前合并取样编号的最大序号
- Integer seq=0;
- sql ="";
- sql = "select nvl(max(t.seq),0) seq from QCM_JHY_ZHB_PHYSICS t where t.specimen_no = '"+specimenNo+"' ";
- List<HashMap> seqmap=mapper.query(sql.toString());
- if(seqmap.get(0).get("SEQ")!=null && !"".equals(seqmap.get(0).get("SEQ"))){
- BigDecimal big = (BigDecimal)seqmap.get(0).get("SEQ");
- String seqs = big.toString();
- Integer seqint = Integer.parseInt(seqs);
- seqint++;
- seq=seqint;
- }
- sql="";
- sql = "insert into qcm_jhy_zhb_physics "
- +" (specimen_no, seq, test_qty, phy_code_l, phy_name_l, phy_code_m, phy_name_m, phy_code_s, phy_name_s, item_code_d, item_name_d, item_code_t, item_name_t, item_code_s, item_name_s, "
- + " STDMIN,STDMAX_SIGN,STDMAX,group_seq,item_code_l, item_desc_l,ISJUDGE, JUDGE_BASIS,phy_unit, memo, quote_specimen_no, merge_name, merge_time, phy_group_code,SMP_QTY,SPECL_FL,STDMIN_SIGN,ITEM_FLAG,STDMEMO) "
- +" select '"+specimenNo+"','"+seq+"',TEST_QTY,phy_code_l, phy_name_l, phy_code_m, phy_name_m, phy_code_s, phy_name_s, item_code_d, item_name_d, item_code_t, item_name_t, item_code_s, item_name_s, "
- + " STDMIN,STDMAX_SIGN,STDMAX,GROUP_SEQ,item_code_l, item_desc_l,ISJUDGE,JUDGE_BASIS,phy_unit,memo,quote_specimen_no,'"+sendName+"',SYSDATE,'"+newItem+"',SMP_QTY,SPECL_FL,STDMIN_SIGN,ITEM_FLAG,STDMEMO "
- + " from QCM_JHY_SAMPLE_CONSIGN_D_ITEM t "
- + " where t.specimen_no = '"+hashMap.get("SPECIMEN_NO")+"' and t.seq = '"+hashMap.get("SEQ")+"' ";
- mapper.insert(sql);
- }
- }else {//到了这一步说明 合并中已经有了纵向的温度
- sql ="";
- //材质检验大项代码 HC 试样组0/1 材质检验项目C01/C02
- sql = "select t.* from QCM_JHY_ZHB_PHYSICS t where t.specimen_no = '"+specimenNo+"' "
- + " and t.PHY_CODE_L ='"+phyCodeL+"' and t.PHY_CODE_M='"+phyCodeM+"'"
- + " and t.PHY_CODE_S ='"+phyCodeS+"' and t.ITEM_CODE_D = 'B' "
- + " order by t.phy_code_l,t.phy_code_s,t.item_code_d asc ";
- List<HashMap> hmB=mapper.query(sql.toString());
- String itemCodeT2 = (String) hmB.get(0).get("ITEM_CODE_T");//试验温度代码
- Integer co1t= Integer.parseInt(itemCodeT);//被引用 当前循环的数据 纵向温度
- Integer co2t= Integer.parseInt(itemCodeT2);//引用 在合并表中的数据 横向温度
- if(co1t < co2t){ // -40 < -20 < 0 < 20 给lims下发最低的温度
- sql = "";
- sql =" update QCM_JHY_ZHB_PHYSICS t "
- + " set t.ITEM_CODE_D = '"+itemCodeD+"', t.ITEM_NAME_D = '"+itemNameD+"', "
- + " t.ITEM_CODE_T = '"+itemCodeT+"',t.ITEM_NAME_T = '"+itemNameT+"', "
- + " t.ITEM_CODE_S = '"+itemCodeS+"',t.ITEM_NAME_S = '"+itemNameS+"', "
- + " t.ITEM_CODE_L = '"+itemCodeL+"',t.ITEM_DESC_L = '"+itemDescL+"', "
- + " t.PHY_GROUP_CODE='"+newItem+"',"
- + " t.STDMIN_SIGN='"+STDMIN_SIGN+"', t.STDMIN='"+STDMIN+"', t.STDMAX_SIGN='"+STDMAX_SIGN+"', t.STDMAX='"+STDMAX+"' "
- +" where t.specimen_no = '"+specimenNo+"' "
- +" and t.PHY_CODE_L ='"+phyCodeL+"' and t.PHY_CODE_M='"+phyCodeM+"'"
- +" and t.PHY_CODE_S ='"+phyCodeS+"' and t.ITEM_CODE_D = 'B' ";
- mapper.updateJudgeStatus(sql.toString());
- }
-
- }
-
- }
-
- }
-
- }else{
- sql ="";
- sql = "select t.* from QCM_JHY_ZHB_PHYSICS t where t.specimen_no = '"+specimenNo+"' "
- + " and t.PHY_GROUP_CODE='"+newItem+"' ";
- List<HashMap> zhbmap=mapper.query(sql.toString());
- //没有查到说明合并中没有这一项
- if(zhbmap==null || zhbmap.size()<=0 ){
- //查询当前合并取样编号的最大序号
- Integer seq=0;
- sql ="";
- sql = "select nvl(max(t.seq),0) seq from QCM_JHY_ZHB_PHYSICS t where t.specimen_no = '"+specimenNo+"' ";
- List<HashMap> seqmap=mapper.query(sql.toString());
- if(seqmap.get(0).get("SEQ")!=null && !"".equals(seqmap.get(0).get("SEQ"))){
- BigDecimal big = (BigDecimal)seqmap.get(0).get("SEQ");
- String seqs = big.toString();
- Integer seqint = Integer.parseInt(seqs);
- seqint++;
- seq=seqint;
- }
- sql="";
- sql = "insert into qcm_jhy_zhb_physics "
- +" (specimen_no, seq, test_qty, phy_code_l, phy_name_l, phy_code_m, phy_name_m, phy_code_s, phy_name_s, item_code_d, item_name_d, item_code_t, item_name_t, item_code_s, item_name_s, "
- + " STDMIN,STDMAX_SIGN,STDMAX,group_seq,item_code_l, item_desc_l,ISJUDGE, JUDGE_BASIS,phy_unit, memo, quote_specimen_no, merge_name, merge_time, phy_group_code,SMP_QTY,SPECL_FL,STDMIN_SIGN,ITEM_FLAG,STDMEMO) "
- +" select '"+specimenNo+"','"+seq+"',TEST_QTY,phy_code_l, phy_name_l, phy_code_m, phy_name_m, phy_code_s, phy_name_s, item_code_d, item_name_d, item_code_t, item_name_t, item_code_s, item_name_s, "
- + " STDMIN,STDMAX_SIGN,STDMAX,GROUP_SEQ,item_code_l, item_desc_l,ISJUDGE,JUDGE_BASIS,phy_unit,memo,quote_specimen_no,'"+sendName+"',SYSDATE,'"+newItem+"',SMP_QTY,SPECL_FL,STDMIN_SIGN,ITEM_FLAG,STDMEMO "
- + " from QCM_JHY_SAMPLE_CONSIGN_D_ITEM t "
- + " where t.specimen_no = '"+hashMap.get("SPECIMEN_NO")+"' and t.seq = '"+hashMap.get("SEQ")+"' ";
- mapper.insert(sql);
- }
- }
-
-
- }
- //修改所有的取样编号 合并标识
- for (String string2 : treeSetSpecimenNo) {
- sql = "";
- sql =" update QCM_JHY_SAMPLE_CONSIGN_D t set t.ZHB_SPECIMEN_NO = '"+specimenNo+"' "
- + " where t.SPECIMEN_NO ='"+string2+"' ";
- mapper.updateJudgeStatus(sql.toString());
-
- sql = "";
- sql =" update QCM_JHY_SAMPLE_CONSIGN_D_ITEM t set t.ZHB_SPECIMEN_NO = '"+specimenNo+"' "
- + " where t.SPECIMEN_NO ='"+string2+"' ";
- mapper.updateJudgeStatus(sql.toString());
- }
-
-
-
-
- JSONArray tarDate=new JSONArray();
- JSONArray LCtarDate=new JSONArray();//全自动激光切割加工中心系统
-
- Date date=new Date();
- SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String dateString=simpleDateFormat.format(date);
- //生成委托编号
- String consignNo=new SimpleDateFormat("yyyyMMdd").format(date);
- sqlucomm.setLength(0);
- sqlucomm.append("SELECT max(to_number(substr(CONSIGN_NO,-3,3))) BIGSEQ from QCM_JHY_SAMPLE_CONSIGN_D where CONSIGN_NO like '"+consignNo+"%'");
-
- HashMap map=mapper.queryOne(sqlucomm.toString());
- BigDecimal count = BigDecimal.ZERO;
- if( null != map.get("BIGSEQ")){
- count=(BigDecimal)map.get("BIGSEQ");
- }
- if (count.compareTo(BigDecimal.ZERO)==1) {
- count=count.add(BigDecimal.ONE);
- }else{
- count=BigDecimal.ONE;
- }
- consignNo=consignNo+String.format("%03d", count.intValue());
- System.out.println("======="+count.intValue());
- int seq=1;
-
- String plineCodeLims = "";//中厚板送样产线,按送样时间确定
- //lists.size()
- for (int i = 0; i < 1; i++) {
- HashMap obj=lists.get(i);
- //中厚板送样产线
- if(obj.get("PLINE_CODE").toString().equals("ZB1") || obj.get("PLINE_CODE").toString().equals("HB1")){
- if(sampleDeliveryTime.contains("06:30:00") || sampleDeliveryTime.contains("10:30:00") ||
- sampleDeliveryTime.contains("17:30:00") || sampleDeliveryTime.contains("20:30:00")){
- plineCodeLims = "HB1";
- }else if(sampleDeliveryTime.contains("03:00:00") || sampleDeliveryTime.contains("11:00:00") ||
- sampleDeliveryTime.contains("15:00:00") || sampleDeliveryTime.contains("18:00:00") ||
- sampleDeliveryTime.contains("21:00:00") || sampleDeliveryTime.contains("06:00:00") ){
- plineCodeLims = "ZB1";
- }
- }
- obj.put("PLINE_CODE_LIMS", plineCodeLims);
-
- obj.put("SPECIMEN_NO", specimenNo);
- obj.put("SEND_ID", sendId);
- obj.put("SEND_NAME", sendName);//发送人
- obj.put("CONSIGN_NO", consignNo);//委托编号
- obj.put("CONSIGN_NO_SEQ", seq++);
- obj.put("SEND_TIME", dateString);//发送时间
- LCplineCode=obj.get("PLINE_CODE").toString();//全自动激光切割加工中心系统
- JSONObject smpleD = JSONObject.parseObject(JSON.toJSONString(obj));
-
- //目标json
- JSONObject tarObj=new JSONObject();
- //主表数据
- createTarObj(tarObj,smpleD);
-
- //发送序号 createSendSeq
- String sendSeq=createSendSeq(tarObj.getString("plineCode").toString());//发送序号
-
- //String sendQ="select to_number(substr('"+sendSeq+"', 8)) PRINT_SEQ from dual t ";
- String sendQ="select substr('"+sendSeq+"', 9) PRINT_SEQ from dual t ";
- List<HashMap> hmsendQ=mapper.query(sendQ.toString());
- String PRINT_SEQ=hmsendQ.get(0).get("PRINT_SEQ").toString();
- if(tarObj.getString("plineCode").equals("ZB1")){
- tarObj.put("printSeq", 'Z'+PRINT_SEQ);
- PRINT_SEQ='Z'+PRINT_SEQ;
- }else if(tarObj.getString("plineCode").equals("HB1")){
- tarObj.put("printSeq", 'H'+PRINT_SEQ);
- PRINT_SEQ='H'+PRINT_SEQ;
- }
-
- String qcmSendSeq =" update QCM_JHY_SAMPLE_CONSIGN_D t set SEND_SEQ = '"+sendSeq+"',PRINT_SEQ='"+PRINT_SEQ+"' "
- + " where PLINE_CODE = '"+obj.get("PLINE_CODE")+"' and ZHB_SPECIMEN_NO = '"+specimenNo+"' ";
- mapper.updateJudgeStatus(qcmSendSeq.toString());
- tarObj.put("sendSeq", sendSeq);
-
-
-
- tarObj.put("CREATE_ID", sendId);
- tarObj.put("CREATE_NAME", sendName);
- tarObj.put("sampleDeliveryTime", sampleDeliveryTime);//送样时间点
- tarObj.put("steelCode",tresteelCode);//牌号合并
- tarObj.put("steelName",tresteelCode);//牌号合并
- tarObj.put("cretInstCode", obj.get("CERT_INST_CODE"));
- tarObj.put("cretInstName", obj.get("CERT_INST_NAME"));
- //热处理号
- tarObj.put("heatTreatment", obj.get("PROCESS_NOS"));
- //传给lims的成分标识
- String componentsql ="select t.* from QCM_JHY_SAMPLE_CONSIGN_D t,QCM_JHY_SAMPLE_CONSIGN_M m "
- +" where t.smp_no = m.smp_no and m.SMP_CATG = 'A' and t.batch_no = '"+smpleD.getString("BATCH_NO")+"' ";
- List<HashMap> componentLog=mapper.query(componentsql.toString());
- if(componentLog!=null && componentLog.size()>=1){
- tarObj.put("componentLog", '1');//1代表有成分
- }else{
- tarObj.put("componentLog", '0');//0代表无成分
- }
-
- if ("5000".equals(obj.get("CERT_INST_CODE"))) {
- tarObj.put("type", "0");
- }else{
- tarObj.put("type", "1");
- }
-
-
- if ("B".equals(obj.get("SMP_CATG"))) {
- //材质
- sqlucomm.setLength(0);
- sqlucomm.append("select T.SPECIMEN_NO,T.SEQ,T.PHY_NAME_L,T.PHY_CODE_L,T.PHY_CODE_M,T.PHY_NAME_M,T.PHY_CODE_S,"
- + "T.PHY_NAME_S,T.ITEM_CODE_D,T.ITEM_NAME_D,T.ITEM_CODE_T,T.ITEM_NAME_T,T.ITEM_CODE_S,T.ITEM_NAME_S,"
- + "T.ISJUDGE,T.JUDGE_BASIS,T.PHY_UNIT,T.GROUP_SEQ,T.QUOTE_SPECIMEN_NO,T.MEMO,T.ITEM_CODE_L,"
- + " T.ITEM_DESC_L,T.TEST_QTY,T.SMP_QTY,T.SPECL_FL,T.STDMIN_SIGN,T.STDMIN,T.STDMAX_SIGN,T.STDMAX,"
- + " T.STDMEMO from QCM_JHY_ZHB_PHYSICS T "
- + " WHERE T.SPECIMEN_NO='"+specimenNo+"' and t.VAL1 is null and t.SEND_LOG <> '1' ");
- List<HashMap> items=mapper.query(sqlucomm.toString());
- if (items!=null && items.size()>0) {
- JSONArray arrayItem=new JSONArray();
- for(int j = 0 ;j < items.size() ; j++){
- JSONObject oldItem =JSONObject.parseObject(JSON.toJSONString(items.get(j))) ;
- JSONObject tarItem=new JSONObject();
- //子表数据
- createItem(tarItem,oldItem);
- if(oldItem.getString("PHY_NAME_M").equals("现场洛氏硬度HRC")){
- tarItem.put("tsFlag", "1");//探伤
- }else{
- tarItem.put("tsFlag", "0");//非探伤
- }
- arrayItem.add(tarItem);
- }
- tarObj.put("items", arrayItem);
- }
-
- }else{
- //成分
- JSONObject chemItem=JSON.parseObject((String)obj.get("CHEM_ITEM"));
- tarObj.putAll(chemItem);
- }
-
- tarDate.add(tarObj);
- HashMap<String,String> hm = new HashMap<String,String>();
- hm.put("SPECIMEN_NO", specimenNo);
- hm.put("BATCH_NO", obj.get("BATCH_NO").toString());
- hm.put("PLINE_CODE", "ZHB");
- //全自动激光切割加工中心系统
- if(LCplineCode.equals("HB1")){
- String lcThick = obj.get("THICK").toString();
- double lcThick2 = Double.parseDouble(lcThick);
- if(lcThick2<=25){
- LCtarDate.add(tarObj);
- String strjg=qcmJg(hm);
- mapper.insert(strjg);
- }
- }else if(LCplineCode.equals("ZB1")){
- LCtarDate.add(tarObj);
- String strjg=qcmJg(hm);
- mapper.insert(strjg);
- }
- }
- logger.info("-------发送jon数组--"+tarDate.toJSONString());
- String tar=tarDate.toString();
- String result = "";//调用url
- try{
- result = httpURLPOSTCaseNew(urlStr,tar);//调用url
-
- if (result == null ||result.equals("null") || result.equals("")) {
- return "TMCP/AR/CR合并LIMS返回:"+result;
- }
-
- }catch(Exception e){
- return "TMCP/AR/CR合并LIMS返回:"+result;
- }
-
-
- String resultlist =result.substring(8, 11);
- if (!resultlist.equals("200") || resultlist == null || resultlist.equals("")) {
- return "TMCP/AR/CR合并LIMS返回:"+result;
- }
-
-
-
- if(resultlist.equals("200")){
- //把所有的取样编号的委托 状态修改成已发送
- String sdtime = "0";
- for (String string3 : treeSetSpecimenNo) {
- sql = "";
- sql =" update QCM_JHY_SAMPLE_CONSIGN_D t set STATUS = '2',SEND_TIME=sysdate,"
- + " CONSIGN_NO='"+consignNo+"', CONSIGN_NO_SEQ = '1', "
- + " SEND_ID = '"+sendId+"',SEND_NAME = '"+sendName+"',t.PLINE_CODE_LIMS='"+plineCodeLims+"' "
- + " where t.SPECIMEN_NO ='"+string3+"' ";
- mapper.updateJudgeStatus(sql.toString());
-
- if(sdtime.equals("0")){
- String sql2 = " update QCM_JHY_SAMPLE_CONSIGN_D t "
- + " set t.SAMPLE_DELIVERY_TIME = '"+sampleDeliveryTime+"' "
- + " where t.SPECIMEN_NO = '"+string3+"' ";
- mapper.UpdateQcmWt(sql2.toString());
- sdtime = "1";
- }
- }
- //合并表
- sql = "";
- sql =" update QCM_JHY_ZHB_PHYSICS t set t.SEND_LOG = '1' "
- + " where t.SPECIMEN_NO ='"+specimenNo+"' and t.SEND_LOG <> '1' ";
- mapper.updateJudgeStatus(sql.toString());
- }
-
- SqlSession.commit();
-
- //全自动激光切割加工中心系统
- /* if(LCplineCode.equals("HB1") || LCplineCode.equals("ZB1")){
- if(LCtarDate.size()>=1){
- String jgkg=QcmJhyJgKg(LCplineCode);
- if("1".equals(jgkg)){
- String LCurlStr = "http://172.16.0.169:82/Limsinterface/http/Tgcut";
- String LCtar=LCtarDate.toString();
- httpURLPOSTLaserCenter(LCurlStr,LCtar,LCplineCode);
- }
- }
- }*/
- } catch (Exception e) {
- e.printStackTrace();
- SqlSession.rollback();
- return "TMCP/AR合并"+e.getMessage();
-
- }/*finally {
-
- SqlSession.close();
-
- }*/
-
- return "200";
-
- }
-
- /**
- * 项目转换
- * @param tarItem
- * @param oldItem
- */
- private void createItem(JSONObject tarItem, JSONObject oldItem) {
- // TODO Auto-generated method stub
- tarItem.put("specimenNo", oldItem.getString("SPECIMEN_NO"));
- tarItem.put("seq", oldItem.getInteger("SEQ"));
- tarItem.put("phyCodeL", oldItem.getString("PHY_CODE_L"));
- tarItem.put("phyNameL", oldItem.getString("PHY_NAME_L"));
- tarItem.put("phyCodeM", oldItem.getString("PHY_CODE_M"));
- tarItem.put("phyNameM", oldItem.getString("PHY_NAME_M"));
- tarItem.put("phyCodeS", oldItem.getString("PHY_CODE_S"));
- tarItem.put("phyNameS", oldItem.getString("PHY_NAME_S"));
- tarItem.put("itemCodeD", oldItem.getString("ITEM_CODE_D"));
- tarItem.put("itemNameD", oldItem.getString("ITEM_NAME_D"));
- tarItem.put("itemCodeT", oldItem.getString("ITEM_CODE_T"));
- tarItem.put("itemNameT", oldItem.getString("ITEM_NAME_T"));
- tarItem.put("itemCodeS", oldItem.getString("ITEM_CODE_S"));
- tarItem.put("itemNameS", oldItem.getString("ITEM_NAME_S"));
- tarItem.put("itemCodeL", oldItem.getString("ITEM_CODE_L"));
- tarItem.put("itemNameL", oldItem.getString("ITEM_DESC_L"));
- tarItem.put("groupSeq", oldItem.getString("GROUP_SEQ"));
- tarItem.put("memo", oldItem.getString("MEMO"));
- tarItem.put("judgeBasis", oldItem.getString("JUDGE_BASIS"));
- tarItem.put("unti", oldItem.getString("PHY_UNIT"));
- tarItem.put("testQty", oldItem.getString("TEST_QTY"));
- tarItem.put("smpQty", oldItem.getString("SMP_QTY"));
-
- String sql = "select t.* from qcm_ord_design_std_pic t "
- +" where t.design_key in ( "
- +" select r.design_key from qcm_jhy_sample_r_ord r,qcm_jhy_sample_consign_d d "
- +" where r.smp_no = d.smp_no "
- +" and d.specimen_no = '"+oldItem.getString("SPECIMEN_NO")+"') "
- +" and PHY_CODE_L = '"+oldItem.getString("PHY_CODE_L")+"' "
- +" and PHY_CODE_M = '"+oldItem.getString("PHY_CODE_M")+"' "
- +" and PHY_CODE_S = '"+oldItem.getString("PHY_CODE_S")+"' "
- +" and SPECL_FL = '2' and rownum = 1 ";
- List<HashMap> items=mapper.query(sql.toString());
- if(items!=null && items.size()>=1){
- tarItem.put("stdminSign", items.get(0).get("STDMIN_SIGN"));
- tarItem.put("stdmin", items.get(0).get("STDMIN"));
- tarItem.put("stdmaxSign", items.get(0).get("STDMAX_SIGN"));
- tarItem.put("stdmax", items.get(0).get("STDMAX"));
- }else{
- tarItem.put("stdminSign", oldItem.getString("STDMIN_SIGN"));
- tarItem.put("stdmin", oldItem.getString("STDMIN"));
- tarItem.put("stdmaxSign", oldItem.getString("STDMAX_SIGN"));
- tarItem.put("stdmax", oldItem.getString("STDMAX"));
- }
- // tarItem.put("createTime", oldItem.getString("ITEM_NAME_S"));
- // tarItem.put("createName", oldItem.getString("ITEM_NAME_S"));
- String SqlStdMemo = "select t.* from qcm_ord_design_std_pic t "
- +" where t.design_key in ( "
- +" select r.design_key from qcm_jhy_sample_r_ord r,qcm_jhy_sample_consign_d d "
- +" where r.smp_no = d.smp_no "
- +" and d.specimen_no = '"+oldItem.getString("SPECIMEN_NO")+"') "
- +" and PHY_CODE_L = '"+oldItem.getString("PHY_CODE_L")+"' "
- +" and PHY_CODE_M = '"+oldItem.getString("PHY_CODE_M")+"' "
- +" and PHY_CODE_S = '"+oldItem.getString("PHY_CODE_S")+"' "
- +" and SPECL_FL = '"+oldItem.getString("SPECL_FL")+"' and rownum = 1 ";
- List<HashMap> hmStdMemo=mapper.query(SqlStdMemo.toString());
- if(hmStdMemo!=null && hmStdMemo.size()>=1){
- tarItem.put("STDMEMO", hmStdMemo.get(0).get("STDMEMO"));
- }else{
- tarItem.put("STDMEMO", oldItem.getString("STDMEMO"));
- }
- }
- /**
- * 创建目标对象
- * @param tarObj
- * @param obj
- */
- private void createTarObj(JSONObject tarObj, JSONObject obj) {
- String yzysmpTypeCode = "";
- // TODO Auto-generated method stub
- tarObj.put("smpTage", obj.getString("SMP_CATG"));
- tarObj.put("smpNo", obj.getString("SMP_NO"));
- tarObj.put("specimenNo", obj.getString("SPECIMEN_NO"));
- tarObj.put("heatNo", obj.getString("HEAT_NO"));
- tarObj.put("batchNo", obj.getString("BATCH_NO"));
- tarObj.put("inspectionLot", obj.getString("INSPECTION_LOT"));
- tarObj.put("freqCode", obj.getString("FREQ_CODE"));
- tarObj.put("freqName", obj.getString("FREQ_NAME"));
- tarObj.put("materialNo", obj.getString("MATERIAL_NO"));
- if ("0".equals(obj.getString("SMP_TYPE_CODE"))) {
- String sql = "select case "
- +" when t.SMP_TYPE_CODE = '0' then "
- +" case "
- +" when t2.CERT_INST_CODE in ('IC003','IC004', 'IC001', 'IC010', '5000') then "
- +" t.SMP_TYPE_NAME "
- +" else "
- +" '认证样' "
- +" end "
- +" else "
- +" t.SMP_TYPE_NAME "
- +" end SMP_TYPE_NAME "
- +" from QCM_JHY_SAMPLE_CONSIGN_D t "
- +" inner join QCM_JHY_SAMPLE_CONSIGN_M t2 "
- +" on t.SMP_NO = t2.SMP_NO "
- +" where t.specimen_no = '"+obj.getString("SPECIMEN_NO")+"' and rownum <= 1";
- List<HashMap> hMap=mapper.query(sql.toString());
- if (hMap!=null || hMap.size()>0) {
- for (HashMap hm : hMap) {
- yzysmpTypeCode = (String)hm.get("SMP_TYPE_NAME");
- }
- }
- if(yzysmpTypeCode.equals("认证样")){
- tarObj.put("smpTypeCode", "certifiedSampleTask");
- }else{
- tarObj.put("smpTypeCode", "routineSampleTask");
- }
- }else if ("1".equals(obj.getString("SMP_TYPE_CODE"))){
- tarObj.put("smpTypeCode", "reviewSampleTask");
- }else{
- tarObj.put("smpTypeCode", "coilSamplingTask");
- }
- if(yzysmpTypeCode.equals("认证样")){
- tarObj.put("smpTypeName", "认证样");
- }else{
- tarObj.put("smpTypeName", obj.getString("SMP_TYPE_NAME"));
- }
-
- tarObj.put("smpTage", obj.getString("SMP_CATG"));
-
- tarObj.put("smpLocation", obj.getString("SMP_LOCATION"));
- tarObj.put("boardNo", obj.getString("BOARD_NO"));
-
- //中厚板 正火前
- if("ZB1".equals(obj.getString("PLINE_CODE")) || "HB1".equals(obj.getString("PLINE_CODE")) ){
- /* String sqlItem = "select GET_ZHB1_PLINE_CODE('"+obj.getString("MATERIAL_NO")+"','"+obj.getString("PLINE_CODE")+"') PLINE_CODE from dual";
- List<HashMap> vhchm=mapper.query(sqlItem.toString());
- if(vhchm!=null && vhchm.size()>=1){
- tarObj.put("plineCode", vhchm.get(0).get("PLINE_CODE").toString());
- }else{
- tarObj.put("plineCode", obj.getString("PLINE_CODE"));
- }*/
- if(StringUtils.isNotBlank(obj.getString("PLINE_CODE_LIMS").toString())){
- if(obj.getString("PLINE_CODE_LIMS").equals("ZB1")){
- tarObj.put("plineCode", "ZB1");
- tarObj.put("plineName", "中板线");
- }else if(obj.getString("PLINE_CODE_LIMS").equals("HB1")){
- tarObj.put("plineCode", "HB1");
- tarObj.put("plineName", "厚板线");
- }
- }else{
- tarObj.put("plineCode", obj.getString("PLINE_CODE"));
- tarObj.put("plineName", obj.getString("PLINE_NAME"));
- }
- }else{
- tarObj.put("plineCode", obj.getString("PLINE_CODE"));
- tarObj.put("plineName", obj.getString("PLINE_NAME"));
- }
-
- tarObj.put("status", obj.getString("STATUS"));
- tarObj.put("thick", obj.getString("THICK"));
- tarObj.put("width", obj.getString("WIDTH"));
- tarObj.put("length", obj.getString("LENGTH"));
-
-
- tarObj.put("sendName", obj.getString("SEND_NAME"));
- tarObj.put("sendTime", obj.getString("SEND_TIME"));
- tarObj.put("sendId", obj.getString("SEND_ID"));
-
- tarObj.put("consignNo", obj.getString("CONSIGN_NO"));
- tarObj.put("consignNoSeq", obj.getIntValue("CONSIGN_NO_SEQ"));
- tarObj.put("productCnt", obj.getString("PRODUCT_CNT"));
-
- //tarObj.put("checkMemo", obj.getString("MEMO"));
- tarObj.put("orderNumber", obj.getString("DESIGN_KEY"));
- tarObj.put("orderNotes", obj.getString("MEMO"));
-
- tarObj.put("steelCode", obj.getString("STEEL_CODE"));
- tarObj.put("steelName", obj.getString("STEEL_NAME"));
- tarObj.put("sendMemo", obj.getString("SEND_MEMO"));
-
- if ("A".equals(obj.getString("SMP_CATG"))) {
- tarObj.put("testQty", obj.getString("TEST_QTY"));
- tarObj.put("smpQty", obj.getString("SMP_QTY"));
- }
- }
-
-
-
- /**
- * 发送Http Post请求 发送LIMS委托接口*/
- public static String httpURLPOSTCaseNew(String methodUrl,String data) {
- HttpURLConnection connection = null;
- PrintWriter pw = null;
- BufferedReader reader = null;
- String line = "";
- StringBuilder result = new StringBuilder();
- try {
- URL url = new URL(methodUrl);
- // data= URLEncoder.encode(URLEncoder.encode(data,"UTF-8"),"UTF-8");
- data= URLEncoder.encode(data,"UTF-8") ;
- connection = (HttpURLConnection)url.openConnection();// 根据URL生成HttpURLConnection
- connection.setDoOutput(true);// 设置是否向connection输出,因为这个是post请求,参数要放在http正文内,因此需要设为true,默认情况下是false
- connection.setDoInput(true); // 设置是否从connection读入,默认情况下是true;
- connection.setRequestMethod("POST");// 设置请求方式为post,默认GET请求
- connection.setUseCaches(false);// post请求不能使用缓存设为false
- connection.setConnectTimeout(10000);// 连接主机的超时时间
- connection.setReadTimeout(10000);// 从主机读取数据的超时时间
- connection.setInstanceFollowRedirects(true);// 设置该HttpURLConnection实例是否自动执行重定向
- connection.setRequestProperty("accept", "*/*");
- connection.setRequestProperty("connection", "Keep-Alive");// 连接复用
- connection.setRequestProperty("charset", "utf-8");
- connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
- connection.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
- connection.connect();// 建立TCP连接,getOutputStream会隐含的进行connect,所以此处可以不要
- pw = new PrintWriter(connection.getOutputStream());// 创建输入输出流,用于往连接里面输出携带的参数
- pw.write("data="+data);//json数据
- pw.flush();
- pw.close();
- if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
- reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));// 发送http请求
- // 循环读取流
- while (null != (line = reader.readLine())) {
- result.append(line);
- }
- reader.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- try {
- throw new Exception("发送LIMS系统失败,具体原因为["+e.getMessage()+"]");
- } catch (Exception e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- } finally {
- connection.disconnect();
- }
- return result.toString();
- }
-
-
-
-
- /**
- * 发送Http Post请求 撤销LIMS委托接口
- * @throws Exception */
- public String httpURLPOSTCase(String methodUrl,String data) throws Exception {
- HttpURLConnection connection = null;
- PrintWriter pw = null;
- BufferedReader reader = null;
- String line = "";
- StringBuilder result = new StringBuilder();
- try {
- URL url = new URL(methodUrl);
- connection = (HttpURLConnection)url.openConnection();// 根据URL生成HttpURLConnection
- connection.setDoOutput(true);// 设置是否向connection输出,因为这个是post请求,参数要放在http正文内,因此需要设为true,默认情况下是false
- connection.setDoInput(true); // 设置是否从connection读入,默认情况下是true;
- connection.setRequestMethod("POST");// 设置请求方式为post,默认GET请求
- connection.setUseCaches(false);// post请求不能使用缓存设为false
- connection.setConnectTimeout(10000);// 连接主机的超时时间
- connection.setReadTimeout(10000);// 从主机读取数据的超时时间
- connection.setInstanceFollowRedirects(true);// 设置该HttpURLConnection实例是否自动执行重定向
- connection.setRequestProperty("accept", "*/*");
- connection.setRequestProperty("connection", "Keep-Alive");// 连接复用
- connection.setRequestProperty("charset", "utf-8");//utf-8 GBK
- connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");//; charset=utf-8
- //connection.setRequestProperty("Content-Type", "application/json");//;charset=utf-8
- connection.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
- connection.connect();// 建立TCP连接,getOutputStream会隐含的进行connect,所以此处可以不要
- // pw = new PrintWriter(connection.getOutputStream());// 创建输入输出流,用于往连接里面输出携带的参数
- //pw.write("data="+data);//json数据
- // pw.flush();
- //pw.close();
-
- OutputStream outputstream = connection.getOutputStream();
- String jsonStr = "data="+data;
- //System.out.println("=========:JSON:"+jsonStr.toString());
- outputstream.write(jsonStr.getBytes("UTF-8"));
- /* String jsonStr = data;
- System.out.println("=========:JSON:"+jsonStr.toString());
- outputstream.write(jsonStr.getBytes("UTF-8"));*/
- outputstream.flush();
- outputstream.close();
- if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
- reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));// 发送http请求
- // 循环读取流
- while (null != (line = reader.readLine())) {
- result.append(line);
- }
- reader.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- throw new Exception("发送LIMS系统失败,具体原因为["+e.getMessage()+"]");
- } finally {
- connection.disconnect();
- }
- return result.toString();
- }
-
- /**
- * 生成不带 "-" 的UUID
- *
- * @return
- */
- public static String getUUID() {
- UUID uuid = UUID.randomUUID();
- String str = uuid.toString();
- String uuidStr = str.replace("-", "");
- return uuidStr;
- }
-
- private void createSmpleLoglist(String josnString ,String memo,String sendName){
-
- StringBuffer sqlucomm1 = new StringBuffer();
- sqlucomm1.append("Delete From QCM_JHY_SAMPLE_LOG ");
- sqlucomm1.append("where CREATE_TIME <= to_date(to_char(sysdate - 90, 'yyyy-MM-dd hh24:mi:ss'),'yyyy-MM-dd hh24:mi:ss') ");
- try {
- this.getDao("testDao").ExcuteNonQuery(sqlucomm1.toString());
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- logger.info("---------------------------插入日志表失败-----------------------"+sqlucomm1);
- }
- int len = 0;
- if(josnString.length()<= 3500){
- len = josnString.length();
- }else{
- len = 3000;
- }
- String josnli = josnString.substring(0, len);
- StringBuffer sqlucomm = new StringBuffer();
- sqlucomm.append("INSERT INTO QCM_JHY_SAMPLE_LOG (GUID,MEMO,");
- sqlucomm.append("CREATE_NAME,CREATE_TIME,JSON_TEXT) VALUES ('");
- sqlucomm.append(getUUID()+"','"+memo+"',");
- sqlucomm.append("'"+sendName+"',sysdate,'"+josnli+"')");
- try {
-
- this.getDao("testDao").ExcuteNonQuery(sqlucomm.toString());
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- logger.info("---------------------------插入日志表失败-----------------------"+sqlucomm);
- }
-
- }
-
- /**
- * 调用LIMS接收委托接口,实现委托下发 发送委托 中厚板预测抽样 Q235B Q355B
- * @return cro
- * @throws IOException
- */
- @SuppressWarnings("unchecked")
- public CoreReturnObject ZHBYuCeSample(String Entrust,String sendId,String sendName,String sampleDeliveryTime){
- String urlStr = "http://172.16.0.169:82/Limsinterface/http/Inspection";
- try {
- String LCplineCode="LC";//全自动激光切割加工中心系统
- StringBuffer sqlucomm = new StringBuffer();
- TreeSet<String> treeSet0 = new TreeSet<String>();
- String[] ja=Entrust.split(",");
- String msInfo="";
- if (ja!=null && ja.length>0) {
-
- for (int i = 0; i < ja.length; i++) {
- String sp = ja[i];
- treeSet0.add(sp);
- if ("".equals(msInfo)) {
-
- msInfo="'"+sp+"'";
-
- }else{
- msInfo=msInfo+"'"+sp+"'";
- }
-
- if (i !=ja.length-1) {
- msInfo=msInfo+",";
- }
-
-
- }
-
- }
-
- if (treeSet0.size()!=1) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("预测抽样只能勾选一条委托抽样,请核实数据!");
- return cro;
- }
-
- //查询检验 预测抽样 抽的是初样
- sqlucomm.append("SELECT nvl(d.CHEM_INTERNALCONTROL,' ') CHEM_INTERNALCONTROL,nvl(d.CRAFT_EXECUTE,' ') CRAFT_EXECUTE,nvl(d.RZ_MIXROLL,' ') RZ_MIXROLL,"
- + " nvl(d.FUNCTION_FUHE,' ') FUNCTION_FUHE,nvl(d.SHOULD_SAMPLE,'1') SHOULD_SAMPLE,"
- + " d.SMP_NO,d.SPECIMEN_NO,d.HEAT_NO,d.BATCH_NO,d.INSPECTION_LOT,d.FREQ_CODE,d.FREQ_NAME,"
- + " d.MATERIAL_NO,d.SEND_MEMO,d.SMP_TYPE_CODE,d.SMP_TYPE_NAME,d.CONSIGN_NO,d.CONSIGN_NO_SEQ,d.TEST_QTY,d.SMP_QTY,"
- + " d.SMP_LOCATION,d.BOARD_NO,d.QUOTE_CONSIGN_NO,d.OLD_CONSIGN_NO,d.PLINE_CODE,d.PLINE_NAME,d.CHEM_ITEM,"
- + " d.SOURCE,d.PRODUCT_CNT,d.MEMO, o.STEEL_CODE,o.STEEL_NAME ,o.THICK,o.WIDTH ,o.LENGTH ,o.DESIGN_KEY,o.DELIVERY_STATE_DESC,"
- + " m.CERT_INST_CODE,m.CERT_INST_NAME,m.SMP_CATG,d.PROCESS_NOS "
- + " FROM QCM_JHY_SAMPLE_CONSIGN_D d INNER JOIN QCM_JHY_SAMPLE_CONSIGN_M m "
- + " ON d.SMP_NO=m.SMP_NO INNER JOIN QCM_JHY_SAMPLE_R_ORD O ON d.SMP_NO = o.SMP_NO "
- + " where d.SPECIMEN_NO in ("+msInfo+") and d.VALIDFLAG='1' and d.STATUS='0'"
- + " and o.STEEL_CODE in ('Q235B','Q355B') and d.RZ_ROLL_SLAB_SEQ is null "
- + " and d.SMP_TYPE_CODE='0' and rownum=1 ");
-
-
- List<HashMap> lists=mapper.query(sqlucomm.toString());
- if (lists==null || lists.size()<1) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("未查到相应的预测抽样委托,只能预测抽样牌号为['Q235B','Q355B']的委托,请核实数据!");
- return cro;
- }
-
- String designKey=lists.get(0).get("DESIGN_KEY").toString();
- String dkey1 = designKey.substring(0, 5);//XGEC-
- String dkey2 = designKey.substring(10, 11);//合同号倒数第三个是9 例: W112023010909 倒数第三个9
- String dkey3 = designKey.substring(0, 3);//W16 非计划合同
- String dkey4 = designKey.substring(0, 2);//16 非计划合同
-
- if(StringUtils.isBlank(lists.get(0).get("CHEM_INTERNALCONTROL").toString())
- || StringUtils.isBlank(lists.get(0).get("CRAFT_EXECUTE").toString())
- || StringUtils.isBlank(lists.get(0).get("FUNCTION_FUHE").toString())){
- cro.setV_errCode(-1);
- cro.setV_errMsg("当前轧批未给预测值不能预测抽样!请选择其它轧批");
- return cro;
- }
-
- if(StringUtils.isBlank(lists.get(0).get("RZ_MIXROLL").toString())){
- cro.setV_errCode(-1);
- cro.setV_errMsg("当前轧批未给抽样时间段标识!请选择其它轧批");
- return cro;
- }
-
- String chemInternalcontrol =lists.get(0).get("CHEM_INTERNALCONTROL").toString();//成分是否符合内控标准(1为符合,0为不符合)
- String craftExecute = lists.get(0).get("CRAFT_EXECUTE").toString();//工艺执行是否符合标准(1为符合,0为不符合)
- String functionFuhe = lists.get(0).get("FUNCTION_FUHE").toString();//性能预测是否符合标准(1为符合,0为不符合)
- String shouldSample = lists.get(0).get("SHOULD_SAMPLE").toString();//是否预测抽样(1为送实物样,0为预测抽样,2建议抽取样)
- String deliveryStateDesc = lists.get(0).get("DELIVERY_STATE_DESC").toString();//交货状态
- if(!"1".equals(chemInternalcontrol)){
- cro.setV_errCode(-1);
- cro.setV_errMsg("成分不符合!不能预测抽样,请选择其它轧批");
- return cro;
- }
- if(!"1".equals(craftExecute)){
- cro.setV_errCode(-1);
- cro.setV_errMsg("工艺不符合!不能预测抽样,请选择其它轧批");
- return cro;
- }
- if(!"1".equals(functionFuhe)){
- cro.setV_errCode(-1);
- cro.setV_errMsg("性能预测不合格!不能预测抽样,请选择其它轧批");
- return cro;
- }
- if("XGEC-".equals(dkey1)){
- cro.setV_errCode(-1);
- cro.setV_errMsg("XGEC-出口合同!不能预测抽样,请选择其它轧批");
- return cro;
- }
- if("9".equals(dkey2)){
- cro.setV_errCode(-1);
- cro.setV_errMsg("重点合同!不能预测抽样,请选择其它轧批");
- return cro;
- }
- if("W16".equals(dkey3) || "16".equals(dkey4) || "19".equals(dkey4) ){
- cro.setV_errCode(-1);
- cro.setV_errMsg("W16、16、19非计划坯!不能预测抽样,请选择其它轧批");
- return cro;
- }
- if(!"2".equals(shouldSample)){//2建议抽取样
- cro.setV_errCode(-1);
- cro.setV_errMsg("请在【是否预测抽样】字段中抽取为:Y(抽样)的轧批送样到试验室做试验,当前委托不为建议抽样轧批不能送样!");
- return cro;
- }
- if(!"AR".equals(deliveryStateDesc) && !"CR".equals(deliveryStateDesc) && !"TMCP".equals(deliveryStateDesc)){//AR CR TMCP
- cro.setV_errCode(-1);
- cro.setV_errMsg("交换状态不为【AR、CR、TMCP】不满足预测抽样条件!");
- return cro;
- }
-
- /* String sqlSend = "select t.* from QCM_JHY_SAMPLE_CONSIGN_D t "
- +" where t.rz_mixroll = '"+lists.get(0).get("RZ_MIXROLL").toString()+"' "
- +" and t.status <> '0' "
- +" and t.Rz_Old_Sampl_No is not null "
- +" and t.specimen_no = t.rz_old_sampl_no "
- +" and t.pline_code in ('ZB1', 'HB1') and rownum=1 ";
- List<HashMap> listsSend=mapper.query(sqlSend.toString());
- if (listsSend!=null && listsSend.size()>=1) {
- String vrz_mixroll =listsSend.get(0).get("RZ_MIXROLL").toString();
- String vbatch_no =listsSend.get(0).get("BATCH_NO").toString();
- cro.setV_errCode(-1);
- cro.setV_errMsg("当前预测区间【'"+vrz_mixroll+"'】已抽样【'"+vbatch_no+"'】轧批不需要预测抽样第二次!");
- return cro;
- }*/
-
- //获取数据进行验证
- TreeSet<String> sizes=new TreeSet<String>();
- for (int i = 0; i < lists.size(); i++) {
- HashMap obj=lists.get(i);
- sizes.add((String)obj.get("SMP_CATG"));
- }
-
- if (sizes.size()!=1) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("待发送的检验委托数据只能同时发送一种类型的待检数据,请核实数据!");
- return cro;
- }
-
- JSONArray tarDate=new JSONArray();
- JSONArray LCtarDate=new JSONArray();//全自动激光切割加工中心系统
-
- Date date=new Date();
- SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String dateString=simpleDateFormat.format(date);
- //生成委托编号
- String consignNo=new SimpleDateFormat("yyyyMMdd").format(date);
- sqlucomm.setLength(0);
- sqlucomm.append("SELECT max(to_number(substr(CONSIGN_NO,-3,3))) BIGSEQ from QCM_JHY_SAMPLE_CONSIGN_D where CONSIGN_NO like '"+consignNo+"%'");
-
- HashMap map=mapper.queryOne(sqlucomm.toString());
- BigDecimal count = BigDecimal.ZERO;
- if( null != map.get("BIGSEQ")){
- count=(BigDecimal)map.get("BIGSEQ");
- }
- if (count.compareTo(BigDecimal.ZERO)==1) {
- count=count.add(BigDecimal.ONE);
- }else{
- count=BigDecimal.ONE;
- }
- consignNo=consignNo+String.format("%03d", count.intValue());
- System.out.println("======="+count.intValue());
- int seq=1;
-
- String plineCodeLims = "";//中厚板送样产线,按送样时间确定
- for (int i = 0; i < lists.size(); i++) {
- HashMap obj=lists.get(i);
- //中厚板送样产线
- if(obj.get("PLINE_CODE").toString().equals("ZB1") || obj.get("PLINE_CODE").toString().equals("HB1")){
- if(sampleDeliveryTime.contains("06:30:00") || sampleDeliveryTime.contains("10:30:00") ||
- sampleDeliveryTime.contains("17:30:00") || sampleDeliveryTime.contains("20:30:00")){
- plineCodeLims = "HB1";
- }else if(sampleDeliveryTime.contains("03:00:00") || sampleDeliveryTime.contains("11:00:00") ||
- sampleDeliveryTime.contains("15:00:00") || sampleDeliveryTime.contains("18:00:00") ||
- sampleDeliveryTime.contains("21:00:00") || sampleDeliveryTime.contains("06:00:00") ){
- plineCodeLims = "ZB1";
- }
- }
- obj.put("PLINE_CODE_LIMS", plineCodeLims);
-
- obj.put("SEND_ID", sendId);
- obj.put("SEND_NAME", sendName);
- obj.put("CONSIGN_NO", consignNo);
- obj.put("CONSIGN_NO_SEQ", seq++);
- obj.put("SEND_TIME", dateString);
- LCplineCode=obj.get("PLINE_CODE").toString();//全自动激光切割加工中心系统
- JSONObject smpleD = JSONObject.parseObject(JSON.toJSONString(obj));
-
- //目标json
- JSONObject tarObj=new JSONObject();
- //主表数据
- createTarObj(tarObj,smpleD);
-
- //发送序号 createSendSeq
- String sendSeq=createSendSeq(tarObj.getString("plineCode").toString());//发送序号
-
- //String sendQ="select to_number(substr('"+sendSeq+"', 8)) PRINT_SEQ from dual t ";
- String sendQ="select substr('"+sendSeq+"', 9) PRINT_SEQ from dual t ";
- List<HashMap> hmsendQ=mapper.query(sendQ.toString());
- String PRINT_SEQ=hmsendQ.get(0).get("PRINT_SEQ").toString();
- if(tarObj.getString("plineCode").equals("ZB1")){
- tarObj.put("printSeq", 'Z'+PRINT_SEQ);
- PRINT_SEQ='Z'+PRINT_SEQ;
- }else if(tarObj.getString("plineCode").equals("HB1")){
- tarObj.put("printSeq", 'H'+PRINT_SEQ);
- PRINT_SEQ='H'+PRINT_SEQ;
- }
-
- String qcmSendSeq =" update QCM_JHY_SAMPLE_CONSIGN_D t set SEND_SEQ = '"+sendSeq+"',PRINT_SEQ='"+PRINT_SEQ+"' "
- + " where PLINE_CODE = '"+obj.get("PLINE_CODE")+"' and SPECIMEN_NO = '"+obj.get("SPECIMEN_NO")+"' ";
- mapper.updateJudgeStatus(qcmSendSeq.toString());
- tarObj.put("sendSeq", sendSeq);
-
-
-
- tarObj.put("CREATE_ID", sendId);
- tarObj.put("CREATE_NAME", sendName);
- tarObj.put("sampleDeliveryTime", sampleDeliveryTime);//送样时间点
-
- tarObj.put("cretInstCode", obj.get("CERT_INST_CODE"));
- tarObj.put("cretInstName", obj.get("CERT_INST_NAME"));
-
- if(obj.get("PLINE_CODE").equals("ZB1") || obj.get("PLINE_CODE").equals("HB1")){
- tarObj.put("heatTreatment", obj.get("PROCESS_NOS"));
- //传给lims的成分标识
- String sql ="select t.* from QCM_JHY_SAMPLE_CONSIGN_D t,QCM_JHY_SAMPLE_CONSIGN_M m "
- +" where t.smp_no = m.smp_no and m.SMP_CATG = 'A' and t.batch_no = '"+smpleD.getString("BATCH_NO")+"' ";
- List<HashMap> componentLog=mapper.query(sql.toString());
- if(componentLog!=null && componentLog.size()>=1){
- tarObj.put("componentLog", '1');//1代表有成分
- }else{
- tarObj.put("componentLog", '0');//0代表无成分
- }
-
- }
-
- if ("5000".equals(obj.get("CERT_INST_CODE")) || "IC012".equals(obj.get("CERT_INST_CODE")) ) {
- tarObj.put("type", "0");
- }else{
- tarObj.put("type", "1");
- }
-
-
- if ("B".equals(obj.get("SMP_CATG"))) {
- //材质
- sqlucomm.setLength(0);
- sqlucomm.append("select T.SPECIMEN_NO,T.SEQ,T.SMP_NO,T.PHY_NAME_L,T.PHY_CODE_L,T.PHY_CODE_M,T.PHY_NAME_M,T.PHY_CODE_S,"
- + "T.PHY_NAME_S,T.ITEM_CODE_D,T.ITEM_NAME_D,T.ITEM_CODE_T,T.ITEM_NAME_T,T.ITEM_CODE_S,T.ITEM_NAME_S,"
- + "T.ISJUDGE,T.JUDGE_BASIS,T.PHY_UNIT,T.GROUP_SEQ,T.QUOTE_SPECIMEN_NO,T.QUOTE_SEQ,T.MEMO,T.ITEM_CODE_L,"
- + " T.ITEM_DESC_L,T.TEST_QTY,T.SMP_QTY,T.CREATE_TIME,T.CREATE_ID,T.CREATE_NAME,T.SPECL_FL, "
- + "T.STDMIN_SIGN,T.STDMIN,T.STDMAX_SIGN,T.STDMAX,t.STDMEMO from QCM_JHY_SAMPLE_CONSIGN_D_ITEM T"
- + " WHERE T.SPECIMEN_NO='"+obj.get("SPECIMEN_NO")+"' and (T.QUOTE_SPECIMEN_NO is null or T.QUOTE_SPECIMEN_NO='') and t.Fy_Quote_Specimen_No is null and t.QUOTE_MEMO is null ");
- List<HashMap> items=mapper.query(sqlucomm.toString());
- if (items!=null && items.size()>0) {
- JSONArray arrayItem=new JSONArray();
- for(int j = 0 ;j < items.size() ; j++){
- JSONObject oldItem =JSONObject.parseObject(JSON.toJSONString(items.get(j))) ;
- JSONObject tarItem=new JSONObject();
- //子表数据
- createItem(tarItem,oldItem);
- if(oldItem.getString("PHY_NAME_M").equals("现场洛氏硬度HRC")){
- tarItem.put("tsFlag", "1");//探伤
- }else{
- tarItem.put("tsFlag", "0");//非探伤
- }
-
- arrayItem.add(tarItem);
- }
- tarObj.put("items", arrayItem);
- }
-
- }else{
- //成分
- JSONObject chemItem=JSON.parseObject((String)obj.get("CHEM_ITEM"));
- tarObj.putAll(chemItem);
-
-
- }
-
- tarDate.add(tarObj);
- //全自动激光切割加工中心系统
- HashMap<String,String> hm = new HashMap<String,String>();
- hm.put("SPECIMEN_NO", obj.get("SPECIMEN_NO").toString());
- hm.put("BATCH_NO", obj.get("BATCH_NO").toString());
- hm.put("PLINE_CODE", LCplineCode);
- if(LCplineCode.equals("HB1")){
- String lcThick = obj.get("THICK").toString();
- double lcThick2 = Double.parseDouble(lcThick);
- if(lcThick2<=25){
- LCtarDate.add(tarObj);
- String strjg=qcmJg(hm);
- mapper.insert(strjg);
- }
- }else if(LCplineCode.equals("ZB1")){
- LCtarDate.add(tarObj);
- String strjg=qcmJg(hm);
- mapper.insert(strjg);
- }
- }
- logger.info("-------发送jon数组--"+tarDate.toJSONString());
- String tar=tarDate.toString();
- String result = "";//调用url
- try{
- result = httpURLPOSTCaseNew(urlStr,tar);//调用url
-
- if (result == null ||result.equals("null") || result.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("发送LIMS系统失败!返回值:"+result);
- SqlSession.rollback();
- return cro;
- }
-
- }catch(Exception e){
- cro.setV_errCode(-1);
- cro.setV_errMsg(e.getMessage());
- return cro;
- }
-
-
- String resultlist =result.substring(8, 11);
- if (!resultlist.equals("200") || resultlist == null || resultlist.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("发送LIMS系统失败!"+result);
- SqlSession.rollback();
- SqlSession.rollback();
- return cro;
- }
-
-
-
- if(resultlist.equals("200")){
- for (HashMap list : lists) {
- mapper.updateConsignNo((String)list.get("CONSIGN_NO"), (Integer)list.get("CONSIGN_NO_SEQ"),
- sendId, sendName,(String)list.get("SPECIMEN_NO"));
- String sql = " update QCM_JHY_SAMPLE_CONSIGN_D t "
- + " set t.SAMPLE_DELIVERY_TIME = '"+sampleDeliveryTime+"',t.PLINE_CODE_LIMS='"+plineCodeLims+"', "
- + " t.RZ_OLD_SAMPL_NO='"+list.get("SPECIMEN_NO")+"' "
- + " where t.SPECIMEN_NO = '"+(String)list.get("SPECIMEN_NO")+"' ";
- mapper.UpdateQcmWt(sql.toString());
-
- String sqlqu="select * from QCM_JHY_SAMPLE_CONSIGN_D_ITEM t "
- + " where t.specimen_no = '"+(String)list.get("SPECIMEN_NO")+"' and t.QUOTE_MEMO like '已引用%' ";
- List<HashMap> hmqu=mapper.query(sqlqu.toString());
- if(hmqu==null || hmqu.size()<=0){
- //删除 实绩表数据
- sql="";
- sql = "DELETE QCM_JHY_INSP_PHYSICS t where t.SPECIMEN_NO = '"+list.get("SPECIMEN_NO")+"' ";
- mapper.delete(sql.toString());
- }
-
- //存储一下预测的轧批
- String sqlins = " insert into qcm_jhy_sample_consign_yuce "
- +" (smp_no, specimen_no, heat_no, batch_no, inspection_lot, freq_code, freq_name, material_no, smp_type_code, smp_type_name, "
- +" consign_no, consign_no_seq, test_qty, smp_qty, smp_location, board_no, quote_consign_no, old_consign_no, pline_code, pline_name, "
- +" status, validflag, source, guid, send_id, send_name, send_time, chem_item, product_cnt, create_time, smp_location_code, memo, weight, "
- +" weight_std, weight_sfd, specimennozh, send_memo, item_flag, rz_roll_mana_no, rz_mixroll, rz_old_sampl_no, rz_roll_slab_seq, process_no, "
- +" quote_batch_no, quote_batch_no_one, quote_memo, improve_memo, upr_time, collect_time, artificial_memo, zhb_specimen_no, process_nos, process_code, "
- +" sample_delivery_time, onememo, sampl_pick_ry, special_quote_memo, chem_internalcontrol, craft_execute, phy_item, stove_time,FUNCTION_FUHE) "
- +" select smp_no, specimen_no, heat_no, batch_no, inspection_lot, freq_code, freq_name, material_no, smp_type_code, smp_type_name, "
- +" consign_no, consign_no_seq, test_qty, smp_qty, smp_location, board_no, quote_consign_no, old_consign_no, pline_code, pline_name, "
- +" status, validflag, source, guid, send_id, send_name, send_time, chem_item, product_cnt, create_time, smp_location_code, memo, weight, "
- +" weight_std, weight_sfd, specimennozh, send_memo, item_flag, rz_roll_mana_no, rz_mixroll, rz_old_sampl_no, rz_roll_slab_seq, process_no, "
- +" quote_batch_no, quote_batch_no_one, quote_memo, improve_memo, upr_time, collect_time, artificial_memo, zhb_specimen_no, process_nos, process_code, "
- +" sample_delivery_time, onememo, sampl_pick_ry, special_quote_memo, chem_internalcontrol, craft_execute, phy_item, stove_time,FUNCTION_FUHE "
- +" from QCM_JHY_SAMPLE_CONSIGN_D t "
- +" where t.specimen_no='"+(String)list.get("SPECIMEN_NO")+"' ";
- mapper.insert(sqlins);
-
- sql="";
- sql="select * from qcm_jhy_sample_consign_d t,qcm_jhy_sample_r_ord r "
- + " where t.smp_no=r.smp_no and r.steel_code in ('Q235B','Q355B') and t.STATUS='0' "
- + " and r.design_key not like '16%' and r.design_key not like 'W16%' and r.design_key not like '19%' "
- + " and t.Chem_Internalcontrol='1' and t.Craft_Execute='1' and t.FUNCTION_FUHE='1' and t.SHOULD_SAMPLE in ('0') "//,'2'
- + " and t.RZ_ROLL_SLAB_SEQ is null and t.SPECIMEN_NO <> '"+(String)list.get("SPECIMEN_NO")+"' "
- + " and t.rz_mixroll = '"+list.get("RZ_MIXROLL")+"' and t.PLINE_CODE='"+list.get("PLINE_CODE")+"' ";
- List<HashMap> items=mapper.query(sql.toString());
- if (items!=null && items.size()>0) {
- for (int i = 0; i < items.size(); i++) {
- String itemdesignKey=items.get(i).get("DESIGN_KEY").toString();
- String itemddkey1 = itemdesignKey.substring(0, 5);//XGEC-
- String itemddkey2 = itemdesignKey.substring(10, 11);//合同号倒数第三个是9 例: W112023010909 倒数第三个9
- String itemddkey3 = itemdesignKey.substring(0, 3);//W16 非计划合同
- String itemddkey4 = itemdesignKey.substring(0, 2);//16 非计划合同
- if(!StringUtils.isBlank(items.get(i).get("CHEM_INTERNALCONTROL").toString())
- && !StringUtils.isBlank(items.get(i).get("CRAFT_EXECUTE").toString())){
-
- String itemdchemInternalcontrol =items.get(i).get("CHEM_INTERNALCONTROL").toString();//成分是否符合内控标准(1为符合,0为不符合)
- String itemdcraftExecute = items.get(i).get("CRAFT_EXECUTE").toString();//工艺执行是否符合标准(1为符合,0为不符合)
- String itemdFunctionFuhe = items.get(i).get("FUNCTION_FUHE").toString();//预测性能是否符合标准(1为符合,0为不符合)
- if(!"XGEC-".equals(itemddkey1) && !"9".equals(itemddkey2)
- && "1".equals(itemdchemInternalcontrol) && "1".equals(itemdcraftExecute) && "1".equals(itemdFunctionFuhe)
- && !"W16".equals(itemddkey3) && !"16".equals(itemddkey4) && !"19".equals(itemddkey4)){
- sql="";
- sql = " update QCM_JHY_SAMPLE_CONSIGN_D t "
- + " set STATUS='3',SEND_TIME=sysdate,SEND_ID='"+sendId+"',SEND_NAME='"+sendName+"', "
- + " t.RZ_OLD_SAMPL_NO='"+list.get("SPECIMEN_NO")+"' "
- + " where t.SPECIMEN_NO = '"+(String)items.get(i).get("SPECIMEN_NO")+"' ";
- mapper.UpdateQcmWt(sql.toString());
-
- sql = "";
- sql = " INSERT INTO QCM_JUDGE_LOG ( JUDGE_TYPE,MATERIAL_NO,CREATE_TIME,CREATE_NAME,PROD_LINE) "
- +" VALUES ( 'P', '"+items.get(i).get("SMP_NO")+"', SYSDATE,'system','"+items.get(i).get("PLINE_CODE")+"')";
- mapper.insert(sql);
-
- }
- }
-
- }
- }
-
- }
- cro.setV_errCode(1);
- cro.setV_errMsg("发送成功");
- }
- for (HashMap list : lists) {
- QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
- qjog.setOperate_name(sendName);
- qjog.setBatchno(list.get("BATCH_NO") == null ?"":list.get("BATCH_NO").toString());
- qjog.setOperate_type("预测抽样发送检验委托");
- qjog.setParams(list.get("MATERIAL_NO") == null ?"":list.get("MATERIAL_NO").toString());
- qjog.setProd_line(list.get("PLINE_CODE") == null ?"":list.get("PLINE_CODE").toString());
- qjog.setMemo(list.get("SPECIMEN_NO") == null ?"":list.get("SPECIMEN_NO").toString());
- mapper.insertQcmJudgeOperateLog(qjog);
- }
-
- SqlSession.commit();
-
- //全自动激光切割加工中心系统
- /*if(LCplineCode.equals("HB1") || LCplineCode.equals("ZB1")){
- if(LCtarDate.size()>=1){
- String jgkg=QcmJhyJgKg(LCplineCode);
- if("1".equals(jgkg)){
- String LCurlStr = "http://172.16.0.169:82/Limsinterface/http/Tgcut";
- String LCtar=LCtarDate.toString();
- httpURLPOSTLaserCenter(LCurlStr,LCtar,LCplineCode);
- }
- }
- }*/
- } catch (Exception e) {
- e.printStackTrace();
- SqlSession.rollback();
- cro.setV_errCode(-1);
- cro.setV_errMsg("预测抽样失败!"+e.getMessage());
- return cro;
- }finally {
- SqlSession.close();
- }
-
- return cro;
- }
-
- /**
- * 撤销预测抽样
- * @param Entrust
- * @return
- */
- public CoreReturnObject CancelZHBYuCeSample(String Entrust,String UserName,String zhyy){
- try {
- JSONArray arr = new JSONArray();
- String[] ja=Entrust.split(",");
- String msInfo="";
- String resultlist ="";
- TreeSet<String> treeSet = new TreeSet<String>();
- if (ja!=null && ja.length>0) {
-
- for (int i = 0; i < ja.length; i++) {
- String sp = ja[i];
- treeSet.add(sp);
- JSONObject obj = new JSONObject();
- obj.put("id",sp);
- arr.add(obj);
- if ("".equals(msInfo)) {
-
- msInfo="'"+sp+"'";
- }else{
- msInfo=msInfo+"'"+sp+"'";
- }
-
- if (i !=ja.length-1) {
- msInfo=msInfo+",";
- }
-
-
- }
-
- }
-
- if (treeSet.size()!=1) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤销预测抽样只能勾选预测抽样委托,请核实数据!");
- return cro;
- }
-
- //循环每个取样编号是否已判定
- for (String trs : treeSet) {
- String QuerySql="SELECT count(1) CNUM from QCM_JHY_SAMPLE_R_ORD t where t.JUDGE_STATUS <> '0' and "
- + " t.SMP_NO=(SELECT d.SMP_NO from QCM_JHY_SAMPLE_CONSIGN_D d WHERE d.SPECIMEN_NO='"+trs+"')";
- List<HashMap> hashMaplist2 = mapper.query(QuerySql.toString());
- BigDecimal cou2 = (BigDecimal) hashMaplist2.get(0).get("CNUM");
- String coun2 = cou2.toString();
- Integer integ2 = Integer.parseInt(coun2);
-
- if(integ2 >= 1){
- cro.setV_errCode(-1);
- cro.setV_errMsg("取样编号【"+trs+"】材质已判定,不可撤销,请核实数据!");
- return cro;
- }
-
- QuerySql="";
- QuerySql="SELECT d.* from QCM_JHY_SAMPLE_CONSIGN_D d WHERE d.SPECIMEN_NO='"+trs+"' ";
- List<HashMap> HMSP = mapper.query(QuerySql.toString());
- if(HMSP!=null && HMSP.size()>=1){
- if(!HMSP.get(0).get("SPECIMEN_NO").toString().equals(HMSP.get(0).get("RZ_OLD_SAMPL_NO").toString())){
- cro.setV_errCode(-1);
- cro.setV_errMsg("请撤销发送到LIMS那边的预测抽样的轧批!!!");
- return cro;
- }
- }
- }
-
- //查询取样编号是否状态是已待确认,只有待确认的才能够撤销
- StringBuffer sqlucomm = new StringBuffer();
-
- //调用LZMES撤销委托接口,暂时没有
- String urlStr = "http://172.16.0.169:82/Limsinterface/http/Revokeghtask";//调用url
- String result = "";
- try{
-
- JSONObject tarObj=new JSONObject();
- Date date=new Date();
- SimpleDateFormat simleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String ret=simleDateFormat.format(date);//系统时间
- //主表数据
- tarObj.put("revokeUser", UserName+"C");
- tarObj.put("revokeReason", zhyy);
- tarObj.put("revokeTime", ret);
- tarObj.put("revokeOrderList", arr);
- result = httpURLPOSTCase(urlStr,tarObj.toString());//调用url
- if (result == null||result.equals("null") || result.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤回预测抽样LIMS返回失败!返回值:"+result);
- return cro;
- }
- resultlist =result.substring(8, 11);
- if (!resultlist.equals("200") || resultlist == null || resultlist.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤回预测抽样Lims返回失败!"+result);
- return cro;
- }
- }catch(Exception e){
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤回预测抽样Lims返回失败!"+e.getMessage());
- return cro;
- }
-
-
- if (resultlist.equals("200")) {
- //记录撤回的数据
- String sqlDel = " Insert into QCM_JHY_SAMPLE_CONSIGN_D_DEL(SMP_NO,SPECIMEN_NO,HEAT_NO,BATCH_NO,INSPECTION_LOT,FREQ_CODE,FREQ_NAME,MATERIAL_NO,SMP_TYPE_CODE,SMP_TYPE_NAME,CONSIGN_NO,CONSIGN_NO_SEQ,TEST_QTY,SMP_QTY,SMP_LOCATION,BOARD_NO,QUOTE_CONSIGN_NO,OLD_CONSIGN_NO,PLINE_CODE,PLINE_NAME,STATUS,VALIDFLAG,SOURCE,GUID,SEND_ID,SEND_NAME,SEND_TIME,CHEM_ITEM,PRODUCT_CNT,CREATE_TIME,SMP_LOCATION_CODE,MEMO,WEIGHT,WEIGHT_STD,WEIGHT_SFD,SPECIMENNOZH,SEND_MEMO,ITEM_FLAG,CREATETIMEDEL,CREATENAMEDEL) "
- + " select SMP_NO,SPECIMEN_NO,HEAT_NO,BATCH_NO,INSPECTION_LOT,FREQ_CODE,FREQ_NAME,MATERIAL_NO,SMP_TYPE_CODE,SMP_TYPE_NAME,CONSIGN_NO,CONSIGN_NO_SEQ,TEST_QTY,SMP_QTY,SMP_LOCATION,BOARD_NO,QUOTE_CONSIGN_NO,OLD_CONSIGN_NO,PLINE_CODE,PLINE_NAME,STATUS,VALIDFLAG,SOURCE,GUID,SEND_ID,SEND_NAME,SEND_TIME,CHEM_ITEM,PRODUCT_CNT,CREATE_TIME,SMP_LOCATION_CODE,MEMO,WEIGHT,WEIGHT_STD,WEIGHT_SFD,'1',SEND_MEMO,ITEM_FLAG,SYSDATE,'"+UserName+"' from QCM_JHY_SAMPLE_CONSIGN_D d"
- + " where SPECIMEN_NO in ("+msInfo+")";
- mapper.insert(sqlDel);
-
- String updateSql="UPDATE QCM_JHY_SAMPLE_CONSIGN_D SET STATUS='0',SPECIMENNOZH = '1', PLINE_CODE_LIMS='', "
- + " SEND_ID ='',SEND_NAME='',SEND_TIME='',SAMPLE_DELIVERY_TIME='',RZ_OLD_SAMPL_NO='',PRINT_SEQ='',PRINT_SEQJ='' "
- + " where SPECIMEN_NO in ("+msInfo+")";
- mapper.UpdateQcmWt(updateSql);
-
- /* String sql="";
- for (String trs : treeSet) {
- sql="";
- sql="select t.* from qcm_jhy_sample_consign_d t,qcm_jhy_sample_r_ord r "
- + " where t.smp_no=r.smp_no and r.steel_code in ('Q235B','Q355B') "
- + " and t.rz_mixroll is not null and t.RZ_ROLL_SLAB_SEQ is null "
- + " and t.RZ_OLD_SAMPL_NO = '"+trs+"' ";
- List<HashMap> items=mapper.query(sql.toString());
- if (items!=null && items.size()>0) {
- for (int i = 0; i < items.size(); i++) {
- sql="";
- sql = " update QCM_JHY_SAMPLE_CONSIGN_D t "
- + " set STATUS='0',SEND_TIME='',SEND_ID='',SEND_NAME='', "
- + " t.RZ_OLD_SAMPL_NO='' "
- + " where t.SPECIMEN_NO = '"+(String)items.get(i).get("SPECIMEN_NO")+"' ";
- mapper.UpdateQcmWt(sql.toString());
- }
- }
- }*/
- }
- String sqlLog = "select * from QCM_JHY_SAMPLE_CONSIGN_D t where t.specimen_no in ("+msInfo+")";
- List<HashMap> lists = mapper.query(sqlLog);
- for (HashMap list : lists) {
- QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
- qjog.setOperate_name(UserName);
- qjog.setBatchno(list.get("BATCH_NO") == null ?"":list.get("BATCH_NO").toString());
- qjog.setOperate_type("撤销预测抽样检验委托");
- qjog.setParams(list.get("MATERIAL_NO") == null ?"":list.get("MATERIAL_NO").toString());
- qjog.setProd_line(list.get("PLINE_CODE") == null ?"":list.get("PLINE_CODE").toString());
- qjog.setMemo(list.get("SPECIMEN_NO") == null ?"":list.get("SPECIMEN_NO").toString());
- mapper.insertQcmJudgeOperateLog(qjog);
- }
- SqlSession.commit();
- }catch (Exception e) {
- e.printStackTrace();
- SqlSession.rollback();
- cro.setV_errCode(-1);
- cro.setV_errMsg("撤销预测抽样委托失败,请联系管理员查看问题!");
- return cro;
-
- }finally {
- SqlSession.close();
- }
-
- cro.setV_errCode(1);
- cro.setV_errMsg("撤销预测抽样发送成功");
- return cro;
-
- }
-
- /**
- * 发送序号
- * @param pline_code
- * @return
- */
- private String createSendSeq(String pline_code) {
- // TODO Auto-generated method stub
- String SendSeq="";
- String plineCode=pline_code.substring(0, 1);
- SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
- String syh = plineCode +sdf.format(new Date());
-
- StringBuffer sqlucomm = new StringBuffer();
- if(pline_code.equals("HB1") || pline_code.equals("ZB1")){
- sqlucomm.append("SELECT max(to_number(substr(T.SEND_SEQ, 8))) SEND_SEQ FROM QCM_JHY_SAMPLE_CONSIGN_D T WHERE T.SEND_SEQ like '"+syh+"%' ");
- }else{
- sqlucomm.append("SELECT max(to_number(substr(T.SEND_SEQ, 8))) SEND_SEQ FROM QCM_JHY_SAMPLE_CONSIGN_D T WHERE T.SEND_SEQ like '"+syh+"%' AND T.PLINE_CODE = '"+pline_code+"'");
- }
- HashMap result=mapper.queryOne(sqlucomm.toString());
- BigDecimal seq=BigDecimal.ZERO;
- if (result!=null && result.get("SEND_SEQ")!=null ) {
- seq=(BigDecimal)result.get("SEND_SEQ");
- }
- seq=seq.add(BigDecimal.ONE);
-
- SendSeq=syh+ String.format("%04d", seq.intValue());
- return SendSeq;
- }
-
- /**
- * 发送序号
- * @param pline_code
- * @return
- */
- private String createSendSeq2(String pline_code,String ptime) {
- // TODO Auto-generated method stub
- String SendSeq="";
- String plineCode=pline_code.substring(0, 1);
- SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
- String syh = plineCode +sdf.format(new Date())+ptime;
-
- StringBuffer sqlucomm = new StringBuffer();
- if(pline_code.equals("HB1") || pline_code.equals("ZB1")){
- sqlucomm.append("SELECT max(to_number(substr(T.SEND_SEQ, 12))) SEND_SEQ FROM QCM_JHY_SAMPLE_CONSIGN_D T WHERE T.SEND_SEQ like '"+syh+"%' ");
- }else{
- sqlucomm.append("SELECT max(to_number(substr(T.SEND_SEQ, 8))) SEND_SEQ FROM QCM_JHY_SAMPLE_CONSIGN_D T WHERE T.SEND_SEQ like '"+syh+"%' AND T.PLINE_CODE = '"+pline_code+"'");
- }
- HashMap result=mapper.queryOne(sqlucomm.toString());
- BigDecimal seq=BigDecimal.ZERO;
- if (result!=null && result.get("SEND_SEQ")!=null ) {
- seq=(BigDecimal)result.get("SEND_SEQ");
- }
- seq=seq.add(BigDecimal.ONE);
-
- SendSeq=syh+ String.format("%04d", seq.intValue());
- return SendSeq;
- }
-
- /**
- * 船检编号
- * @param pline_code
- * @return
- */
- private String createPintSeqJ(String pline_code,String cert_inst_code) {
- // TODO Auto-generated method stub
- String SendSeq="";
- String plineCode=pline_code.substring(0, 1);
- SimpleDateFormat sdf = new SimpleDateFormat("yyMM");
- String syh = plineCode +sdf.format(new Date());
- String instCode = "";
- if(cert_inst_code.equals("IC005")){
- instCode = "ABS*";
- }else if(cert_inst_code.equals("IC009")){
- instCode = "LR*";
- }else if(cert_inst_code.equals("IC006")){
- instCode = "NK*";
- }else if(cert_inst_code.equals("IC007")){
- instCode = "RINA*";
- }else if(cert_inst_code.equals("IC002")){
- instCode = "RS*";
- }else if(cert_inst_code.equals("IC001")){
- instCode = "DNV*";
- }else if(cert_inst_code.equals("IC008")){
- instCode = "IRS*";
- }
- syh += instCode;
-
- StringBuffer sqlucomm = new StringBuffer();
- sqlucomm.append("SELECT max(to_number(substr(T.PRINT_SEQJ, -4))) PRINT_SEQJ FROM QCM_JHY_SAMPLE_CONSIGN_D T WHERE T.PRINT_SEQJ like '"+syh+"%' AND T.PRINT_SEQJ IS NOT NULL ");
- HashMap result=mapper.queryOne(sqlucomm.toString());
- BigDecimal seq=BigDecimal.ZERO;
- if (result!=null && result.get("PRINT_SEQJ")!=null ) {
- seq=(BigDecimal)result.get("PRINT_SEQJ");
- }
- seq=seq.add(BigDecimal.ONE);
-
- SendSeq=syh+ String.format("%04d", seq.intValue());
- return SendSeq;
- }
-
- /**
- * 船检编号
- * @param pline_code
- * @return
- */
- private String createPintSeqJ2(String pline_code,String cert_inst_code) {
- // TODO Auto-generated method stub
- String SendSeq="";
- //String plineCode=pline_code.substring(0, 1);
- //SimpleDateFormat sdf = new SimpleDateFormat("yyMM");
- //String syh = plineCode +sdf.format(new Date());
- String syh ="";
- String instCode = "";
- if(cert_inst_code.equals("IC005")){
- instCode = "AB";//美国船级社
- }else if(cert_inst_code.equals("IC009")){
- instCode = "LR";//英国船级社
- }else if(cert_inst_code.equals("IC006")){
- instCode = "K";//日本船级社
- }else if(cert_inst_code.equals("IC007")){
- instCode = "RI";//意大利船级社
- }else if(cert_inst_code.equals("IC002")){
- instCode = "PC";//俄罗斯
- }
- syh = instCode;
-
- StringBuffer sqlucomm = new StringBuffer();
- sqlucomm.append("SELECT max(to_number(substr(T.PRINT_SEQJ, -4))) PRINT_SEQJ FROM QCM_JHY_SAMPLE_CONSIGN_D T WHERE T.PRINT_SEQJ like '"+syh+"%' "
- + " AND T.PRINT_SEQJ IS NOT NULL AND T.PRINT_SEQJLOT IS NULL and t.pline_code in ('ZB1','HB1') ");
- HashMap result=mapper.queryOne(sqlucomm.toString());
- BigDecimal seq=BigDecimal.ZERO;
- if (result!=null && result.get("PRINT_SEQJ")!=null ) {
- seq=(BigDecimal)result.get("PRINT_SEQJ");
- }
- seq=seq.add(BigDecimal.ONE);
-
- SendSeq=syh+ String.format("%04d", seq.intValue());
- return SendSeq;
- }
-
- /**
- * 自动激光切割系统接口开关
- * @param pline_code
- * @return
- */
- private String QcmJhyJgKg(String pline_code) {
- String sql="select t.* from QCM_JHY_JG_KG t where t.pline_code = '"+pline_code+"' and rownum=1";
- HashMap result=mapper.queryOne(sql.toString());
- if (result==null || result.size()<=0) {
- return "0";
- }
- return result.get("KG").toString();
- }
-
- /**
- * 发送Http Post请求 全自动激光切割加工中心系统*/
- public static void httpURLPOSTLaserCenter(String methodUrl,String data,String plineCode) {
- HttpURLConnection connection = null;
- PrintWriter pw = null;
- BufferedReader reader = null;
- String line = "";
- StringBuilder result = new StringBuilder();
- try {
- URL url = new URL(methodUrl);
- data= URLEncoder.encode(data,"UTF-8") ;
- connection = (HttpURLConnection)url.openConnection();// 根据URL生成HttpURLConnection
- connection.setDoOutput(true);// 设置是否向connection输出,因为这个是post请求,参数要放在http正文内,因此需要设为true,默认情况下是false
- connection.setDoInput(true); // 设置是否从connection读入,默认情况下是true;
- connection.setRequestMethod("POST");// 设置请求方式为post,默认GET请求
- connection.setUseCaches(false);// post请求不能使用缓存设为false
- connection.setConnectTimeout(10000);// 连接主机的超时时间
- connection.setReadTimeout(10000);// 从主机读取数据的超时时间
- connection.setInstanceFollowRedirects(true);// 设置该HttpURLConnection实例是否自动执行重定向
- connection.setRequestProperty("accept", "*/*");
- connection.setRequestProperty("connection", "Keep-Alive");// 连接复用
- connection.setRequestProperty("charset", "utf-8");
- connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
- connection.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
- connection.connect();// 建立TCP连接,getOutputStream会隐含的进行connect,所以此处可以不要
- pw = new PrintWriter(connection.getOutputStream());// 创建输入输出流,用于往连接里面输出携带的参数
- pw.write("data="+data);//json数据
- pw.flush();
- pw.close();
- if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
- reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));// 发送http请求
- // 循环读取流
- while (null != (line = reader.readLine())) {
- result.append(line);
- }
- reader.close();
- }
- } catch (IOException e) {
- /* e.printStackTrace();
- try {
- throw new Exception("发送全自动激光切割加工中心系统失败,具体原因为["+e.getMessage()+"]");
- } catch (Exception e1) {
- e1.printStackTrace();
- }*/
- } finally {
- connection.disconnect();
- }
- String kkk=result.toString();
- System.out.println("全自动激光切割加工中心系统-----"+kkk);
- }
-
- /**
- * 补发激光接口
- * @return cro
- * @throws IOException
- */
- @SuppressWarnings("unchecked")
- public CoreReturnObject SendJG(String Entrust,String sendId,String sendName,HashMap parmas){
- try {
- String h_PLINE_CODE=parmas.get("PLINE_CODE").toString();
- String LCplineCode="LC";//全自动激光切割加工中心系统
- StringBuffer sqlucomm = new StringBuffer();
-
- String[] ja=Entrust.split(",");
- String msInfo="";
- if (ja!=null && ja.length>0) {
-
- for (int i = 0; i < ja.length; i++) {
- String sp = ja[i];
- if ("".equals(msInfo)) {
-
- msInfo="'"+sp+"'";
-
- }else{
- msInfo=msInfo+"'"+sp+"'";
- }
-
- if (i !=ja.length-1) {
- msInfo=msInfo+",";
- }
-
-
- }
-
- }
-
- //查询检验
- if(sendId.equals("JG")){
- if(h_PLINE_CODE.equals("ZHB")){
- sqlucomm.append("SELECT d.SMP_NO,d.ZHB_SPECIMEN_NO SPECIMEN_NO,d.HEAT_NO,d.BATCH_NO,d.INSPECTION_LOT,d.FREQ_CODE,d.FREQ_NAME,d.SEND_ID,d.SEND_NAME,nvl(d.PLINE_CODE_LIMS,' ') PLINE_CODE_LIMS,"
- + " d.MATERIAL_NO,d.SEND_MEMO,d.SMP_TYPE_CODE,d.SMP_TYPE_NAME,d.CONSIGN_NO,d.CONSIGN_NO_SEQ,d.TEST_QTY,d.SMP_QTY,"
- + " d.SMP_LOCATION,d.SMP_LOCATION_CODE,d.BOARD_NO,d.QUOTE_CONSIGN_NO,d.OLD_CONSIGN_NO,d.PLINE_CODE,d.PLINE_NAME,d.CHEM_ITEM,"
- + " d.SOURCE,d.PRODUCT_CNT,d.MEMO, o.STEEL_CODE,o.STEEL_NAME ,o.THICK,o.WIDTH ,o.LENGTH ,o.DESIGN_KEY,m.CERT_INST_CODE,m.CERT_INST_NAME,"
- + " m.SMP_CATG,nvl(d.PROCESS_NOS,'null') PROCESS_NOS,nvl(d.SHOULD_SAMPLE,'非预测') SHOULD_SAMPLE,nvl(d.SEND_SEQ,'null') SEND_SEQ, "
- + " nvl(d.PRINT_SEQ,'null') PRINT_SEQ,nvl(d.PRINT_SEQJ,'null') PRINT_SEQJ, d.CONSIGN_NO,d.CONSIGN_NO_SEQ,nvl(d.SAMPLE_DELIVERY_TIME,'null') SAMPLE_DELIVERY_TIME "
- + " FROM QCM_JHY_SAMPLE_CONSIGN_D d INNER JOIN QCM_JHY_SAMPLE_CONSIGN_M m "
- + " ON d.SMP_NO=m.SMP_NO INNER JOIN QCM_JHY_SAMPLE_R_ORD O ON d.SMP_NO = o.SMP_NO "
- + " where d.ZHB_SPECIMEN_NO in ("+msInfo+") and d.VALIDFLAG='1' and d.STATUS !='0' and d.SAMPLE_DELIVERY_TIME is not null and rownum <=1 ");
- }else{
- sqlucomm.append("SELECT d.SMP_NO,d.SPECIMEN_NO,d.HEAT_NO,d.BATCH_NO,d.INSPECTION_LOT,d.FREQ_CODE,d.FREQ_NAME,d.SEND_ID,d.SEND_NAME,nvl(d.PLINE_CODE_LIMS,' ') PLINE_CODE_LIMS,"
- + " d.MATERIAL_NO,d.SEND_MEMO,d.SMP_TYPE_CODE,d.SMP_TYPE_NAME,d.CONSIGN_NO,d.CONSIGN_NO_SEQ,d.TEST_QTY,d.SMP_QTY,"
- + " d.SMP_LOCATION,d.SMP_LOCATION_CODE,d.BOARD_NO,d.QUOTE_CONSIGN_NO,d.OLD_CONSIGN_NO,d.PLINE_CODE,d.PLINE_NAME,d.CHEM_ITEM,"
- + " d.SOURCE,d.PRODUCT_CNT,d.MEMO, o.STEEL_CODE,o.STEEL_NAME ,o.THICK,o.WIDTH ,o.LENGTH ,o.DESIGN_KEY,m.CERT_INST_CODE,m.CERT_INST_NAME,"
- + " m.SMP_CATG,nvl(d.PROCESS_NOS,'null') PROCESS_NOS,nvl(d.SHOULD_SAMPLE,'非预测') SHOULD_SAMPLE,nvl(d.SEND_SEQ,'null') SEND_SEQ, "
- + " nvl(d.PRINT_SEQ,'null') PRINT_SEQ,nvl(d.PRINT_SEQJ,'null') PRINT_SEQJ, d.CONSIGN_NO,d.CONSIGN_NO_SEQ,nvl(d.SAMPLE_DELIVERY_TIME,'null') SAMPLE_DELIVERY_TIME "
- + " FROM QCM_JHY_SAMPLE_CONSIGN_D d INNER JOIN QCM_JHY_SAMPLE_CONSIGN_M m "
- + " ON d.SMP_NO=m.SMP_NO INNER JOIN QCM_JHY_SAMPLE_R_ORD O ON d.SMP_NO = o.SMP_NO "
- + " where d.SPECIMEN_NO in ("+msInfo+") and d.VALIDFLAG='1' and d.STATUS !='0' and d.STATUS !='6' ");
- }
- }else{
- sqlucomm.append("SELECT d.SMP_NO,d.SPECIMEN_NO,d.HEAT_NO,d.BATCH_NO,d.INSPECTION_LOT,d.FREQ_CODE,d.FREQ_NAME,"
- + " d.MATERIAL_NO,d.SEND_MEMO,d.SMP_TYPE_CODE,d.SMP_TYPE_NAME,d.CONSIGN_NO,d.CONSIGN_NO_SEQ,d.TEST_QTY,d.SMP_QTY,"
- + " d.SMP_LOCATION,d.SMP_LOCATION_CODE,d.BOARD_NO,d.QUOTE_CONSIGN_NO,d.OLD_CONSIGN_NO,d.PLINE_CODE,d.PLINE_NAME,d.CHEM_ITEM,"
- + " d.SOURCE,d.PRODUCT_CNT,d.MEMO, o.STEEL_CODE,o.STEEL_NAME ,o.THICK,o.WIDTH ,o.LENGTH ,o.DESIGN_KEY,m.CERT_INST_CODE,m.CERT_INST_NAME,"
- + " m.SMP_CATG,nvl(d.PROCESS_NOS,'null') PROCESS_NOS,nvl(d.SHOULD_SAMPLE,'非预测') SHOULD_SAMPLE,nvl(d.SEND_SEQ,'null') SEND_SEQ, "
- + " nvl(d.PRINT_SEQ,'null') PRINT_SEQ,nvl(d.PRINT_SEQJ,'null') PRINT_SEQJ, d.CONSIGN_NO,d.CONSIGN_NO_SEQ,nvl(d.SAMPLE_DELIVERY_TIME,'null') SAMPLE_DELIVERY_TIME "
- + " FROM QCM_JHY_SAMPLE_CONSIGN_D d INNER JOIN QCM_JHY_SAMPLE_CONSIGN_M m "
- + " ON d.SMP_NO=m.SMP_NO INNER JOIN QCM_JHY_SAMPLE_R_ORD O ON d.SMP_NO = o.SMP_NO "
- + " where d.SPECIMEN_NO in ("+msInfo+") and d.VALIDFLAG='1' ");
- }
-
-
- List<HashMap> lists=mapper.query(sqlucomm.toString());
- if (lists==null || lists.size()<1) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("待发送的检验委托数据已经不存在,请核实数据!");
- return cro;
- }
- String tresteelCode = "";//合并牌号
- if(h_PLINE_CODE.equals("ZHB")){
- String sqlZHB= "select r.STEEL_CODE from qcm_jhy_sample_consign_d t,qcm_jhy_sample_r_ord r "
- +" where t.smp_no = r.smp_no and t.Zhb_Specimen_No in ("+msInfo+") "
- +" GROUP BY r.steel_code order by r.steel_code";
- List<HashMap> listsZHB=mapper.query(sqlZHB.toString());
- if(listsZHB!=null && listsZHB.size()>=1){
- for (int i = 0; i < listsZHB.size(); i++) {
- HashMap obj=listsZHB.get(i);
- String strSteelCode =(String)obj.get("STEEL_CODE");
- if(StringUtils.isBlank(tresteelCode)){//是否为空牌号
- tresteelCode = strSteelCode;
- }else{
- tresteelCode = tresteelCode +","+strSteelCode;
- }
- }
- }else{
- cro.setV_errCode(-1);
- cro.setV_errMsg("待发送的检验委托数据已经不存在,请核实数据!");
- return cro;
- }
- }
-
- JSONArray tarDate=new JSONArray();
- JSONArray LCtarDate=new JSONArray();//全自动激光切割加工中心系统
-
- Date date=new Date();
- SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String dateString=simpleDateFormat.format(date);
-
- for (int i = 0; i < lists.size(); i++) {
- HashMap obj=lists.get(i);
- if(sendId.equals("JG")){
- obj.put("SEND_ID", obj.get("SEND_ID").toString());
- obj.put("SEND_NAME", obj.get("SEND_NAME").toString());
- }else{
- obj.put("SEND_ID", sendId);
- obj.put("SEND_NAME", sendName);
- }
-
- obj.put("CONSIGN_NO", obj.get("CONSIGN_NO").toString());
- obj.put("CONSIGN_NO_SEQ", obj.get("CONSIGN_NO_SEQ").toString());
- obj.put("SEND_TIME", dateString);
- LCplineCode=obj.get("PLINE_CODE").toString();//全自动激光切割加工中心系统
- JSONObject smpleD = JSONObject.parseObject(JSON.toJSONString(obj));
-
- //目标json
- JSONObject tarObj=new JSONObject();
- //主表数据
- createTarObj(tarObj,smpleD);
- tarObj.put("printSeq", obj.get("PRINT_SEQ").toString());//打印序号
- tarObj.put("PRINTSEQJ", obj.get("PRINT_SEQJ").toString());//船检编号
- tarObj.put("sendSeq", obj.get("SEND_SEQ").toString());//发送序号
- tarObj.put("CREATE_ID", sendId);
- tarObj.put("CREATE_NAME", sendName);
- tarObj.put("sampleDeliveryTime", obj.get("SAMPLE_DELIVERY_TIME").toString());//送样时间点
- tarObj.put("cretInstCode", obj.get("CERT_INST_CODE"));
- tarObj.put("cretInstName", obj.get("CERT_INST_NAME"));
- if(h_PLINE_CODE.equals("ZHB")){
- tarObj.put("steelCode",tresteelCode);//牌号合并
- tarObj.put("steelName",tresteelCode);//牌号合并
- }
-
- if(obj.get("PLINE_CODE").equals("ZB1") || obj.get("PLINE_CODE").equals("HB1")){
- tarObj.put("heatTreatment", obj.get("PROCESS_NOS"));
- //传给lims的成分标识
- String sql ="select t.* from QCM_JHY_SAMPLE_CONSIGN_D t,QCM_JHY_SAMPLE_CONSIGN_M m "
- +" where t.smp_no = m.smp_no and m.SMP_CATG = 'A' and t.batch_no = '"+smpleD.getString("BATCH_NO")+"' ";
- List<HashMap> componentLog=mapper.query(sql.toString());
- if(componentLog!=null && componentLog.size()>=1){
- tarObj.put("componentLog", '1');//1代表有成分
- }else{
- tarObj.put("componentLog", '0');//0代表无成分
- }
- }
-
- if ("5000".equals(obj.get("CERT_INST_CODE")) || "IC012".equals(obj.get("CERT_INST_CODE")) ) {
- tarObj.put("type", "0");
- }else{
- tarObj.put("type", "1");
- }
-
-
- if ("B".equals(obj.get("SMP_CATG"))) {
- //材质
- sqlucomm.setLength(0);
- if(h_PLINE_CODE.equals("ZHB")){
- sqlucomm.append("select T.SPECIMEN_NO,T.SEQ,T.PHY_NAME_L,T.PHY_CODE_L,T.PHY_CODE_M,T.PHY_NAME_M,T.PHY_CODE_S,"
- + "T.PHY_NAME_S,T.ITEM_CODE_D,T.ITEM_NAME_D,T.ITEM_CODE_T,T.ITEM_NAME_T,T.ITEM_CODE_S,T.ITEM_NAME_S,"
- + "T.ISJUDGE,T.JUDGE_BASIS,T.PHY_UNIT,T.GROUP_SEQ,T.QUOTE_SPECIMEN_NO,T.MEMO,T.ITEM_CODE_L,"
- + " T.ITEM_DESC_L,T.TEST_QTY,T.SMP_QTY,T.SPECL_FL,T.STDMIN_SIGN,T.STDMIN,T.STDMAX_SIGN,T.STDMAX, "
- + " T.STDMEMO from QCM_JHY_ZHB_PHYSICS T WHERE T.SPECIMEN_NO='"+Entrust+"' ");
- }else{
- sqlucomm.append("select T.SPECIMEN_NO,T.SEQ,T.SMP_NO,T.PHY_NAME_L,T.PHY_CODE_L,T.PHY_CODE_M,T.PHY_NAME_M,T.PHY_CODE_S,"
- + "T.PHY_NAME_S,T.ITEM_CODE_D,T.ITEM_NAME_D,T.ITEM_CODE_T,T.ITEM_NAME_T,T.ITEM_CODE_S,T.ITEM_NAME_S,"
- + "T.ISJUDGE,T.JUDGE_BASIS,T.PHY_UNIT,T.GROUP_SEQ,T.QUOTE_SPECIMEN_NO,T.QUOTE_SEQ,T.MEMO,T.ITEM_CODE_L,"
- + " T.ITEM_DESC_L,T.TEST_QTY,T.SMP_QTY,T.CREATE_TIME,T.CREATE_ID,T.CREATE_NAME,T.SPECL_FL, "
- + "T.STDMIN_SIGN,T.STDMIN,T.STDMAX_SIGN,T.STDMAX,t.STDMEMO from QCM_JHY_SAMPLE_CONSIGN_D_ITEM T"
- + " WHERE T.SPECIMEN_NO='"+obj.get("SPECIMEN_NO")+"' and (T.QUOTE_SPECIMEN_NO is null or T.QUOTE_SPECIMEN_NO='') and t.Fy_Quote_Specimen_No is null and t.QUOTE_MEMO is null ");
- }
- List<HashMap> items=mapper.query(sqlucomm.toString());
- if (items!=null && items.size()>0) {
- JSONArray arrayItem=new JSONArray();
- for(int j = 0 ;j < items.size() ; j++){
- JSONObject oldItem =JSONObject.parseObject(JSON.toJSONString(items.get(j))) ;
- JSONObject tarItem=new JSONObject();
- //子表数据
- createItem(tarItem,oldItem);
- if(oldItem.getString("PHY_NAME_M").equals("现场洛氏硬度HRC")){
- tarItem.put("tsFlag", "1");//探伤
- }else{
- tarItem.put("tsFlag", "0");//非探伤
- }
-
- arrayItem.add(tarItem);
- }
- tarObj.put("items", arrayItem);
- }
-
- }else{
- //成分
- JSONObject chemItem=JSON.parseObject((String)obj.get("CHEM_ITEM"));
- tarObj.putAll(chemItem);
- }
-
- tarDate.add(tarObj);
- //全自动激光切割加工中心系统
- if(LCplineCode.equals("HB1")){
- String lcThick = obj.get("THICK").toString();
- double lcThick2 = Double.parseDouble(lcThick);
- if(lcThick2<=25){
- LCtarDate.add(tarObj);
- }
- }else if(LCplineCode.equals("ZB1") || LCplineCode.equals("RZ1")){
- LCtarDate.add(tarObj);
- }
- }
- logger.info(new Date().toString()+"--补发激光jon数组--"+tarDate.toJSONString()+"\n");
- String tar=tarDate.toString();
-
- String result = "";
- //全自动激光切割加工中心系统
- if(LCtarDate.size()>=1){
- //开关状态
- String jgkg=QcmJhyJgKg(LCplineCode);
- if("1".equals(jgkg)){
- String LCurlStr = "http://172.16.0.169:82/Limsinterface/http/Tgcut";
- String LCtar=LCtarDate.toString();
- result = httpURLPOSTLaserCenter2(LCurlStr,LCtar,LCplineCode);
- logger.info(new Date().toString()+"--激光返回--"+result+"\n");
- }
- }
- if ( result == null || result.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("补发激光委托失败!返回值:"+result);
- System.out.println("定时全自动激光切割加工中心系统失败-----"+result);
- SqlSession.rollback();
- return cro;
- }
- JSONObject jobject=JSON.parseObject(result);
- String limsCode=jobject.getString("code");
- String limsMessage=jobject.getString("message");
- if(!limsCode.equals("200")){
- cro.setV_errCode(-1);
- cro.setV_errMsg("补发激光委托失败!"+result);
- System.out.println("定时全自动激光切割加工中心系统失败-----"+result);
- SqlSession.rollback();
- return cro;
- }
- for (HashMap list : lists) {
- QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
- qjog.setOperate_name(sendName);
- qjog.setBatchno(list.get("BATCH_NO") == null ?"":list.get("BATCH_NO").toString());
- qjog.setOperate_type("补发激光委托");
- qjog.setParams(list.get("MATERIAL_NO") == null ?"":list.get("MATERIAL_NO").toString());
- qjog.setProd_line(list.get("PLINE_CODE") == null ?"":list.get("PLINE_CODE").toString());
- qjog.setMemo(list.get("SPECIMEN_NO").toString());
- mapper.insertQcmJudgeOperateLog(qjog);
- }
- if(sendId.equals("JG")){
- String sqlup="update qcm_jhy_sample_consign_jg set yn = 'N',success_memo = '"+result+"' where SPECIMEN_NO= '"+Entrust+"' and YN='Y' ";
- mapper.updateJudgeStatus(sqlup.toString());
- }
- SqlSession.commit();
- } catch (Exception e) {
- e.printStackTrace();
- SqlSession.rollback();
- cro.setV_errCode(-1);
- cro.setV_errMsg("补发激光委托失败!"+e.getMessage());
- System.out.println("定时全自动激光切割加工中心系统失败-----"+e.getMessage());
- return cro;
- }finally {
- SqlSession.close();
- }
- cro.setV_errCode(1);
- cro.setV_errMsg("补发激光委托成功");
- return cro;
- }
-
- /**
- * 发送Http Post请求 全自动激光切割加工中心系统补发*/
- public static String httpURLPOSTLaserCenter2(String methodUrl,String data,String plineCode) {
- HttpURLConnection connection = null;
- PrintWriter pw = null;
- BufferedReader reader = null;
- String line = "";
- StringBuilder result = new StringBuilder();
- try {
- URL url = new URL(methodUrl);
- data= URLEncoder.encode(data,"UTF-8") ;
- connection = (HttpURLConnection)url.openConnection();// 根据URL生成HttpURLConnection
- connection.setDoOutput(true);// 设置是否向connection输出,因为这个是post请求,参数要放在http正文内,因此需要设为true,默认情况下是false
- connection.setDoInput(true); // 设置是否从connection读入,默认情况下是true;
- connection.setRequestMethod("POST");// 设置请求方式为post,默认GET请求
- connection.setUseCaches(false);// post请求不能使用缓存设为false
- connection.setConnectTimeout(10000);// 连接主机的超时时间
- connection.setReadTimeout(10000);// 从主机读取数据的超时时间
- connection.setInstanceFollowRedirects(true);// 设置该HttpURLConnection实例是否自动执行重定向
- connection.setRequestProperty("accept", "*/*");
- connection.setRequestProperty("connection", "Keep-Alive");// 连接复用
- connection.setRequestProperty("charset", "utf-8");
- connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
- connection.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
- connection.connect();// 建立TCP连接,getOutputStream会隐含的进行connect,所以此处可以不要
- pw = new PrintWriter(connection.getOutputStream());// 创建输入输出流,用于往连接里面输出携带的参数
- pw.write("data="+data);//json数据
- pw.flush();
- pw.close();
- if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
- reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));// 发送http请求
- // 循环读取流
- while (null != (line = reader.readLine())) {
- result.append(line);
- }
- reader.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- try {
- throw new Exception("发送全自动激光切割加工中心系统失败,具体原因为["+e.getMessage()+"]");
- } catch (Exception e1) {
- e1.printStackTrace();
- }
- } finally {
- connection.disconnect();
- }
- String kkk=result.toString();
- System.out.println("全自动激光切割加工中心系统-----"+kkk);
- return result.toString();
- }
-
-
- /**
- * 生成钢印号
- * @return cro
- * @throws IOException
- */
- @SuppressWarnings("unchecked")
- public CoreReturnObject GetGenerateSteel(String Entrust,HashMap parmas){
- try {
- String LCplineCode="LC";//全自动激光切割加工中心系统
- String[] ja=Entrust.split(",");
- String msInfo="";
- if (ja!=null && ja.length>0) {
-
- for (int i = 0; i < ja.length; i++) {
- String sp = ja[i];
- if ("".equals(msInfo)) {
-
- msInfo="'"+sp+"'";
-
- }else{
- msInfo=msInfo+"'"+sp+"'";
- }
-
- if (i !=ja.length-1) {
- msInfo=msInfo+",";
- }
-
-
- }
-
- }
-
- //查询检验
- String sql="select t.specimen_no,t.batch_no,nvl(t.zhb_specimen_no,' ') zhb_specimen_no,t.material_no,r.thick,t.pline_code,t.Pline_Code_Lims, "
- + " r.Cert_Inst_Code,t.SAMPLE_DELIVERY_TIME from qcm_jhy_sample_consign_d t,qcm_jhy_sample_r_ord r "
- +" where t.smp_no = r.smp_no and (t.specimen_no in ("+msInfo+") or t.zhb_specimen_no in ("+msInfo+")) "
- +" and t.Print_Seq is null and t.Pline_Code_Lims is not null and t.SAMPLE_DELIVERY_TIME is not null "
- +" order by t.SAMPLE_DELIVERY_TIME asc,r.steel_code asc,t.MATERIAL_NO asc ";
-
-
- List<HashMap> lists=mapper.query(sql.toString());
- if (lists==null || lists.size()<1) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("数据已经不存在,请核实数据!");
- return cro;
- }
- TreeSet<String> strcic = new TreeSet<String>();//认证机构
- TreeSet<String> strsdt = new TreeSet<String>();//送样时间点
- for (int i = 0; i < lists.size(); i++) {
- HashMap obj=lists.get(i);
- strcic.add(obj.get("CERT_INST_CODE").toString());
- strsdt.add(obj.get("SAMPLE_DELIVERY_TIME").toString());
- }
- /* if(strcic.size()>=2){
- cro.setV_errCode(-1);
- cro.setV_errMsg("只能选择同一个认证机构生成编号!请核实数据!");
- return cro;
- }*/
- if(strsdt.size()>=2){
- cro.setV_errCode(-1);
- cro.setV_errMsg("只能选择同一送样时间点!请核实数据!");
- return cro;
- }
-
- JSONArray tarDate=new JSONArray();//LIMS
- JSONArray LCtarDate=new JSONArray();//全自动激光切割加工中心系统
- TreeSet<String> strsno = new TreeSet<String>();//取样编号
-
- for (int i = 0; i < lists.size(); i++) {
- HashMap obj=lists.get(i);
- LCplineCode=obj.get("PLINE_CODE").toString();//全自动激光切割加工中心系统
- String plineCodeLims=obj.get("PLINE_CODE_LIMS").toString();//送样产线
- String zhb_specimen_no="";//合并取样编号
- if(!StringUtils.isBlank(obj.get("ZHB_SPECIMEN_NO").toString())){
- zhb_specimen_no = obj.get("ZHB_SPECIMEN_NO").toString();
- }
- String specimen_no=obj.get("SPECIMEN_NO").toString();//取样编号
-
- //目标json
- JSONObject tarObj=new JSONObject();
- if(!StringUtils.isBlank(zhb_specimen_no)){//是否是合并的
- String strno="0";
- for (String string : strsno) {
- if(string.equals(zhb_specimen_no)){
- strno="1";
- }
- }
- if(strno.equals("1")){
- continue;
- }
- strsno.add(zhb_specimen_no);
- tarObj.put("SPECIMENNO", zhb_specimen_no);//合并取样编号
- }else{
- tarObj.put("SPECIMENNO", specimen_no);//取样编号
- }
-
- //送样时间点
- String ptime = "";
- String STIME=obj.get("SAMPLE_DELIVERY_TIME").toString();
- if(STIME.contains("03:00:00")){
- ptime = "0300";
- }else if (STIME.contains("06:00:00")){
- ptime = "0600";
- }else if (STIME.contains("06:30:00") || STIME.contains("10:30:00")){
- ptime = "0610";
- }else if (STIME.contains("11:00:00")){
- ptime = "1100";
- }else if (STIME.contains("15:00:00")){
- ptime = "1500";
- }else if (STIME.contains("17:30:00") || STIME.contains("20:30:00")){
- ptime = "1720";
- }else if (STIME.contains("18:00:00")){
- ptime = "1800";
- }else if (STIME.contains("21:00:00")){
- ptime = "2100";
- }else if (STIME.contains("24:00:00")){
- ptime = "2400";
- }
-
- //流水号
- String sendSeq=createSendSeq2(plineCodeLims,ptime);
-
- String sendQ="select substr('"+sendSeq+"', 13) PRINT_SEQ from dual t ";
- List<HashMap> hmsendQ=mapper.query(sendQ.toString());
- String PRINT_SEQ=hmsendQ.get(0).get("PRINT_SEQ").toString();//打印序号
- if(plineCodeLims.equals("ZB1")){
- tarObj.put("PRINTSEQ", 'Z'+PRINT_SEQ);//打印序号
- PRINT_SEQ='Z'+PRINT_SEQ;
- }else if(plineCodeLims.equals("HB1")){
- tarObj.put("PRINTSEQ", 'H'+PRINT_SEQ);//打印序号
- PRINT_SEQ='H'+PRINT_SEQ;
- }
- //船检编号
- String printseqj = "";
- String plineCodeJ=plineCodeLims;
- String certInstCodeJ = obj.get("CERT_INST_CODE").toString();
- if(certInstCodeJ.equals("IC005") || certInstCodeJ.equals("IC009") || certInstCodeJ.equals("IC006") || certInstCodeJ.equals("IC007") ||
- certInstCodeJ.equals("IC002")){
- printseqj = createPintSeqJ2(plineCodeJ,certInstCodeJ);
- //String printseqj2=printseqj.substring(4, printseqj.length());
- tarObj.put("PRINTSEQJ", printseqj);//船检编号
- }else{
- tarObj.put("PRINTSEQJ", "");//船检编号
- }
-
- String specimenNosql=" and SPECIMEN_NO = '"+obj.get("SPECIMEN_NO")+"' ";
- if(!StringUtils.isBlank(zhb_specimen_no)){
- specimenNosql =" and ZHB_SPECIMEN_NO = '"+zhb_specimen_no+"' ";
- }
-
- String qcmSendSeq =" update QCM_JHY_SAMPLE_CONSIGN_D t set SEND_SEQ = '"+sendSeq+"',PRINT_SEQ='"+PRINT_SEQ+"',PRINT_SEQJ='"+printseqj+"' "
- + " where PLINE_CODE = '"+obj.get("PLINE_CODE")+"' "
- + specimenNosql;
- mapper.updateJudgeStatus(qcmSendSeq.toString());
-
- //主表数据
- tarObj.put("SENDSEQ", sendSeq);//发送序号
- tarObj.put("CREATEID", parmas.get("USERID"));
- tarObj.put("CREATENAME", parmas.get("USERNAME"));
-
- tarDate.add(tarObj);
- //全自动激光切割加工中心系统
- if(LCplineCode.equals("HB1")){
- String lcThick = obj.get("THICK").toString();
- double lcThick2 = Double.parseDouble(lcThick);
- if(lcThick2<=25){
- LCtarDate.add(tarObj);
- }
- }else if(LCplineCode.equals("ZB1") || LCplineCode.equals("RZ1")){
- LCtarDate.add(tarObj);
- }
-
- QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
- qjog.setOperate_name(parmas.get("USERNAME").toString());
- qjog.setBatchno(obj.get("BATCH_NO") == null ?"":obj.get("BATCH_NO").toString());
- qjog.setOperate_type("生成钢印号");
- qjog.setParams(obj.get("MATERIAL_NO") == null ?"":obj.get("MATERIAL_NO").toString());
- qjog.setProd_line(obj.get("PLINE_CODE") == null ?"":obj.get("PLINE_CODE").toString());
- qjog.setMemo(obj.get("SPECIMEN_NO").toString()+":"+sendSeq+":"+PRINT_SEQ+":"+printseqj);
- mapper.insertQcmJudgeOperateLog(qjog);
- }
- SqlSession.commit();
-
- /* String tar=tarDate.toString();
- System.out.println("LIMS"+tarDate.toString()+"\n");
- System.out.println("激光"+LCtarDate.toString());
- String result = "";
- try{
- String urlStr="";
- result = httpURLPOSTCaseNew(urlStr,tar);//调用url
- if (result == null ||result.equals("null") || result.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("发送LIMS/激光系统编号失败!请补发,LIMS返回值:"+result);
- return cro;
- }
- JSONObject jobject=JSON.parseObject(result);
- String limsCode=jobject.getString("code");
- if(!limsCode.equals("200")){
- cro.setV_errCode(-1);
- cro.setV_errMsg("发送LIMS/激光系统编号失败!请补发,LIMS返回值:"+result);
- return cro;
- }
-
- //全自动激光切割加工中心系统
- result = "";
- if(LCtarDate.size()>=1){
- //开关状态
- String jgkg=QcmJhyJgKg(LCplineCode);
- if("1".equals(jgkg)){
- String LCurlStr = "";
- String LCtar=LCtarDate.toString();
- result = httpURLPOSTLaserCenter2(LCurlStr,LCtar,LCplineCode);
- }
- if ( result == null || result.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("发送激光编号返回失败!请补发,返回值:"+result);
- return cro;
- }
- JSONObject jobject2=JSON.parseObject(result);
- String limsCode2=jobject2.getString("code");
- if(!limsCode2.equals("200")){
- cro.setV_errCode(-1);
- cro.setV_errMsg("发送激光编号返回失败!请补发,返回值:"+result);
- return cro;
- }
- }
-
-
- }catch(Exception e){
- cro.setV_errCode(-1);
- cro.setV_errMsg(e.getMessage());
- return cro;
- }*/
-
- } catch (Exception e) {
- e.printStackTrace();
- SqlSession.rollback();
- cro.setV_errCode(-1);
- cro.setV_errMsg("编号生成失败!"+e.getMessage());
- return cro;
- }finally {
- SqlSession.close();
- }
- cro.setV_errCode(1);
- cro.setV_errMsg("编号生成成功");
- return cro;
- }
-
- /**
- * 补发钢印号
- * @return cro
- * @throws IOException
- */
- @SuppressWarnings("unchecked")
- public CoreReturnObject GetDoBLIMS(String Entrust,HashMap parmas){
- try {
- String LCplineCode="LC";//全自动激光切割加工中心系统
- String[] ja=Entrust.split(",");
- String msInfo="";
- if (ja!=null && ja.length>0) {
-
- for (int i = 0; i < ja.length; i++) {
- String sp = ja[i];
- if ("".equals(msInfo)) {
-
- msInfo="'"+sp+"'";
-
- }else{
- msInfo=msInfo+"'"+sp+"'";
- }
-
- if (i !=ja.length-1) {
- msInfo=msInfo+",";
- }
-
-
- }
-
- }
-
- //查询检验
- String sql="select t.specimen_no,t.batch_no,nvl(t.zhb_specimen_no,' ') zhb_specimen_no,t.material_no,r.thick,t.pline_code,t.Pline_Code_Lims, "
- + " r.Cert_Inst_Code,t.SAMPLE_DELIVERY_TIME,t.SEND_SEQ,t.PRINT_SEQ,nvl(t.PRINT_SEQJ,' ') PRINT_SEQJ "
- + " from qcm_jhy_sample_consign_d t,qcm_jhy_sample_r_ord r "
- +" where t.smp_no = r.smp_no and (t.specimen_no in ("+msInfo+") or t.zhb_specimen_no in ("+msInfo+")) "
- +" and t.Print_Seq is not null and t.Pline_Code_Lims is not null "
- ;
-
-
- List<HashMap> lists=mapper.query(sql.toString());
- if (lists==null || lists.size()<1) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("数据已经不存在,请核实数据!");
- return cro;
- }
-
- JSONArray tarDate=new JSONArray();//LIMS
- JSONArray LCtarDate=new JSONArray();//全自动激光切割加工中心系统
- TreeSet<String> strsno = new TreeSet<String>();//取样编号
-
- for (int i = 0; i < lists.size(); i++) {
- HashMap obj=lists.get(i);
- LCplineCode=obj.get("PLINE_CODE").toString();//全自动激光切割加工中心系统
- String zhb_specimen_no="";//合并取样编号
- if(!StringUtils.isBlank(obj.get("ZHB_SPECIMEN_NO").toString())){
- zhb_specimen_no = obj.get("ZHB_SPECIMEN_NO").toString();
- }
- String specimen_no=obj.get("SPECIMEN_NO").toString();//取样编号
-
- //目标json
- JSONObject tarObj=new JSONObject();
- if(!StringUtils.isBlank(zhb_specimen_no)){//是否是合并的
- String strno="0";
- for (String string : strsno) {
- if(string.equals(zhb_specimen_no)){
- strno="1";
- }
- }
- if(strno.equals("1")){
- continue;
- }
- strsno.add(zhb_specimen_no);
- tarObj.put("SPECIMENNO", zhb_specimen_no);//合并取样编号
- }else{
- tarObj.put("SPECIMENNO", specimen_no);//取样编号
- }
-
- tarObj.put("SENDSEQ", obj.get("SEND_SEQ").toString());//发送序号
- tarObj.put("PRINTSEQ", obj.get("PRINT_SEQ").toString());//打印序号
- if(!StringUtils.isBlank(obj.get("PRINT_SEQJ").toString())){
- tarObj.put("PRINTSEQJ", obj.get("PRINT_SEQJ").toString());//船检编号
- }else{
- tarObj.put("PRINTSEQJ", "");//船检编号
- }
- tarObj.put("CREATEID", parmas.get("USERID"));
- tarObj.put("CREATENAME", parmas.get("USERNAME"));
-
- tarDate.add(tarObj);
- //全自动激光切割加工中心系统
- if(LCplineCode.equals("HB1")){
- String lcThick = obj.get("THICK").toString();
- double lcThick2 = Double.parseDouble(lcThick);
- if(lcThick2<=25){
- LCtarDate.add(tarObj);
- }
- }else if(LCplineCode.equals("ZB1")){
- LCtarDate.add(tarObj);
- }
-
- }
-
- String tar=tarDate.toString();
- String result = "";
- try{
- if(parmas.get("BLG").equals("1")){
- String urlStr="";
- result = httpURLPOSTCaseNew(urlStr,tar);//调用url
- if (result == null ||result.equals("null") || result.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("发LIMS系统失败,LIMS返回值:"+result);
- return cro;
- }
- JSONObject jobject=JSON.parseObject(result);
- String limsCode=jobject.getString("code");
- if(!limsCode.equals("200")){
- cro.setV_errCode(-1);
- cro.setV_errMsg("发LIMS系统失败,LIMS返回值:"+result);
- return cro;
- }
- }else if(parmas.get("BLG").equals("2")){
- //全自动激光切割加工中心系统
- result = "";
- if(LCtarDate.size()>=1){
- String LCurlStr = "";
- String LCtar=LCtarDate.toString();
- result = httpURLPOSTLaserCenter2(LCurlStr,LCtar,LCplineCode);
-
- if ( result == null || result.equals("")) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("发激光系统失败,返回值:"+result);
- return cro;
- }
- JSONObject jobject2=JSON.parseObject(result);
- String limsCode2=jobject2.getString("code");
- if(!limsCode2.equals("200")){
- cro.setV_errCode(-1);
- cro.setV_errMsg("发激光系统失败,返回值:"+result);
- return cro;
- }
- }
-
- }
- }catch(Exception e){
- cro.setV_errCode(-1);
- cro.setV_errMsg(e.getMessage());
- return cro;
- }
- SqlSession.commit();
- } catch (Exception e) {
- e.printStackTrace();
- SqlSession.rollback();
- cro.setV_errCode(-1);
- cro.setV_errMsg("发送失败!"+e.getMessage());
- return cro;
- }finally {
- SqlSession.close();
- }
- cro.setV_errCode(1);
- cro.setV_errMsg("发送成功");
- return cro;
- }
-
- //激光中间表
- public String qcmJg(HashMap parmas){
- String sql =" insert into qcm_jhy_sample_consign_jg (specimen_no, batch_no, pline_code) "
- +" values ('"+parmas.get("SPECIMEN_NO")+"', '"+parmas.get("BATCH_NO")+"', '"+parmas.get("PLINE_CODE")+"') ";
- return sql;
- }
- }
|