| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026 |
- /****
- * 优特钢委托
- * ****/
- package QCM.JHY01.JHY0101;
- import java.math.BigDecimal;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import java.util.TreeSet;
- import java.util.UUID;
- import org.apache.commons.lang.StringUtils;
- import org.apache.ibatis.session.SqlSession;
- import org.apache.log4j.Logger;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import CoreFS.SA01.CoreIComponent;
- import CoreFS.SA06.CoreReturnObject;
- import QCM.COMMUNAL.VO.QcmJudgeOperateLog;
- import QCM.JHY01.VO.JhyQltyModel;
- import QCM.JHY01.VO.JhyQuoteModel;
- import QCM.JHY01.VO.JhySampleDItemModel;
- import QCM.JHY01.VO.JhySampleDModel;
- import QCM.JHY01.VO.JhySampleMMdoel;
- import QCM.JHY01.VO.JhySampleOrdMdoel;
- import QCM.JHY01.VO.QcmJhyPhyresult;
- import QCM.JHY01.VO.QcmJhySampleConsignDItem;
- import QCM.JHY01.VO.listItem;
- public class AddAutoSample extends CoreIComponent {
- CoreReturnObject cro = new CoreReturnObject();
- ResultSet rs = null;
- SqlSession SqlSession = QCM.COMMUNAL.SqlSessionBuilder.openSqlSession();
- QCM.COMMUNAL.OrderSqMapper mapper = SqlSession.getMapper(QCM.COMMUNAL.OrderSqMapper.class);
-
-
- Logger logger = Logger.getLogger(this.getClass().getName());
-
- public String specimenNoDel="";//取样编号
- public String specimenNoVHC="";//取样编号夏比V型缺口冲击
- public BigDecimal seqDel;//序号
- public List<QcmJhyPhyresult> QcmjhyResults=new ArrayList<QcmJhyPhyresult>();
- public String memoRg = "";//是否人工委托
- public String memoXngs="false1";//人工委托性能改善
- public String memoRg2="false1";//人工委托标识
- public String memoRg3="";//热处理标识
- public String memocreateName = "系统自动";//人工创建人
- public String memoDesignKey = "";//人工按订单号生成委托
- HashMap<String, String> Quotehm =new HashMap<String, String>();//人工19引用
- TreeSet<String> phyItemSPNO=new TreeSet<String>();
- /**
- * 人工生成检验委托
- */
- public CoreReturnObject doGenerationSampleInfoYT(String materialInfo,String plineName){
- try{
- if (materialInfo==null || "".equals(materialInfo)) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("请传入参数!");
- return cro;
- }
- JSONArray jsonArray = JSON.parseArray(materialInfo);
- if (jsonArray==null || jsonArray.size()<1) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("请传入参数!");
- return cro;
- }
- if(StringUtils.isBlank(plineName)){
- cro.setV_errCode(-1);
- cro.setV_errMsg("产线不能为空!");
- return cro;
- }
- String msg="";
- //验证数据是否完整,是否同一一个轧批的订单
- TreeSet<String> batchs=new TreeSet<String>();
- TreeSet<String> batchs1=new TreeSet<String>();
- for (int i = 0; i < jsonArray.size(); i++) {
- JSONObject json=jsonArray.getJSONObject(i);
-
- if(!StringUtils.isBlank(json.getString("MEMO")) && json.getString("MEMO").equals("性能改善")){
- memoXngs = "true1";
- }
-
- //轧批号
- msg=checkField("BATCH_NO","轧批号",json);
- if (!"".equals(msg)) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("轧批号不能为空!");
- return cro;
- }
- batchs.add(json.getString("BATCH_NO"));
-
- //订单号
- msg=checkField("DESIGN_KEY","订单号",json);
- if (!"".equals(msg)) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("订单号不能为空!");
- return cro;
- }
- batchs1.add(json.getString("DESIGN_KEY"));
- }
-
- if(batchs.size()>=11){
- cro.setV_errCode(-1);
- cro.setV_errMsg("一次性只能选择10条数据");
- return cro;
- }
-
- //循环执行每一条数据
- for(int i=0; i < jsonArray.size();i++){
- SqlSession = QCM.COMMUNAL.SqlSessionBuilder.openSqlSession();
- mapper = SqlSession.getMapper(QCM.COMMUNAL.OrderSqMapper.class);
-
- JSONObject jobject= jsonArray.getJSONObject(i);
- String plineCodeli="YT1";//产线
- //根据轧批号生成检验号
- String inspection_lot=(String) jobject.get("BATCH_NO");
-
- String materialNo = "";
- if(plineName.equals("热轧线") || plineName.equals("连退线")){
- if(plineName.equals("热轧线")){
- plineName="热轧";
- //判断是否有按批送样
- String artificialMemo="select * from qcm_jhy_sample_consign_d t where t.artificial_memo like '%按批取样%' and t.batch_no = '"+jobject.get("BATCH_NO")+"' ";
- List<HashMap> hmMemo = mapper.query(artificialMemo.toString());
- if(hmMemo!=null && hmMemo.size()>=1){
- cro.setV_errCode(-1);
- cro.setV_errMsg("生成委托失败!该轧批已【按批取样】不可再次生成!"+hmMemo.get(0).get("ARTIFICIAL_MEMO").toString());
- return cro;
- }
-
- //判断是否已经综判了
- String rzsql="select t.* from qcm_judge_coil_result t where t.COIL_NO = '"+jobject.get("MATERIAL_NO")+"' and JUDGERESULT <> '0' ";
- List<HashMap> hmCnum = mapper.query(rzsql.toString());
- if(hmCnum!=null && hmCnum.size()>=1){
- cro.setV_errCode(-1);
- cro.setV_errMsg("生成委托失败!该子板已综合判定不能生成委托["+jobject.get("MATERIAL_NO")+"]");
- return cro;
- }
- //判断当前子板号是否已生成过委托
- rzsql="";
- rzsql="select t.* from QCM_JHY_SAMPLE_CONSIGN_D t where t.MATERIAL_NO = '"+jobject.get("MATERIAL_NO")+"' and STATUS in ('0','2','7') and RZ_OLD_SAMPL_NO is null and rownum=1 ";
- hmCnum.clear();
- hmCnum = mapper.query(rzsql.toString());
- if(hmCnum!=null && hmCnum.size()>=1){
- String status="";
- if(hmCnum.get(0).get("STATUS").equals("0")){
- status="未发送";
- }else if(hmCnum.get(0).get("STATUS").equals("2")){
- status="已接收";
- }else if(hmCnum.get(0).get("STATUS").equals("7")){
- status="确认接收样";
- }
- cro.setV_errCode(-1);
- cro.setV_errMsg("生成委托失败!该子板已生成委托["+jobject.get("MATERIAL_NO")+"]!当前状态为["+status+"]");
- return cro;
- }
-
- //判断当前子板号是否已合格
- rzsql="";
- rzsql="select t.* from qcm_jhy_sample_consign_d t, qcm_jhy_sample_r_ord r "
- +" where t.smp_no = r.smp_no and t.status='3'"
- +" and t.material_no = '"+jobject.get("MATERIAL_NO")+"' "
- +" and r.JUDGE_RESULT_CODE = '1' "
- +" order by t.create_time desc ";
- hmCnum.clear();
- hmCnum = mapper.query(rzsql.toString());
- if(hmCnum!=null && hmCnum.size()>=1){
- cro.setV_errCode(-1);
- cro.setV_errMsg("生成委托失败!该子板已生成委托["+jobject.get("MATERIAL_NO")+"]!并且已材质判定为合格无需再生成委托,请核实数据");
- return cro;
- }
- }else{
- plineName="连退";
- }
- materialNo = (String)jobject.get("INSPECTION_LOT");//检验号
- }else{
- materialNo = (String)jobject.get("MATERIAL_NO");
- }
-
- String lotnum ="";
- String dsql = "select count(1) CNUM from QCM_JHY_SAMPLE_CONSIGN_D t "
- + " where t.batch_no = '"+jobject.get("BATCH_NO")+"' and t.pline_code='"+plineCodeli+"' ";
- List<HashMap> hmCnum = mapper.query(dsql.toString());
- BigDecimal bigd = (BigDecimal) hmCnum.get(0).get("CNUM");
- String bigd2 = bigd.toString();
- Integer bigd3 = Integer.parseInt(bigd2);
- if (bigd3==0) {
- lotnum ="";
- }else{
- if(plineCodeli.equals("YT1")){
- String sqlLOT = "select max(to_number(substr(inspection_lot,-2))) INSPECTION_LOT from QCM_JHY_SAMPLE_CONSIGN_D t "
- + " where t.batch_no = '"+jobject.get("BATCH_NO")+"' and t.pline_code='"+plineCodeli+"' ";
- List<HashMap> hmap = mapper.query(sqlLOT.toString());
- BigDecimal hmap1 = (BigDecimal) hmap.get(0).get("INSPECTION_LOT");
- String hmap2 = hmap1.toString();
- Integer hmap3 = Integer.parseInt(hmap2);
- lotnum =hmap3.toString();
- }else{
- String sqlLOT = "select max(to_number(substr(inspection_lot,-3))) INSPECTION_LOT from QCM_JHY_SAMPLE_CONSIGN_D t "
- + " where t.batch_no = '"+jobject.get("BATCH_NO")+"' and t.pline_code='"+plineCodeli+"' ";
- List<HashMap> hmap = mapper.query(sqlLOT.toString());
- BigDecimal hmap1 = (BigDecimal) hmap.get(0).get("INSPECTION_LOT");
- String hmap2 = hmap1.toString();
- Integer hmap3 = Integer.parseInt(hmap2);
- lotnum =hmap3.toString();
- }
- }
- if (lotnum ==null || "".equals(lotnum)) {
- if(plineName.equals("热轧")){
- inspection_lot=inspection_lot+ String.format("%05d", 1);//轧批号+0001
- }else if(plineName.equals("连退")){
- inspection_lot=inspection_lot+ String.format("%03d", 1);//轧批号+0001
- }else if(plineCodeli.equals("YT1")){
- inspection_lot=inspection_lot+ String.format("%02d", 1);//轧批号+01
- }else{
- inspection_lot=inspection_lot+ String.format("%04d", 1);//轧批号+0001
- }
- }else{
- Integer INSPECTION_LOTS=Integer.parseInt(lotnum);
- INSPECTION_LOTS++;
-
- if(plineName.equals("热轧")){
- inspection_lot=inspection_lot+ String.format("%05d", INSPECTION_LOTS);
- }else if(plineName.equals("连退")){
- inspection_lot=inspection_lot+ String.format("%03d", INSPECTION_LOTS);//轧批号+0001
- }else if(plineCodeli.equals("YT1")){
- inspection_lot=inspection_lot+ String.format("%02d", INSPECTION_LOTS);//轧批号+01
- }else{
- inspection_lot=inspection_lot+ String.format("%04d", INSPECTION_LOTS);
- }
- }
- //一个订单多个认证机构 用同一个检验号
- if((plineCodeli.equals("HB1") || plineCodeli.equals("ZB1")) && memoXngs.equals("false1")){
- String sqlLOT = "select t.* from Qcm_Jhy_Sample_r_Ord t "
- + " where t.batch_no = '"+jobject.get("BATCH_NO")+"' and t.pline_code='"+plineCodeli+"'"
- + " and t.DESIGN_KEY = '"+jobject.get("DESIGN_KEY")+"' and t.STEEL_CODE = '"+jobject.get("GRADE_CODE")+"'"
- + " and to_char(t.THICK, 'fm990.099') = to_char('"+jobject.get("THICK")+"', 'fm990.099') ";
- List<HashMap> hmap = mapper.query(sqlLOT.toString());
- if(hmap!=null && hmap.size()>=1){
- if(hmap.get(0).get("INSPECTION_LOT")!=null && !"".equals(hmap.get(0).get("INSPECTION_LOT"))){
- inspection_lot = hmap.get(0).get("INSPECTION_LOT").toString();
- }
- }
- }
-
-
- try {
-
- String logmemo ="";
- if(jobject.get("PLINE_CODE").equals("RZ1") || jobject.get("PLINE_CODE").equals("LT1") || jobject.get("PLINE_CODE").equals("YT1")){
- logmemo +=jobject.get("CASTR").toString();
- }
- logmemo += jobject.get("BATCH_NO").toString()+','+jobject.get("DESIGN_KEY").toString()+','+
- jobject.get("GRADE_CODE").toString()+','+jobject.get("THICK").toString()+','+
- jobject.get("MATERIAL_NO");
-
- QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
- qjog.setOperate_name(jobject.get("USER_NAME").toString());
- qjog.setBatchno(jobject.get("BATCH_NO") == null ?"":jobject.get("BATCH_NO").toString());
- qjog.setOperate_type("人工委托");
- qjog.setParams(jobject.get("MATERIAL_NO") == null ?"":jobject.get("MATERIAL_NO").toString());
- qjog.setProd_line(jobject.get("PLINE_CODE") == null ?"":jobject.get("PLINE_CODE").toString());
- qjog.setMemo(logmemo);
- mapper.insertQcmJudgeOperateLog(qjog);
-
- JSONArray array = new JSONArray();
- jobject.put("INSPECTION_LOT", inspection_lot);
- jobject.put("PSC", (String)jobject.get("PSC"));
-
- if(jobject.get("PLINE_CODE").equals("RZ1") || jobject.get("PLINE_CODE").equals("LT1")){
- jobject.put("MEMORG", "人工委托"+jobject.get("USER_NAME")+':'+jobject.get("CASTR").toString());
- }else{
- jobject.put("MEMORG", "人工委托"+jobject.get("USER_NAME"));
- }
- memocreateName = (String) jobject.get("USER_NAME");//人工创建人
- array.add(jobject);
- memoRg2 = "true1";
- //生成委托 成功返回1
- msg=AutoGenerationSampleInfo(array);//调用委托
- if(msg.equals("100")){
- SqlSession.rollback();
- cro.setV_errCode(-1);
- cro.setV_errMsg("生成委托失败!该子板已有生成不可重复生成委托["+jobject.get("MATERIAL_NO")+"]");
- return cro;
- }else if (!"1".equals(msg)) {
- memoRg2 = "false1";
- memoRg = "";
- memoXngs="false1";
- memocreateName = "系统自动";
- SqlSession.rollback();
- cro.setV_errCode(-1);
- cro.setV_errMsg("生成委托失败!["+msg+"]");
- return cro;
- }
-
- memoRg2 = "false1";
- memoRg = "";
- memoXngs="false1";
- memocreateName = "系统自动";
- } catch (Exception e) {
- e.printStackTrace();
- SqlSession.rollback();
- cro.setV_errCode(-1);
- cro.setV_errMsg("生成委托失败!["+e.getMessage()+"]");
- return cro;
- }
-
- String getDesignKeyRZ = jobject.get("DESIGN_KEY").toString().substring(0, 2);
- StringBuffer sqlucomm2 = new StringBuffer();
- //修改库存信息、清空物料判定结果!
- if(msg.equals("1")){
- try {
- if(jobject.get("CASTR").toString().contains("按批取样")){
- String sqlmixRoll = "update QCM_JUDGE_YT_COIL_RESULT "
- + " set INSPECTION_LOT = '"+inspection_lot+"' "
- + " where COIL_NO like '"+jobject.get("BOARD_NO")+"%' ";
- this.getDao("testDao").ExcuteNonQuery(sqlmixRoll.toString());
- }else{
- String sqlmixRoll = "update QCM_JUDGE_YT_COIL_RESULT "
- + " set INSPECTION_LOT = '"+inspection_lot+"' "
- + " where COIL_NO ='"+jobject.get("MATERIAL_NO")+"' ";
- this.getDao("testDao").ExcuteNonQuery(sqlmixRoll.toString());
- }
- } catch (SQLException e) {
- cro.setV_errCode(-1);
- cro.setV_errMsg("下委托更新热轧线失败!");
- e.printStackTrace();
- }
-
-
- }
-
- SqlSession.close();
- }
- memoRg = "";
- memoXngs="false1";
- cro.setV_errCode(1);
- cro.setV_errMsg("委托成功");
-
- }catch (Exception e){
- e.printStackTrace();
- SqlSession.rollback();
- }finally {
- SqlSession.close();
- }
- return cro;
-
- }
- public synchronized String AutoGenerationSampleInfo(JSONArray list) throws Exception {
- Quotehm = new HashMap<String, String>();
- phyItemSPNO.clear();
- memoRg = "";//是否人工委托
- specimenNoVHC="";//夏比V型缺口冲击
- memoRg3="";//热处理标识 HB1 ZB1热处理之前 HT1热处理之后
- // 日志原始字符串
- String jsonStrng = list.toString();
- logger.info("生成委托入口json:"+jsonStrng);
- //数据验证
- String msg = checkInfo(list);
- if (!"".equals(msg)) {
- return msg;
- }
- List<JhyQltyModel> qltys = new ArrayList<JhyQltyModel>();
- List<JhyQltyModel> chems = new ArrayList<JhyQltyModel>();
- try{
-
- //验证检验类型的工序点 list传过来的JSON qltys:材质 jsonStrng:JSON chems:成分
- String msg1 = checkInspectionPoint(list, qltys, jsonStrng,chems);
- if (!"".equals(msg1)) {
- return msg1;
- }
-
- if (qltys != null && qltys.size() > 0) {
- msg = createQtlySample(qltys, jsonStrng);
- }
-
- if (chems != null && chems.size() > 0) {
- msg = createChemSample(chems, jsonStrng);
- }
- SqlSession.commit();
-
- //放到D表中把材质项目集合
- if(phyItemSPNO.size()>=1){
- for (String string : phyItemSPNO) {
- String sqlItem = "select GET_ITEM_SPECIMEN_NO('"+string+"') PHY_ITEM from dual";
- List<HashMap> vhchm=mapper.query(sqlItem.toString());
- if(vhchm!=null && vhchm.size()>=1 && !vhchm.get(0).get("PHY_ITEM").equals("NULL")){
- String sql = " update QCM_JHY_SAMPLE_CONSIGN_D t "
- +" set PHY_ITEM= '"+vhchm.get(0).get("PHY_ITEM").toString()+"' "
- +" where t.SPECIMEN_NO='"+string+"' ";
- mapper.updateJudgeStatus(sql.toString());
- }
- }
- SqlSession.commit();
- }
-
- memoXngs="false1";//性能改善
- }catch (Exception e){
- e.printStackTrace();
- SqlSession.rollback();
- return "生成失败"+e.getMessage();
- }finally {
- SqlSession.close();
- }
-
- //子板的是否已生成
- if(msg.equals("100")){
- return "100";
- }
-
- return "1";
- }
- private String createChemSample(List<JhyQltyModel> chems, String jsonStrng) {
- // TODO Auto-generated method stub
- StringBuffer sqlucomm = new StringBuffer();
- for (JhyQltyModel chem : chems) {
-
- sqlucomm.setLength(0);
- sqlucomm.append("select t.smp_no from QCM_JHY_SAMPLE_R_ORD t inner join QCM_JHY_SAMPLE_CONSIGN_M m on ");
- sqlucomm.append(" t.smp_no=m.smp_no and m.smp_catg='A' and t.design_key='"+chem.getDesign_key()+"' and t.psc='"+chem.getPsc()+"'");
- sqlucomm.append(" inner join QCM_JHY_SAMPLE_CONSIGN_D d on d.smp_no=t.smp_no and d.freq_code='"+chem.getFreq_code()+"' "
- + " and d.batch_no = '"+chem.getBatch_no()+"' ");
- List<HashMap> tarLists=mapper.query(sqlucomm.toString());
-
- String smp_no="";
- if (tarLists==null || tarLists.size()<1) {
-
- String sqlLot = " select t.* from QCM_JHY_SAMPLE_R_ORD t "
- +" where t.design_key = '"+chem.getDesign_key()+"' "
- +" and t.psc = '"+chem.getPsc()+"' "
- +" and t.batch_no = '"+chem.getBatch_no()+"' and t.INSPECTION_LOT is not null and rownum = 1";
- List<HashMap> sqlLothm=mapper.query(sqlLot.toString());
- if(sqlLothm!=null && sqlLothm.size()>=1){
- chem.setInspection_lot(sqlLothm.get(0).get("INSPECTION_LOT").toString());
- }
- //生成试样信息主表
- smp_no = createQltySamNo(chem.getPline_code());
- JhySampleMMdoel model=getSampleM(smp_no,chem,"A");
- mapper.insertSampleM(model);
- //生成试样信息明细表
- String specimen_no=createSpecimen_no(smp_no);
- JhySampleDModel sampleD=getSampleD(smp_no,specimen_no,chem);
- mapper.insertSampleD(sampleD);
-
- //生成合同表
- JhySampleOrdMdoel ord=getSampleOrd(smp_no,chem);
- mapper.insertSampleOrd(ord);
- }
- }
- return "";
- }
- /**
- * 生成材质试样信息
- *
- * @param qltys
- * @param jsonStrng
- * @return
- * @throws Exception
- */
- @SuppressWarnings("unused")
- private String createQtlySample(List<JhyQltyModel> qltys, String jsonStrng) throws Exception {
- String getInspectionLot = "";//变检验号
- String getInspectionLot2 = "0";//是否变检验号
- String getTimestn = "0";//判断是否时螺纹钢
- String getDesignKey19 = "0";//判断是否时19订单中厚板
- String getSmpNO19 = "";//19订单试样号
- String getplineCode = "";//产线
- String getSpecimenNo19 = "";//19订单取样编号
- String dkeyScode2 = "0";//订单标准不一样
- String getInspectionLot19 = "";//19检验号
- String dkeyScode = "0";//订单标准不一样
- String xngslog = "0";//性能改善 0进 1不进
- String YNmemoRg= "0";//人工委托 判断是不是当前勾选的订单号 是否已经全部生成 如果已经全部生成 不可重复点击人工委托 从而导致数据混乱
- String zjResultAll = "0";//ZJ表是否已修改检验号
- String chiFreqCode = "0";//判断当前订单中是否有子板取样
- String operateLog = "0";
- String getFreqCode = "0";//判断是否母板取样,做限制
- StringBuffer sqlucomm = new StringBuffer();
- HashMap<String, String> hashMapStr =new HashMap<String, String>();
-
- for (JhyQltyModel qlty : qltys) {
- String lotGradeCode=qlty.getGrade_code();//库存牌号
- String lotSteelCode=qlty.getSteel_code();//订单牌号
- String lotThick=qlty.getThick();//规格/厚度
- String lotProcessCode=qlty.getProcess_code();//热处理之前/之后标识
- //QCM_JUDGE_OPERATE_LOG 日志
- if(operateLog.equals("0")){
- String memoStr = "";
- if (memoXngs.equals("true1")){
- memoStr = "性能改善";
- }
- String logmemo =memoStr +','+ qlty.getBatch_no()+','+qlty.getDesign_key()+','+qlty.getGrade_code()+','+qlty.getSteel_code()+','+qlty.getThick();
- String sql3= "INSERT INTO QCM_JUDGE_OPERATE_LOG (OPERATE_TYPE,PARAMS,OPERATE_NAME,PROD_LINE,BATCHNO,MEMO) "
- + " VALUES('生成委托接口','"+qlty.getMaterial_no()+"','createQtlySample','"+qlty.getPline_code()+"',"
- + " '"+qlty.getBatch_no()+"','"+logmemo+"') ";
- mapper.insert(sql3);
- operateLog="1";
- }
- //截取订单号前两位判断是否是19订单
- getDesignKey19 = (String)qlty.getDesign_key().substring(0, 2);
- //查询当前design_key+psc下认证机构+试样类型是否存在
- //判断产线 是否是中厚板 不等于性能改善
- if((qlty.getPline_code().equals("ZB1") || qlty.getPline_code().equals("HB1")) && !memoXngs.equals("true1") && !"19".equals(getDesignKey19)){
- String memoname = "调用接口";
- if(memoRg2.equals("true1")){
- memoname = "人工委托";
- }
-
- //人工委托 判断是否重复点击
- if(YNmemoRg.equals("0") && !qlty.getFreq_code().equals("C") && !qlty.getFreq_code().equals("H") && !qlty.getFreq_code().equals("I") ){
- String chi="";
- List<HashMap> hmYnchi=null;
- if(qlty.getFreq_code().equals("D")){
- chi = "select t.* from QCM_ORD_DESIGN_SAMPLE_M t "
- +" where t.Rate_Code in ('C', 'H', 'I') and t.design_key = '"+qlty.getDesign_key()+"' ";
- hmYnchi=mapper.query(chi.toString());
- }
- //判断该订单下同时有子板取样和按炉取样
- if(hmYnchi==null || hmYnchi.size()<=0){
- YNmemoRg = "1";
- String freqCode="";
- if(qlty.getFreq_code().equals("B")){
- freqCode=" and d.BOARD_NO = '"+qlty.getBoard_no()+"' ";
- }
- String sqlYn = "select t.* from Qcm_Jhy_Sample_r_Ord t,qcm_jhy_sample_consign_d d where t.smp_no = d.smp_no "
- + " and t.design_key='"+qlty.getDesign_key()+"' and t.BATCH_NO='"+qlty.getBatch_no()+"' and t.HEAT_NO = '"+qlty.getHeat_no()+"' "
- + " and t.steel_code = '"+qlty.getSteel_code()+"' and t.thick = '"+qlty.getThick()+"' and d.FREQ_CODE = '"+qlty.getFreq_code()+"' "
- + " and t.PLINE_CODE = '"+qlty.getPline_code()+"' and t.DESIGN_KEY not like '19%' and t.Improve_Memo is null"
- + freqCode;
- List<HashMap> hmYn=mapper.query(sqlYn.toString());
- if(hmYn!=null && hmYn.size()>=1){
- String smpNo = hmYn.get(0).get("SMP_NO").toString();
- String smpNoSqlYn = "select t.* from QCM_JHY_SAMPLE_CONSIGN_D_ITEM t "
- +" where t.specimen_no in ( "
- +" select d.specimen_no from Qcm_Jhy_Sample_r_Ord t,qcm_jhy_sample_consign_d d where t.smp_no = d.smp_no "
- +" and t.design_key='"+qlty.getDesign_key()+"' and t.BATCH_NO='"+qlty.getBatch_no()+"' and t.HEAT_NO = '"+qlty.getHeat_no()+"' "
- +" and t.steel_code = '"+qlty.getSteel_code()+"' and t.thick = '"+qlty.getThick()+"' "
- +" and t.PLINE_CODE = '"+qlty.getPline_code()+"' and t.DESIGN_KEY not like '19%' and t.Improve_Memo is null "
- +" and d.SMP_TYPE_CODE='0' and d.FREQ_CODE = '"+qlty.getFreq_code()+"' "
- + freqCode
- + " ) "
- +" order by t.specimen_no asc ,t.seq asc";
- List<HashMap> hmItemYn1=mapper.query(smpNoSqlYn.toString());
-
- smpNoSqlYn="";
- smpNoSqlYn="select t.* from QCM_ORD_DESIGN_SAMPLE_M t where t.design_key = '"+qlty.getDesign_key()+"' and t.RATE_CODE = '"+qlty.getFreq_code()+"' "
- + " order by t.phy_code_l,t.phy_code_s ";
- List<HashMap> hmItemYn2=mapper.query(smpNoSqlYn.toString());
- //如果项目数一样break;
- if(hmItemYn1.size() == hmItemYn2.size()){
- //判断是不是热处理之后,是自动,增加这个限制是因为热处理之后,1.1生成委托,1.2 1.3 就不调用委托了,为了防止这种情况需修改库存那边的检验号
- if(memoRg3.equals("HT1") && memoRg2.equals("false1")){
- String sqlzj = " update KCH_TURNOFFLIST@xgcx t set t.BILLETID_HB_SY = t.BILLETID_HB_SY||'Y' "
- +" where t.BILLETID = '"+qlty.getMaterial_no()+"' ";
- mapper.updateJudgeStatus(sqlzj.toString());
-
- String sqlInspection= "INSERT INTO QCM_JHY_ZHBINSPECTIONLOT (HEAT_NO,BATCH_NO,INSPECTION_LOT,PLINE_CODE,CREATE_NAME,DESIGN_KEY,ZJ_INSPECTION_LOT,STEEL_CODE,THICK,GRADE_CODE,PROCESS_CODE) "
- + " VALUES('"+(String)qlty.getHeat_no()+"','"+qlty.getBatch_no()+"','"+qlty.getInspection_lot()+"Y','"+qlty.getPline_code()+"',"
- + " '"+memoname+"','"+qlty.getDesign_key()+"','"+qlty.getInspection_lot()+"Y','"+lotSteelCode+"','"+lotThick+"','"+lotGradeCode+"','"+lotProcessCode+"') ";
- mapper.insert(sqlInspection);
- }else{
- String sqlInspection= "INSERT INTO QCM_JHY_ZHBINSPECTIONLOT (HEAT_NO,BATCH_NO,INSPECTION_LOT,PLINE_CODE,CREATE_NAME,DESIGN_KEY,ZJ_INSPECTION_LOT,STEEL_CODE,THICK,GRADE_CODE,PROCESS_CODE) "
- + " VALUES('"+(String)qlty.getHeat_no()+"','"+qlty.getBatch_no()+"','"+qlty.getInspection_lot()+"','"+qlty.getPline_code()+"',"
- + " '"+memoname+"','"+qlty.getDesign_key()+"','"+qlty.getInspection_lot()+"','"+lotSteelCode+"','"+lotThick+"','"+lotGradeCode+"','"+lotProcessCode+"') ";
- mapper.insert(sqlInspection);
- }
- break;
- }else if(qlty.getFreq_code().equals("D")){//夹杂已有复样 不用再生成初样夹杂
- smpNoSqlYn="";
- smpNoSqlYn =" select d.* from Qcm_Jhy_Sample_r_Ord t,qcm_jhy_sample_consign_d d where t.smp_no = d.smp_no "
- +" and t.design_key='"+qlty.getDesign_key()+"' and t.BATCH_NO='"+qlty.getBatch_no()+"' and t.HEAT_NO = '"+qlty.getHeat_no()+"' "
- +" and t.steel_code = '"+qlty.getSteel_code()+"' and t.thick = '"+qlty.getThick()+"' "
- +" and t.PLINE_CODE = '"+qlty.getPline_code()+"' and t.DESIGN_KEY not like '19%' and t.Improve_Memo is null "
- +" and d.SMP_TYPE_CODE='1' and d.FREQ_CODE = '"+qlty.getFreq_code()+"' ";
- List<HashMap> hmItemYn1D=mapper.query(smpNoSqlYn.toString());
- if(hmItemYn1D!=null && hmItemYn1D.size()>=1){
- break;
- }
- }
- }
- }else{
- chiFreqCode="1";
- }
- }
- //夹杂已有复样 不用再生成初样夹杂 是夹杂但是不是子板中的夹杂 先力学后夹杂
- if(qlty.getFreq_code().equals("D") && YNmemoRg.equals("1")){
- String smpNoSqlYn =" select d.* from Qcm_Jhy_Sample_r_Ord t,qcm_jhy_sample_consign_d d where t.smp_no = d.smp_no "
- +" and t.design_key='"+qlty.getDesign_key()+"' and t.BATCH_NO='"+qlty.getBatch_no()+"' and t.HEAT_NO = '"+qlty.getHeat_no()+"' "
- +" and t.steel_code = '"+qlty.getSteel_code()+"' and t.thick = '"+qlty.getThick()+"' "
- +" and t.DESIGN_KEY not like '19%' and t.Improve_Memo is null "
- +" and d.SMP_TYPE_CODE='1' and d.FREQ_CODE = '"+qlty.getFreq_code()+"' ";
- List<HashMap> hmItemYn1D=mapper.query(smpNoSqlYn.toString());
- if(hmItemYn1D!=null && hmItemYn1D.size()>=1){
- break;
- }
- }
-
- //子板 是否已有 子板只要进来一次
- if((qlty.getFreq_code().equals("C") || qlty.getFreq_code().equals("H") || qlty.getFreq_code().equals("I")) && getInspectionLot2.equals("0")){
- String doycsql = "select t.smp_no,r.design_key,t.*,r.* from QCM_JHY_SAMPLE_CONSIGN_D t,qcm_jhy_sample_r_ord r "
- + " where t.smp_no = r.smp_no and t.batch_no = '"+qlty.getBatch_no()+"' and t.pline_code = '"+qlty.getPline_code()+"' "
- + " and t.material_no = '"+qlty.getMaterial_no()+"' and t.FREQ_CODE in ('C','H','I') order by t.create_time desc ";
- List<HashMap> materialNohm=mapper.query(doycsql.toString());
- if (materialNohm!=null && materialNohm.size()>=1){
- if(!memoRg2.equals("true1")){//子板 人工不做限制 因为子板有时需要人工操作
- String sqlchi = "select t.* from QCM_JHY_SAMPLE_CONSIGN_D_ITEM t "
- +" where t.specimen_no in ( "
- +" select t.specimen_no from QCM_JHY_SAMPLE_CONSIGN_D t,qcm_jhy_sample_r_ord r "
- +" where t.smp_no = r.smp_no and t.batch_no = '"+qlty.getBatch_no()+"' and t.pline_code = '"+qlty.getPline_code()+"' "
- +" and t.material_no = '"+qlty.getMaterial_no()+"' and t.FREQ_CODE in ('C','H','I','D') "
- +" ) "
- +" order by t.specimen_no asc ,t.seq asc";
- List<HashMap> sqlchihm=mapper.query(sqlchi.toString());
- sqlchi="";
- sqlchi="select t.* from QCM_ORD_DESIGN_SAMPLE_M t where t.design_key = '"+qlty.getDesign_key()+"' order by t.phy_code_l,t.phy_code_s ";
- List<HashMap> sqlchihm2=mapper.query(sqlchi.toString());
- //如果项目数一样break;
- if(sqlchihm.size() == sqlchihm2.size()){
- String returnval = getQcmOrdDesignSampleM(qlty.getDesign_key(),materialNohm.get(0).get("DESIGN_KEY").toString(),"0");
- if(!"1".equals(returnval)){//不等于1 说明标准一样
- String sqlInspection= "INSERT INTO QCM_JHY_ZHBINSPECTIONLOT (HEAT_NO,BATCH_NO,INSPECTION_LOT,PLINE_CODE,CREATE_NAME,DESIGN_KEY,ZJ_INSPECTION_LOT,STEEL_CODE,THICK,GRADE_CODE,PROCESS_CODE) "
- + " VALUES('"+(String)qlty.getHeat_no()+"','"+qlty.getBatch_no()+"','"+qlty.getInspection_lot()+"','"+qlty.getPline_code()+"',"
- + " '"+memoname+"','"+qlty.getDesign_key()+"','"+qlty.getInspection_lot()+"','"+lotSteelCode+"','"+lotThick+"','"+lotGradeCode+"','"+lotProcessCode+"') ";
- mapper.insert(sqlInspection);
- return "100";
- }
- }
- }
- }
- }
-
- String batchPline2 = (String)qlty.getBatch_no().substring(0, 1);
- String batchPlines2 = batchPline2;
- String batchNoplieCode = "";
- if(batchPlines2.equals("Z")){
- batchNoplieCode = "ZB1";
- }else if (batchPlines2.equals("H")){
- batchNoplieCode = "HB1";
- }
-
- //不是人工委托 轧批号前两位和产线对不上H2-HB1 Z2-ZB1
- //memoRg3.equals("HT1")
- if(!memoRg2.equals("true1") && !batchNoplieCode.equals(qlty.getPline_code())){
- String sqlInspection= "INSERT INTO QCM_JHY_ZHBINSPECTIONLOT (HEAT_NO,BATCH_NO,INSPECTION_LOT,PLINE_CODE,CREATE_NAME,DESIGN_KEY,ZJ_INSPECTION_LOT,STEEL_CODE,THICK,GRADE_CODE,PROCESS_CODE) "
- + " VALUES('"+(String)qlty.getHeat_no()+"','"+qlty.getBatch_no()+"','"+qlty.getInspection_lot()+"','"+qlty.getPline_code()+"',"
- + " '"+memoname+"','"+qlty.getDesign_key()+"','"+qlty.getInspection_lot()+"','"+lotSteelCode+"','"+lotThick+"','"+lotGradeCode+"','"+lotProcessCode+"') ";
- mapper.insert(sqlInspection);
- continue;
- }
- String sqlInspection= "";
- //判断是不是热处理之后,是自动,增加这个限制是因为热处理之后,1.1生成委托,1.2 1.3 就不调用委托了,为了防止这种情况需修改库存那边的检验号
- if(memoRg3.equals("HT1") && memoRg2.equals("false1")){
- String sqlht="select t.* from KCH_TURNOFFLIST@xgcx t "
- +" where t.BILLETID = '"+qlty.getMaterial_no()+"' and t.BILLETID_HB_SY ='"+qlty.getInspection_lot()+"Y' ";
- List<HashMap> HMht=mapper.query(sqlht.toString());
- if(HMht==null || HMht.size()<=0){
- String sqlzj = " update KCH_TURNOFFLIST@xgcx t set t.BILLETID_HB_SY = t.BILLETID_HB_SY||'Y' "
- +" where t.BILLETID = '"+qlty.getMaterial_no()+"' and t.BILLETID_HB_SY ='"+qlty.getInspection_lot()+"' ";
- mapper.updateJudgeStatus(sqlzj.toString());
- }
- sqlInspection= "INSERT INTO QCM_JHY_ZHBINSPECTIONLOT (HEAT_NO,BATCH_NO,INSPECTION_LOT,PLINE_CODE,CREATE_NAME,DESIGN_KEY,ZJ_INSPECTION_LOT,STEEL_CODE,THICK,GRADE_CODE,PROCESS_CODE) "
- + " VALUES('"+(String)qlty.getHeat_no()+"','"+qlty.getBatch_no()+"','"+qlty.getInspection_lot()+"Y','"+qlty.getPline_code()+"',"
- + " '"+memoname+"','"+qlty.getDesign_key()+"','"+qlty.getInspection_lot()+"','"+lotSteelCode+"','"+lotThick+"','"+lotGradeCode+"','"+lotProcessCode+"') ";
- mapper.insert(sqlInspection);
- }else{
- sqlInspection= "INSERT INTO QCM_JHY_ZHBINSPECTIONLOT (HEAT_NO,BATCH_NO,INSPECTION_LOT,PLINE_CODE,CREATE_NAME,DESIGN_KEY,ZJ_INSPECTION_LOT,STEEL_CODE,THICK,GRADE_CODE,PROCESS_CODE) "
- + " VALUES('"+(String)qlty.getHeat_no()+"','"+qlty.getBatch_no()+"','"+qlty.getInspection_lot()+"','"+qlty.getPline_code()+"',"
- + " '"+memoname+"','"+qlty.getDesign_key()+"','"+qlty.getInspection_lot()+"','"+lotSteelCode+"','"+lotThick+"','"+lotGradeCode+"','"+lotProcessCode+"') ";
- mapper.insert(sqlInspection);
- }
-
- String batchPline = (String)qlty.getBatch_no().substring(0, 1);
- String batchPlines = batchPline;
- String plineCode = "ZB1";
- if(batchPlines.equals("Z")){
- plineCode = "ZB1";
- qlty.setPline_code("ZB1");
- qlty.setPline_name("中板线");
- }else if(batchPlines.equals("H")){
- plineCode = "HB1";
- qlty.setPline_code("HB1");
- qlty.setPline_name("厚板线");
- }
-
- //母板限制 检验号
- if(qlty.getFreq_code().equals("B") || qlty.getFreq_code().equals("D")){
- String freqCodeSql = "select t.* from QCM_ORD_DESIGN_SAMPLE_M t "
- +" where t.Rate_Code ='B' and t.design_key = '"+qlty.getDesign_key()+"' ";
- List<HashMap> hmfreqCode=mapper.query(freqCodeSql.toString());
- if(hmfreqCode!=null && hmfreqCode.size()>=1){
- freqCodeSql="";
- freqCodeSql="select t.* from qcm_jhy_sample_consign_d t,qcm_jhy_sample_r_ord r where t.smp_no = r.smp_no "
- +" and t.board_no = '"+qlty.getBoard_no()+"' and t.pline_code = '"+plineCode+"' "
- +" and t.freq_code in ('B','D') and t.smp_type_code = '0' and t.Improve_Memo is null "
- +" and r.design_key = '"+qlty.getDesign_key()+"' and r.steel_code = '"+qlty.getSteel_code()+"' and r.thick = '"+qlty.getThick()+"' ";
- List<HashMap> hmfreqCode3 = mapper.query(freqCodeSql.toString());
- if(hmfreqCode3!=null && hmfreqCode3.size()>=1){
- getInspectionLot=hmfreqCode3.get(0).get("INSPECTION_LOT").toString();
- qlty.setInspection_lot(getInspectionLot);
- getFreqCode="1";//母板
- getInspectionLot2 = "1";//不准变检验号
- }else if(getInspectionLot2.equals("0")){
- //新母板号 取新检验号
- String inspection_lot=ZHBinspection_lotSql(qlty.getBatch_no(),plineCode);
- qlty.setInspection_lot(inspection_lot);
- getInspectionLot=inspection_lot;
- getInspectionLot2 = "1";//不准变检验号
-
- //当前订单号是否要生成委托
- freqCodeSql="";
- freqCodeSql="select t.* from qcm_jhy_sample_consign_d t,qcm_jhy_sample_r_ord r where t.smp_no = r.smp_no "
- +" and t.board_no = '"+qlty.getBoard_no()+"' and t.pline_code = '"+plineCode+"' "
- +" and t.freq_code in ('B','D') and t.smp_type_code = '0' and t.Improve_Memo is null "
- +" and r.steel_code = '"+qlty.getSteel_code()+"' and r.thick = '"+qlty.getThick()+"' ";
- List<HashMap> hmfreqCode2 = mapper.query(freqCodeSql.toString());
- if(hmfreqCode2!=null && hmfreqCode2.size()>=1){
- getFreqCode="0";//母板 进入下面的判定标准逻辑中
- }else{
- getFreqCode="1";//母板
- hashMapStr.clear();
- hashMapStr.put("BATCH_NO", qlty.getBatch_no());
- hashMapStr.put("PLINE_CODE", plineCode);
- hashMapStr.put("DESIGN_KEY", qlty.getDesign_key());
- hashMapStr.put("STEEL_CODE", qlty.getSteel_code());
- hashMapStr.put("THICK", qlty.getThick());
- hashMapStr.put("BOARD_NO", qlty.getBoard_no());
- //拿取检验号放入相应的子板中
- String sqlstr = ZHBStringSql(hashMapStr);
- List<HashMap> kczh=mapper.query(sqlstr.toString());
- if (kczh!=null && kczh.size()>=1) {
- for (HashMap hashMap : kczh) {
- String bcon = "select nvl(t.BILLETID_JY,'0') BILLETID_JY,t.* from zj_result_all@xgcx t "
- + " where t.billetid = '"+(String)hashMap.get("MATERIAL_NO")+"' "
- + " and rownum <= 1 ";
- List<HashMap> billetidJy = mapper.query(bcon.toString());
- if(billetidJy != null && billetidJy.size() >=1 && !billetidJy.get(0).get("BILLETID_JY").equals(qlty.getInspection_lot())){
- mapper.zjResultAllZHB(hashMap.get("MATERIAL_NO").toString(),qlty.getInspection_lot());
- }
- }
- }
- }
- }
-
- //多认证机构
- if(getInspectionLot2.equals("1")){
- qlty.setInspection_lot(getInspectionLot);
- }
- }
- }
- //判定当前轧批是否第一次生成委托 and t.SMP_LOCATION_CODE='"+qlty.getSmp_position_code()+"'
- String sql = "SELECT t.SMP_NO,t.SPECIMEN_NO FROM QCM_JHY_SAMPLE_CONSIGN_D t "
- +" WHERE t.BATCH_NO='"+qlty.getBatch_no()+"' and t.HEAT_NO = '"+qlty.getHeat_no()+"' "
- +" and t.SMP_TYPE_CODE = '0' and t.PLINE_CODE = '"+qlty.getPline_code()+"' ";
- List<HashMap> samplesD=mapper.query(sql.toString());
-
- //判断当前不是子板的项目 订单号中是否有子板取样
- if (!qlty.getFreq_code().equals("C") && !qlty.getFreq_code().equals("H") && !qlty.getFreq_code().equals("I")) {
- String chi="";
- List<HashMap> hmYnchi=null;
- if(qlty.getFreq_code().equals("D")){
- chi = "select t.* from QCM_ORD_DESIGN_SAMPLE_M t "
- +" where t.Rate_Code in ('C', 'H', 'I') and t.design_key = '"+qlty.getDesign_key()+"' ";
- hmYnchi=mapper.query(chi.toString());
- }
- if(hmYnchi!=null && hmYnchi.size()>=1){
- chiFreqCode="1";
- }
- }
-
- //查询D表中有数据 不为子板不为母板 以下是按批逻辑限制 进入if
- if (samplesD!=null && samplesD.size()>=1 && !qlty.getFreq_code().equals("C") && !qlty.getFreq_code().equals("H") && !qlty.getFreq_code().equals("I")&& !chiFreqCode.equals("1") && !getFreqCode.equals("1")) {
- //这个轧批有了委托 判定是否是同一牌号 不同牌号 直接生成新的委托 and t.SMP_LOCATION_CODE='"+qlty.getSmp_position_code()+"'
- sql = "";
- sql+="SELECT t.inspection_lot,t.SMP_NO,t.SPECIMEN_NO,o.design_key,o.steel_code,o.thick FROM QCM_JHY_SAMPLE_CONSIGN_D t,Qcm_Jhy_Sample_r_Ord o "
- + "WHERE t.smp_no = o.smp_no and o.design_key='"+qlty.getDesign_key()+"'"
- + " and o.steel_code = '"+qlty.getSteel_code()+"' and o.thick = '"+qlty.getThick()+"' "
- + " and t.BATCH_NO='"+qlty.getBatch_no()+"' and t.HEAT_NO = '"+qlty.getHeat_no()+"' "
- + " and t.SMP_TYPE_CODE = '0' and t.PLINE_CODE = '"+qlty.getPline_code()+"' "
- + " and o.DESIGN_KEY not like '19%' ";
- List<HashMap> samplesD2=mapper.query(sql.toString());
- if(samplesD2==null || samplesD2.size()<=0){
- //and t.SMP_LOCATION_CODE='"+qlty.getSmp_position_code()+"'
- sql = "";
- sql+="SELECT t.inspection_lot,t.SMP_NO,t.SPECIMEN_NO,o.design_key,o.steel_code,o.thick FROM QCM_JHY_SAMPLE_CONSIGN_D t,Qcm_Jhy_Sample_r_Ord o "
- + "WHERE t.smp_no = o.smp_no and o.steel_code = '"+qlty.getSteel_code()+"' and o.thick = '"+qlty.getThick()+"' "
- + " and t.BATCH_NO='"+qlty.getBatch_no()+"' and t.HEAT_NO = '"+qlty.getHeat_no()+"' "
- +" and t.SMP_TYPE_CODE = '0' "
- + " and t.PLINE_CODE = '"+qlty.getPline_code()+"' "
- + " and o.DESIGN_KEY not like '19%' ";
- samplesD2=null;
- samplesD2=mapper.query(sql.toString());
- }
- //同牌号 同规格
- if (samplesD2!=null && samplesD2.size()>=1 ) {
- // 判断标准是否想同
- String designKey0 = qlty.getDesign_key();//当前订单
- String designKey1 = (String) samplesD2.get(0).get("DESIGN_KEY");//已生成订单
- if(designKey0.equals(designKey1)){
- //同牌号 同订单 代表标准相同 已经生成一条就直接用相同检验号 这个是有夹杂、有力学才有的
- String inlot = (String) samplesD2.get(0).get("INSPECTION_LOT");
- if(inlot.equals("") || inlot==null){
- inlot = qlty.getBatch_no()+"0001";
- }
- qlty.setInspection_lot(inlot);//初样检验号为001
- getInspectionLot=inlot;
- getInspectionLot2 = "1";//不准变检验号
- dkeyScode = "1";
- dkeyScode2 = "1";
- }else{
- //同牌号 不同订单 判断订单标准是否相同 and t.specl_fl <> '2'
- String qcmOrdM0 = "select t.* from QCM_ORD_DESIGN_SAMPLE_M t where t.design_key = '"+designKey0+"' order by t.phy_code_l,t.phy_code_s ";
- String qcmOrdM1 = "select t.* from QCM_ORD_DESIGN_SAMPLE_M t where t.design_key = '"+designKey1+"' order by t.phy_code_l,t.phy_code_s ";
- List<HashMap> sampleM0=mapper.query(qcmOrdM0.toString());//当前订单
- List<HashMap> sampleM1=mapper.query(qcmOrdM1.toString());//已生成订单
- //如果 不同订单的项目数都不一样 肯定标准也不一样 那么直接生成新的委托
- if(sampleM0.size() == sampleM1.size()){
- //订单数一样 判断订单标准是否一样
- for (int i = 0; i < sampleM0.size(); i++) {
- String speclFltrue="0";
- String speclFl = (String) sampleM0.get(i).get("SPECL_FL");//标准类型
- String speclFl2 = (String) sampleM1.get(i).get("SPECL_FL");//标准类型
- if(speclFl.equals("2") || speclFl2.equals("2")){
- speclFltrue="1";
- }
- //代码
- String phyCodeL = (String) sampleM0.get(i).get("PHY_CODE_L");//材质检验大项代码
- String phyCodeM = (String) sampleM0.get(i).get("PHY_CODE_M");//试样组代码
- String phyCodeS = (String) sampleM0.get(i).get("PHY_CODE_S");//材质检验项目代码
- String itemCodeD = (String) sampleM0.get(i).get("ITEM_CODE_D");//试验方向代码
- String itemCodeT = (String) sampleM0.get(i).get("ITEM_CODE_T");//试验温度代码 试验温度代码 冲击 被引用
- String itemCodeS = (String) sampleM0.get(i).get("ITEM_CODE_S");//试样尺寸代码
- String itemCodeL = (String) sampleM0.get(i).get("ITEM_CODE_L");//试验位置代码
- String STDMIN = (String) sampleM0.get(i).get("STDMIN");//判定范围下限
- String STDMAX = (String) sampleM0.get(i).get("STDMAX");//判定范围上限
-
- 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");
- if(speclFltrue.equals("0")){
- newItem=newItem+"-"+(speclFl!=null?speclFl:"null");
- }
- newItem=newItem+"-"+(STDMIN!=null?STDMIN:"null");
- newItem=newItem+"-"+(STDMAX!=null?STDMAX:"null");
-
-
- //代码
- String phyCodeL2 = (String) sampleM1.get(i).get("PHY_CODE_L");//材质检验大项代码
- String phyCodeM2 = (String) sampleM1.get(i).get("PHY_CODE_M");//试样组代码
- String phyCodeS2 = (String) sampleM1.get(i).get("PHY_CODE_S");//材质检验项目代码
- String itemCodeD2 = (String) sampleM1.get(i).get("ITEM_CODE_D");//试验方向代码
- String itemCodeT2 = (String) sampleM1.get(i).get("ITEM_CODE_T");//试验温度代码 试验温度代码 冲击 被引用
- String itemCodeS2 = (String) sampleM1.get(i).get("ITEM_CODE_S");//试样尺寸代码
- String itemCodeL2 = (String) sampleM1.get(i).get("ITEM_CODE_L");//试验位置代码
- String STDMIN2 = (String) sampleM1.get(i).get("STDMIN");//判定范围下限
- String STDMAX2 =(String) sampleM1.get(i).get("STDMAX");//判定范围上限
-
- String newItem2=phyCodeL2+"-"+phyCodeM2+"-"+phyCodeS2;
- newItem2=newItem2+"-"+(itemCodeD2!=null?itemCodeD2:"null");
- newItem2=newItem2+"-"+(itemCodeT2!=null?itemCodeT2:"null");
- newItem2=newItem2+"-"+(itemCodeS2!=null?itemCodeS2:"null");
- newItem2=newItem2+"-"+(itemCodeL2!=null?itemCodeL2:"null");
- if(speclFltrue.equals("0")){
- newItem2=newItem2+"-"+(speclFl2!=null?speclFl2:"null");
- }
- newItem2=newItem2+"-"+(STDMIN2!=null?STDMIN2:"null");
- newItem2=newItem2+"-"+(STDMAX2!=null?STDMAX2:"null");
-
- //内控限制
- String strPic = "select t.* from qcm_ord_design_std_pic t where SPECL_FL='2' and design_key = '"+designKey0+"' and PHY_CODE_L = '"+phyCodeL+"' "
- + " and PHY_CODE_M = '"+phyCodeM+"' and PHY_CODE_S = '"+phyCodeS+"' order by t.phy_code_l,t.phy_code_s ";
- String strPic1 = "select t.* from qcm_ord_design_std_pic t where SPECL_FL='2' and t.design_key = '"+designKey1+"' and PHY_CODE_L = '"+phyCodeL2+"' "
- + " and PHY_CODE_M = '"+phyCodeM2+"' and PHY_CODE_S = '"+phyCodeS2+"' order by t.phy_code_l,t.phy_code_s ";
- List<HashMap> hmpic=mapper.query(strPic.toString());//当前订单
- List<HashMap> hmpic1=mapper.query(strPic1.toString());//已生成订单
- if(hmpic!=null && hmpic.size()>=1 && hmpic1!=null && hmpic1.size()>=1){
- String PICSTDMIN = (String) hmpic.get(0).get("STDMIN");//判定范围下限
- String PICSTDMAX = (String) hmpic.get(0).get("STDMAX");//判定范围上限
- newItem=newItem+"-"+(PICSTDMIN!=null?PICSTDMIN:"null");
- newItem=newItem+"-"+(PICSTDMAX!=null?PICSTDMAX:"null");
-
- String PICSTDMIN2 = (String) hmpic1.get(0).get("STDMIN");//判定范围下限
- String PICSTDMAX2 = (String) hmpic1.get(0).get("STDMAX");//判定范围上限
- newItem2=newItem2+"-"+(PICSTDMIN2!=null?PICSTDMIN2:"null");
- newItem2=newItem2+"-"+(PICSTDMAX2!=null?PICSTDMAX2:"null");
- }
- //同牌号 不同订单 不同标准
- if(!newItem.equals(newItem2)){
- dkeyScode = "1";
- dkeyScode2 = "1";
- String dkString = designKey1;//已生成订单
- String steelCodeStr = (String) samplesD2.get(0).get("STEEL_CODE");
- String thickStr = (String) samplesD2.get(0).get("THICK");
- String materialNosql = "";
- hashMapStr.clear();
- hashMapStr.put("BATCH_NO", qlty.getBatch_no());
- hashMapStr.put("PLINE_CODE", qlty.getPline_code());
- hashMapStr.put("DESIGN_KEY", dkString);
- hashMapStr.put("STEEL_CODE", steelCodeStr);
- hashMapStr.put("THICK", thickStr);
- hashMapStr.put("BOARD_NO", qlty.getBoard_no());
- materialNosql = ZHBStringSql(hashMapStr);
- //订单标准不一样 1号订单全部脱单 已发送委托 未判定 换成了2号订单 2号订单生成委托 1号订单状态要置成3 不然判定时找不到对应检验号
- List<HashMap> mapmaterial2=mapper.query(materialNosql.toString());//当前订单在库存中还有没有用
- if(mapmaterial2 == null || mapmaterial2.size() <=0 ){
- //没有在库存中查找到当前订单号 说明当前订单号已经没有子板在用了 无需再判定
- String sqlord = "";
- sqlord += " update Qcm_Jhy_Sample_r_Ord t set t.JUDGE_STATUS='3',MEMO ='换单1' ";
- sqlord += " where t.DESIGN_KEY='"+dkString+"' and t.BATCH_NO='"+qlty.getBatch_no()+"' ";
- mapper.updateJudgeStatus(sqlord.toString());
- }
-
- }
- }
- //如果是同牌号 不同订单 同标准 不生成委托
- if(dkeyScode.equals("0")){
- String dkString = designKey1;//已生成订单
- String dkString2= designKey0;//当前订单
- //说明库存中还有子板在用1号订单 2号订单标准一样不用生成
- String smpNo = (String) samplesD2.get(0).get("SMP_NO");//已生成订单
- String steelCodeStr = (String) samplesD2.get(0).get("STEEL_CODE");
- String thickStr = (String) samplesD2.get(0).get("THICK");
-
- String sqlzf = "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='"+dkString+"' and t.batch_no = '"+qlty.getBatch_no()+"' "
- +" and r.steel_code = '"+steelCodeStr+"' and r.thick = '"+thickStr+"' ";
- List<HashMap> hmzf=mapper.query(sqlzf.toString());
- //判断已生成订单 订单号 是否只生成了一个夹杂 如果只生成了一个夹杂 那么直接换成2号订单号ord
- if(hmzf!=null && hmzf.size() == 1){
- if(hmzf.get(0).get("FREQ_CODE").toString().equals("D") && qlty.getProcess_code().equals("HT1")){
- //确定为夹杂一个 换订单号
- String sqlord = "";
- sqlord += " update Qcm_Jhy_Sample_r_Ord t set t.DESIGN_KEY='"+dkString2+"' ";
- sqlord += " where t.DESIGN_KEY='"+dkString+"' and t.BATCH_NO='"+qlty.getBatch_no()+"' ";
- mapper.updateJudgeStatus(sqlord.toString());
-
- String inlot = (String) samplesD2.get(0).get("INSPECTION_LOT");
- if(inlot.equals("") || inlot==null){
- inlot = qlty.getBatch_no()+"0001";
- }
- qlty.setInspection_lot(inlot);//初样检验号为001
- getInspectionLot=inlot;
- getInspectionLot2 = "1";//不准变检验号
- dkeyScode = "1";
- dkeyScode2 = "1";
- }else{
- //查询中厚板的热处理标识是否一致 热处理之前 热处理之后
- if(memoRg2.equals("true1") || memoRg2.equals("false1")){
- String materialNosql = ZHBStringSql2(qlty.getBatch_no(),qlty.getPline_code(),qlty.getDesign_key(),qlty.getSteel_code(),qlty.getThick());
- List<HashMap> rchm=mapper.query(materialNosql.toString());
- TreeSet<String> rcString=new TreeSet<String>();
- for(HashMap hmap : rchm){
- rcString.add(hmap.get("SAMPLINGREQUESTTIME").toString());
- }
- if(rcString==null || rcString.size()<=1){
- break;
- }
- }else{
- break;
- }
- }
- }else{
- //查询中厚板的热处理标识是否一致 热处理之前 热处理之后
- if(memoRg2.equals("true1") || memoRg2.equals("false1")){
- String materialNosql = ZHBStringSql2(qlty.getBatch_no(),qlty.getPline_code(),qlty.getDesign_key(),qlty.getSteel_code(),qlty.getThick());
- List<HashMap> rchm=mapper.query(materialNosql.toString());
- TreeSet<String> rcString=new TreeSet<String>();
- for(HashMap hmap : rchm){
- rcString.add(hmap.get("SAMPLINGREQUESTTIME").toString());
- }
- if(rcString==null || rcString.size()<=1){
- break;
- }
- }else{
- break;
- }
- }
- }
- }else{
- //订单标准不一样
- dkeyScode = "1";
- dkeyScode2 = "1";
- String dkString = designKey1;//已生成订单
- String steelCodeStr = (String) samplesD2.get(0).get("STEEL_CODE");
- String thickStr = (String) samplesD2.get(0).get("THICK");
- String materialNosql = "";
- hashMapStr.clear();
- hashMapStr.put("BATCH_NO", qlty.getBatch_no());
- hashMapStr.put("PLINE_CODE", qlty.getPline_code());
- hashMapStr.put("DESIGN_KEY", dkString);
- hashMapStr.put("STEEL_CODE", steelCodeStr);
- hashMapStr.put("THICK", thickStr);
- hashMapStr.put("BOARD_NO", qlty.getBoard_no());
- materialNosql = ZHBStringSql(hashMapStr);
- //订单标准不一样 1号订单全部脱单 已发送委托 未判定 换成了2号订单 2号订单生成委托 1号订单状态要置成3 不然判定时找不到对应检验号
- List<HashMap> mapmaterial2=mapper.query(materialNosql.toString());//当前订单在库存中还有没有用
- if(mapmaterial2 == null || mapmaterial2.size() <=0 ){
- //没有在库存中查找到当前订单号 说明当前订单号已经没有子板在用了 无需再判定
- String sqlord = "";
- sqlord += " update Qcm_Jhy_Sample_r_Ord t set t.JUDGE_STATUS='3',MEMO ='换单2' ";
- sqlord += " where t.DESIGN_KEY='"+dkString+"' and t.BATCH_NO='"+qlty.getBatch_no()+"' ";
- mapper.updateJudgeStatus(sqlord.toString());
- }
-
- }
- }
-
- }
-
- //不同牌号 直接生成新委托
- //同牌号也要修改检验号 因为zj表会变
- //不是人工委托 && 不是子板 如果是一样的轧批 不同牌号
- //!memoRg2.equals("true1") &&
- if(!qlty.getFreq_code().equals("C") && !qlty.getFreq_code().equals("H") && !qlty.getFreq_code().equals("I")){
-
- //从新生成检验号
- //判断当前检验号是否为空 为空进入 不是人工委托 getInspectionLot2为0
- //getInspectionLot2 防止一订单多牌号 检验号要一样
- if(StringUtils.isBlank(getInspectionLot) && !memoRg2.equals("true1") && getInspectionLot2.equals("0")){
-
- String inspectionLots= "select max(to_number(substr(inspection_lot,-3))) INSPECTION_LOT from QCM_JHY_SAMPLE_CONSIGN_D t "
- + " where t.batch_no = '"+qlty.getBatch_no()+"' and t.pline_code = '"+qlty.getPline_code()+"' ";
- List<HashMap> lots=mapper.query(inspectionLots.toString());
- BigDecimal val = (BigDecimal) lots.get(0).get("INSPECTION_LOT");
- String val2 = val.toString();
- Integer val3 = Integer.parseInt(val2);
- val3++;
- String lotval=qlty.getBatch_no()+ String.format("%04d", val3);
- getInspectionLot = lotval;
- qlty.setInspection_lot(getInspectionLot);//检验号
- getInspectionLot2="1";
- sqlInspection= "";
- sqlInspection= "INSERT INTO QCM_JHY_ZHBINSPECTIONLOT (HEAT_NO,BATCH_NO,INSPECTION_LOT,PLINE_CODE,CREATE_NAME,DESIGN_KEY,STEEL_CODE,THICK,GRADE_CODE,PROCESS_CODE) "
- + " VALUES('"+(String)qlty.getHeat_no()+"','"+qlty.getBatch_no()+"','"+qlty.getInspection_lot()+"','"+qlty.getPline_code()+"',"
- + " '"+memoname+"','"+qlty.getDesign_key()+"','"+lotSteelCode+"','"+lotThick+"','"+lotGradeCode+"','"+lotProcessCode+"') ";
- mapper.insert(sqlInspection);
-
- //判断有生成过当前取样材料号吗 是否是同一个取样材料号
- String materialNosql = "select * from qcm_jhy_sample_consign_m m,qcm_jhy_sample_r_ord r "
- +" where m.smp_no = r.smp_no "
- +" and m.material_no = '"+qlty.getMaterial_no()+"' order by m.create_time asc ";//已生成订单
- List<HashMap> mapmaterial2=mapper.query(materialNosql.toString());//已生成的取样材料号
- if(mapmaterial2 !=null && mapmaterial2.size()>=1){
- String dkString = (String) mapmaterial2.get(0).get("DESIGN_KEY");
- String steelCodeStr = (String) mapmaterial2.get(0).get("STEEL_CODE");
- String thickStr = (String) mapmaterial2.get(0).get("THICK");
- materialNosql = "";
- hashMapStr.clear();
- hashMapStr.put("BATCH_NO", qlty.getBatch_no());
- hashMapStr.put("PLINE_CODE", qlty.getPline_code());
- hashMapStr.put("DESIGN_KEY", dkString);
- hashMapStr.put("STEEL_CODE", steelCodeStr);
- hashMapStr.put("THICK", thickStr);
- hashMapStr.put("BOARD_NO", qlty.getBoard_no());
- materialNosql = ZHBStringSql(hashMapStr);
- mapmaterial2=null;
- mapmaterial2=mapper.query(materialNosql.toString());//已生成的取样材料号
- if(mapmaterial2 == null || mapmaterial2.size() <=0 ){
- //没有在库存中查找到当前订单号 说明当前订单号已经没有子板在用了 无需再判定
- String sqlord = "";
- sqlord += " update Qcm_Jhy_Sample_r_Ord t set t.JUDGE_STATUS='3',MEMO ='换单3' ";
- sqlord += " where t.DESIGN_KEY='"+dkString+"' and t.BATCH_NO='"+qlty.getBatch_no()+"' ";
- mapper.updateJudgeStatus(sqlord.toString());
- }
- }
- }
-
- //不等于人工委托(人工委托时已经弄成最新检验号) 换检验号 一订单多认证机构用同一个检验号
- if(!memoRg2.equals("true1") && getInspectionLot2.equals("1")){
- qlty.setInspection_lot(getInspectionLot);//检验号
- }
-
- if(zjResultAll.equals("0")){
- zjResultAll="1";
- //订单标准不一样 同牌号 不同订单
- String sqlDesignKey0 ="";
- String sqlDesignKey1 ="";
- if(dkeyScode.equals("1")){
- if(qlty.getPline_code().equals("ZB1")){
- sqlDesignKey0 = " and T.DESIGN_KEY = '"+qlty.getDesign_key()+"' ";
- }else if(qlty.getPline_code().equals("HB1")){
- sqlDesignKey0 = " and T.DESIGN_KEY = '"+qlty.getDesign_key()+"' ";
- }
- }
- String sqlkcz ="";
- if(qlty.getPline_code().equals("ZB1")){
- sqlkcz ="";
- sqlkcz = "SELECT t.* "
- +" FROM (SELECT T.ORDERNO DESIGN_KEY,T.BATCHNO BATCH_NO,to_char(T.STEELCODE) GRADE_CODE,T.HEIGHT THICK,T.PRODUCTNO MATERIAL_NO "
- +" FROM MB_PLANDETAILOFPLATE@xgcx T, SEL_PACTDETAIL_NEW@xgcx A "
- +" WHERE T.ORDERNO = A.ORDERNO "
- +" and T.PRODUCTNO not in "
- +" (select T.BILLETID from KCZ_TURNOFFLIST@xgcx T where t.ROLLNUMBER = '"+qlty.getBatch_no()+"') "
- +" and T.ORDERNO is not null AND A.SAMPLINGREQUESTTIME IN ('A', 'AB') "
- +" union all "
- +" SELECT T.ORDERNO DESIGN_KEY,T.ROLLNUMBER BATCH_NO,T.DETERMINANTCARDNUMBER GRADE_CODE,T.PLY THICK,T.BILLETID MATERIAL_NO "
- +" FROM KCZ_TURNOFFLIST@xgcx T, SEL_PACTDETAIL_NEW@xgcx A "
- +" WHERE T.ORDERNO = A.ORDERNO and T.ORDERNO is not null AND T.ISVALID <> '0') t "
- +" WHERE t.BATCH_NO = '"+qlty.getBatch_no()+"' and t.BATCH_NO like 'Z%' "
- +" and t.GRADE_CODE = '"+qlty.getGrade_code()+"' and t.THICK = '"+qlty.getThick()+"' and T.DESIGN_KEY not like '19%' "
- + sqlDesignKey0
- + " group by T.DESIGN_KEY,T.BATCH_NO,T.GRADE_CODE,T.THICK,t.MATERIAL_NO order by t.MATERIAL_NO ";
-
- }else if(qlty.getPline_code().equals("HB1")){
- sqlkcz ="";
- sqlkcz ="SELECT t.* "
- +" FROM (SELECT T.ORDERID DESIGN_KEY,T.BATCHNO BATCH_NO,to_char(T.STEELTYPE) GRADE_CODE,T.THICK THICK,T.SLABNO MATERIAL_NO "
- +" FROM ZYHB_PLANDETAILOFPLATE@xgcx T, SEL_PACTDETAIL_NEW@xgcx A "
- +" WHERE T.ORDERID = A.ORDERNO "
- +" and T.SLABNO not in "
- +" (select T.BILLETID from KCH_TURNOFFLIST@xgcx T where t.ROLLNUMBER = '"+qlty.getBatch_no()+"') "
- +" and T.ORDERID is not null "
- +" union all "
- +" SELECT T.ALLOTORDERFORM DESIGN_KEY,T.ROLLNUMBER BATCH_NO,T.DETERMINANTCARDNUMBER GRADE_CODE,T.PLY THICK,T.BILLETID MATERIAL_NO "
- +" FROM KCH_TURNOFFLIST@xgcx T, SEL_PACTDETAIL_NEW@xgcx A "
- +" WHERE T.ALLOTORDERFORM = A.ORDERNO and T.ALLOTORDERFORM is not null AND T.PSTATFLAG <> '0') t "
- +" WHERE t.BATCH_NO = '"+qlty.getBatch_no()+"' and t.BATCH_NO like 'H%' "
- +" and t.GRADE_CODE = '"+qlty.getGrade_code()+"' and t.THICK = '"+qlty.getThick()+"' and T.DESIGN_KEY not like '19%' "
- + sqlDesignKey0
- +" group by T.DESIGN_KEY,T.BATCH_NO,T.GRADE_CODE,T.THICK,t.MATERIAL_NO order by t.MATERIAL_NO asc";
-
- }
- List<HashMap> kczh=mapper.query(sqlkcz.toString());
- if (kczh!=null && kczh.size()>=1) {
- for (HashMap hashMap : kczh) {
- String bcon = "select nvl(t.BILLETID_JY,'0') BILLETID_JY,t.* from zj_result_all@xgcx t "
- + " where t.billetid like '%"+(String)hashMap.get("MATERIAL_NO")+"%' "
- + " and rownum <= 1 ";
- List<HashMap> billetidJy = mapper.query(bcon.toString());
- if(billetidJy != null && billetidJy.size() >=1 &&
- !billetidJy.get(0).get("BILLETID_JY").equals(qlty.getInspection_lot())
- ){
- if(!billetidJy.get(0).get("JUDGERESULT").equals("0")){
- String sqlzj = "";
- sqlzj += " update zj_result_all@xgcx t set t.billetid_jy = '"+qlty.getInspection_lot()+"' ";
- sqlzj += " where t.billetid='"+(String)hashMap.get("MATERIAL_NO")+"' ";
- mapper.updateJudgeStatus(sqlzj.toString());
- }else{
- String sqlzj = "";
- sqlzj += " update zj_result_all@xgcx t set t.billetid_jy = '"+qlty.getInspection_lot()+"', "
- + " t.PHYSRESULT='0',t.PHYSRESULT_DESC='',t.PHYSID='',t.FST_JUDGERESULT='0',t.FST_JUDGERESULT_DESC='' ";
- sqlzj += " where t.billetid='"+(String)hashMap.get("MATERIAL_NO")+"' ";
- mapper.updateJudgeStatus(sqlzj.toString());
- }
- }
- }
- }
- }
-
- }
-
-
- }else{
- //不是人工委托 && 不是子板 第一次生成委托0001开始
- //!memoRg2.equals("true1") &&
- if(!qlty.getFreq_code().equals("C") && !qlty.getFreq_code().equals("H") && !qlty.getFreq_code().equals("I")&& !chiFreqCode.equals("1") && !getFreqCode.equals("1")){
- String inlot = qlty.getBatch_no()+"0001";
- qlty.setInspection_lot(inlot);//初样检验号为001
- String bcon = "select count(1) CNUM from zj_result_all@xgcx t "
- + " where t.billetid like '%"+(String)qlty.getBatch_no()+"%'"
- + " and nvl(t.billetid_jy,'null') <> '"+inlot+"' ";
- List<HashMap> valn = mapper.query(bcon.toString());
- BigDecimal val2 = (BigDecimal) valn.get(0).get("CNUM");
- String val3 = val2.toString();
- Integer val4 = Integer.parseInt(val3);
- if(val4!=0){
- String sqlzj = "";
- sqlzj += " update zj_result_all@xgcx t set t.billetid_jy = '"+inlot+"' ";
- sqlzj += " where t.billetid like '"+(String)qlty.getBatch_no()+"%' ";
- mapper.updateJudgeStatus(sqlzj.toString());
- }
- }
- }
-
- //子板逻辑限制 硬度 && qlty.getPhy_code_s().equals("D01")
- if((qlty.getFreq_code().equals("C") || qlty.getFreq_code().equals("H") || qlty.getFreq_code().equals("I")) && getInspectionLot2.equals("0") ){
- //按子板先把 检验号置空
- String sqlD = "select t.* from QCM_JHY_SAMPLE_CONSIGN_D t "
- + " where t.batch_no = '"+qlty.getBatch_no()+"' and t.pline_code='"+qlty.getPline_code()+"' ";
- List<HashMap> hmD = mapper.query(sqlD.toString());
- if(hmD==null || hmD.size()<=0){
- String zjsql = "";
- zjsql += " update zj_result_all@xgcx t set t.billetid_jy = '' "
- + " where t.billetid like '"+qlty.getBatch_no()+"%' ";
- mapper.updateJudgeStatus(zjsql.toString());
- }
- //先按炉夹杂 再子板力学 子板中带有夹杂和力学两种委托
- sqlD="";
- sqlD = "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 ='"+qlty.getDesign_key()+"' and r.thick='"+qlty.getThick()+"' "
- + " and r.steel_code='"+qlty.getSteel_code()+"' and t.MATERIAL_NO = '"+qlty.getMaterial_no()+"' "
- + " and t.pline_code='"+qlty.getPline_code()+"' and rownum = 1 ";
- List<HashMap> hmD2 = mapper.query(sqlD.toString());
- if(hmD2!=null && hmD2.size()>=1 ){
- qlty.setInspection_lot(hmD2.get(0).get("INSPECTION_LOT").toString());
- getInspectionLot2="1";
- getInspectionLot = hmD2.get(0).get("INSPECTION_LOT").toString();
- }else{
- String sqlLOT = "select nvl(max(to_number(substr(inspection_lot,-3))),'0') INSPECTION_LOT from QCM_JHY_SAMPLE_CONSIGN_D t "
- + " where t.batch_no = '"+qlty.getBatch_no()+"' and t.pline_code='"+qlty.getPline_code()+"' ";
- List<HashMap> hmap = mapper.query(sqlLOT.toString());
- BigDecimal hmap1 = (BigDecimal) hmap.get(0).get("INSPECTION_LOT");
- String hmap2 = hmap1.toString();
- Integer hmap3 = Integer.parseInt(hmap2);
- hmap3++;
- getInspectionLot2="1";
- String inspe = qlty.getBatch_no()+String.format("%04d", hmap3);
- qlty.setInspection_lot(inspe);
- getInspectionLot = inspe;
- String sqlzj = "";
- sqlzj += " update zj_result_all@xgcx t set t.billetid_jy = '"+qlty.getInspection_lot()+"' ";
- sqlzj += " where t.billetid='"+(String)qlty.getMaterial_no()+"' ";
- mapper.updateJudgeStatus(sqlzj.toString());
- }
- }else if((qlty.getFreq_code().equals("C") || qlty.getFreq_code().equals("H")|| qlty.getFreq_code().equals("I")) && getInspectionLot2.equals("1")){
- qlty.setInspection_lot(getInspectionLot);
- }else if(chiFreqCode.equals("1")){
- String chistr = "select t.* from QCM_JHY_SAMPLE_CONSIGN_D t"
- + " where t.MATERIAL_NO = '"+qlty.getMaterial_no()+"' and rownum = 1 ";
- List<HashMap> hmD = mapper.query(chistr.toString());
- if(hmD!=null && hmD.size()>=1){
- qlty.setInspection_lot(hmD.get(0).get("INSPECTION_LOT").toString());
- getInspectionLot2="1";
- getInspectionLot = hmD.get(0).get("INSPECTION_LOT").toString();
- }else{
- String sqlLOT = "select nvl(max(to_number(substr(inspection_lot,-3))),'0') INSPECTION_LOT from QCM_JHY_SAMPLE_CONSIGN_D t "
- + " where t.batch_no = '"+qlty.getBatch_no()+"' and t.pline_code='"+qlty.getPline_code()+"' ";
- List<HashMap> hmap = mapper.query(sqlLOT.toString());
- BigDecimal hmap1 = (BigDecimal) hmap.get(0).get("INSPECTION_LOT");
- String hmap2 = hmap1.toString();
- Integer hmap3 = Integer.parseInt(hmap2);
- hmap3++;
- getInspectionLot2="1";
- String inspe = qlty.getBatch_no()+String.format("%04d", hmap3);
- qlty.setInspection_lot(inspe);
- getInspectionLot = inspe;
- String sqlzj = "";
- sqlzj += " update zj_result_all@xgcx t set t.billetid_jy = '"+qlty.getInspection_lot()+"' ";
- sqlzj += " where t.billetid='"+(String)qlty.getMaterial_no()+"' ";
- mapper.updateJudgeStatus(sqlzj.toString());
- }
- }
-
- //下面if是性能改善逻辑限制
- }else if((qlty.getPline_code().equals("ZB1") || qlty.getPline_code().equals("HB1")) && memoXngs.equals("true1") && !"19".equals(getDesignKey19)){
- //当前热处理号
- String processNos=getRclState(qlty.getPline_code(),qlty.getMaterial_no());
- String sqlxngsSel="select * from qcm_jhy_zhbinspectionlot_xngs t where t.material_no = '"+qlty.getMaterial_no()+"' and t.process_nos = '"+processNos+"' and rownum <=2 ";
- List<HashMap> hmxngs = mapper.query(sqlxngsSel.toString());
- if(hmxngs==null || hmxngs.size()<=0){
- String sqlXNGS= "INSERT INTO QCM_JHY_ZHBINSPECTIONLOT_XNGS "
- + " (design_key, steel_code, thick, pline_code, heat_no, batch_no, inspection_lot, material_no, process_nos, create_name) "
- + " VALUES"
- + " ('"+qlty.getDesign_key()+"','"+qlty.getSteel_code()+"','"+qlty.getThick()+"','"+qlty.getPline_code()+"','"+qlty.getHeat_no()+"',"
- + " '"+qlty.getBatch_no()+"','"+qlty.getInspection_lot()+"','"+qlty.getMaterial_no()+"','"+processNos+"','XNGS') ";
- mapper.insert(sqlXNGS);
- }
- //子板性能改善限制
- if((qlty.getFreq_code().equals("C") || qlty.getFreq_code().equals("H") || qlty.getFreq_code().equals("I")) && getInspectionLot2.equals("0") ){
- String sqlmaterial = " select * from qcm_jhy_sample_consign_d t,qcm_jhy_sample_r_ord r "
- +" where t.smp_no = r.smp_no "
- +" and t.Freq_Code in ('C','H','I') and t.Freq_Code <> 'D' "
- +" and r.judge_status in ('1','3') "
- +" and t.PROCESS_NOS not like '%G' "
- +" and t.material_no = '"+qlty.getMaterial_no()+"' ";
- List<HashMap> hmmaterial = mapper.query(sqlmaterial.toString());
- if(hmmaterial==null || hmmaterial.size()<=0){
- //不为人工委托
- if(!memoRg2.equals("true1")){
- System.out.println("子板初检未判定不可性能改善");
- return "子板初检未判定不可性能改善";
- }else{
- sqlmaterial="";
- sqlmaterial = " select * from qcm_jhy_sample_consign_d t,qcm_jhy_sample_r_ord r "
- +" where t.smp_no = r.smp_no "
- +" and t.Freq_Code in ('C','H','I') and t.Freq_Code <> 'D' "
- +" and r.judge_status ='0' "
- +" and t.PROCESS_NOS not like '%G' "
- +" and t.material_no = '"+qlty.getMaterial_no()+"' ";
- List<HashMap> hmchi = mapper.query(sqlmaterial.toString());
- if(hmchi!=null && hmchi.size()>=1){
- System.out.println("子板初检未判定不可性能改善");
- return "子板初检未判定不可性能改善";
- }
- }
-
- }
-
- String sqlLOT = "select nvl(max(to_number(substr(inspection_lot,-3))),'0') INSPECTION_LOT from QCM_JHY_SAMPLE_CONSIGN_D t "
- + " where t.batch_no = '"+qlty.getBatch_no()+"' and t.pline_code='"+qlty.getPline_code()+"' ";
- List<HashMap> hmap = mapper.query(sqlLOT.toString());
- BigDecimal hmap1 = (BigDecimal) hmap.get(0).get("INSPECTION_LOT");
- String hmap2 = hmap1.toString();
- Integer hmap3 = Integer.parseInt(hmap2);
- hmap3++;
- getInspectionLot2="1";
- String inspe = qlty.getBatch_no()+String.format("%04d", hmap3);
- qlty.setInspection_lot(inspe);
- getInspectionLot = inspe;
- String sqlzj = "";
- sqlzj += " update zj_result_all@xgcx t set t.billetid_jy = '"+qlty.getInspection_lot()+"' ";
- sqlzj += " where t.billetid='"+(String)qlty.getMaterial_no()+"' ";
- mapper.updateJudgeStatus(sqlzj.toString());
-
- String sqlD = "select t.* from QCM_JHY_SAMPLE_CONSIGN_D t "
- +" where t.material_no = '"+qlty.getMaterial_no()+"' and t.pline_code = '"+qlty.getPline_code()+"'"
- +" and t.FREQ_CODE IN ('C','H','I') ";
- List<HashMap> sqlDhm = mapper.query(sqlD.toString());
- if(sqlDhm!=null && sqlDhm.size()>=1){
- for (HashMap hashMap : sqlDhm) {
- String smpNo = hashMap.get("SMP_NO").toString();
- String ordSql = "update Qcm_Jhy_Sample_r_Ord t set t.JUDGE_STATUS = '3' where t.SMP_NO = '"+smpNo+"' ";
- mapper.updateJudgeStatus(ordSql.toString());
- }
- String loksql = "select * from qcm_judge_locking t "
- + " where t.MATERIAL_NO = '"+(String)qlty.getMaterial_no()+"' and unlock_type_code is null and lock_type_code = 'P' ";
- List<HashMap> rs=mapper.query(loksql.toString());
- if(rs!=null && rs.size()>=1){
- String sql3= "update qcm_judge_locking t "
- + " set t.unlock_type_code = '17',t.unlock_type_desc = '性能改善',"
- + " t.unlock_name='sys',t.unlock_time =sysdate "
- + " where t.MATERIAL_NO = '"+qlty.getMaterial_no()+"' and t.unlock_type_code is null and lock_type_code = 'P' ";
- mapper.updateJudgeStatus(sql3.toString());
- }
-
- }
- }else if((qlty.getFreq_code().equals("C") || qlty.getFreq_code().equals("H") || qlty.getFreq_code().equals("I")) && getInspectionLot2.equals("1")){
- qlty.setInspection_lot(getInspectionLot);
- }
-
- String chiD="0";
- //子板中的夹杂
- if(qlty.getFreq_code().equals("D")){
- String chiDsql = "select t.* from QCM_ORD_DESIGN_SAMPLE_M t "
- +" where t.Rate_Code in ('C', 'H', 'I') and t.design_key = '"+qlty.getDesign_key()+"' ";
- List<HashMap> hmap=mapper.query(chiDsql.toString());
- if(hmap!=null && hmap.size()>=1 && getInspectionLot2.equals("1")){
- chiD="1";
- qlty.setInspection_lot(getInspectionLot);
- }
- }
-
- //不等于子板性能改善逻辑限制
- if(!qlty.getFreq_code().equals("C") && !qlty.getFreq_code().equals("H") && !qlty.getFreq_code().equals("I") && chiD.equals("0")){
- //20230828 不用管初样是否有没有或没有返回实绩 只要变了热处理号为G都生成委托
- /*String sqlmaterial = " select * from qcm_jhy_sample_consign_d t,qcm_jhy_sample_r_ord r "
- +" where t.smp_no = r.smp_no "
- +" and t.Freq_Code <> 'D' "
- +" and r.judge_status in ('1','3') "
- +" and t.PROCESS_NOS not like '%G' "
- +" and t.batch_no = '"+qlty.getBatch_no()+"' ";
- List<HashMap> hmmaterial = mapper.query(sqlmaterial.toString());
- if(hmmaterial==null || hmmaterial.size()<=0){
- sqlmaterial="";
- sqlmaterial = " select * from qcm_jhy_sample_consign_d t,qcm_jhy_sample_r_ord r "
- +" where t.smp_no = r.smp_no and t.Freq_Code <> 'D' and r.judge_status in ('1','3') "
- +" and t.PROCESS_NOS like '%G' and t.Improve_Memo is null and t.batch_no = '"+qlty.getBatch_no()+"' ";
- List<HashMap> hmmaterialG = mapper.query(sqlmaterial.toString());
- if(hmmaterialG==null || hmmaterialG.size()<=0){
- //不为人工委托
- if(!memoRg2.equals("true1")){
- System.out.println("当前轧批初检未判定不可性能改善");
- return "当前轧批初检未判定不可性能改善";
- }
- }
- }*/
-
- //当前热处理号
- //String processNos=getRclState(qlty.getPline_code(),qlty.getMaterial_no());
- String outps ="";
- // if(memoRg2.equals("true1")){//20230830性能改善
- outps = " and t.PROCESS_NOS= '"+processNos+"' ";
- //}
- // 不能按照热处理号来 热处理号随时改变但是委托只要一条
- String xgnsSql = "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 = '"+qlty.getDesign_key()+"' "
- +" and to_char(r.THICK, 'fm990.099') = to_char('"+qlty.getThick()+"', 'fm990.099') "
- +" and r.steel_code = '"+qlty.getGrade_code()+"' "
- +" and t.batch_no = '"+qlty.getBatch_no()+"' "
- +" and r.INSPECTION_LOT is not null "
- +" and t.PROCESS_NOS like '%G' "
- + outps
- + " and rownum = 1 ";
- List<HashMap> xgnshm=mapper.query(xgnsSql.toString());
- if (xgnshm!=null && xgnshm.size()>=1) {
- String inspectionLotxgns = "";
- if(StringUtils.isNotBlank(xgnshm.get(0).get("INSPECTION_LOT").toString())){
- inspectionLotxgns=xgnshm.get(0).get("INSPECTION_LOT").toString();
- qlty.setInspection_lot(inspectionLotxgns);
- getInspectionLot2="1";
- }
- }
-
- if(xngslog.equals("0") && getInspectionLot2.equals("0")){
-
- String sqlInspection= "INSERT INTO QCM_JHY_ZHBINSPECTIONLOT (HEAT_NO,BATCH_NO,INSPECTION_LOT,PLINE_CODE,CREATE_NAME,DESIGN_KEY,ZJ_INSPECTION_LOT,STEEL_CODE,THICK,GRADE_CODE,PROCESS_CODE) "
- + " VALUES('"+(String)qlty.getHeat_no()+"','"+qlty.getBatch_no()+"','"+qlty.getInspection_lot()+"','"+qlty.getPline_code()+"',"
- + " '1性能改善','"+qlty.getDesign_key()+"','"+qlty.getInspection_lot()+"','"+lotSteelCode+"','"+lotThick+"','"+lotGradeCode+"','"+lotProcessCode+"') ";
- mapper.insert(sqlInspection);
-
- String inspectionLots= "select nvl(max(to_number(substr(inspection_lot,-3))),0) INSPECTION_LOT from QCM_JHY_SAMPLE_CONSIGN_D t "
- + " where t.batch_no = '"+qlty.getBatch_no()+"' and t.pline_code = '"+qlty.getPline_code()+"' ";
- List<HashMap> lots=mapper.query(inspectionLots.toString());
- BigDecimal val = (BigDecimal) lots.get(0).get("INSPECTION_LOT");
- String val2 = val.toString();
- Integer val3 = Integer.parseInt(val2);
- val3++;
- String lotval=qlty.getBatch_no()+ String.format("%04d", val3);
- qlty.setInspection_lot(lotval);//检验号
-
- String batchPline = (String)qlty.getBatch_no().substring(0, 1);
- String batchPlines = batchPline;
- if(batchPlines.equals("Z")){
- if(!qlty.getPline_code().equals("ZB1")){
- break;
- }
- }else if(batchPlines.equals("H")){
- if(!qlty.getPline_code().equals("HB1")){
- break;
- }
- }
- if(batchPlines.equals("Z")){
- qlty.setPline_code("ZB1");
- qlty.setPline_name("中板线");
- }else if(batchPlines.equals("H")){
- qlty.setPline_code("HB1");
- qlty.setPline_name("厚板线");
- }
- String memoname = "调用接口";
- if(memoRg2.equals("true1")){
- memoname = "人工委托";
- }
- sqlInspection= "INSERT INTO QCM_JHY_ZHBINSPECTIONLOT (HEAT_NO,BATCH_NO,INSPECTION_LOT,PLINE_CODE,CREATE_NAME,DESIGN_KEY,STEEL_CODE,THICK,GRADE_CODE,PROCESS_CODE) "
- + " VALUES('"+(String)qlty.getHeat_no()+"','"+qlty.getBatch_no()+"','"+qlty.getInspection_lot()+"','"+qlty.getPline_code()+"',"
- + " '"+memoname+"','"+qlty.getDesign_key()+"','"+lotSteelCode+"','"+lotThick+"','"+lotGradeCode+"','"+lotProcessCode+"') ";
- mapper.insert(sqlInspection);
-
-
- if(qlty.getPline_code().toString().equals("ZB1") || qlty.getPline_code().toString().equals("HB1")){
- String sqlzj = "";
- if(memoXngs.equals("true1")){//性能改善
-
- String sql="SELECT t.inspection_lot,t.SMP_NO,t.SPECIMEN_NO,o.design_key,nvl(o.JUDGE_RESULT_CODE,'2') JUDGE_RESULT_CODE FROM QCM_JHY_SAMPLE_CONSIGN_D t,Qcm_Jhy_Sample_r_Ord o "
- + "WHERE t.smp_no = o.smp_no and o.design_key='"+qlty.getDesign_key()+"'"
- + " and o.steel_code = '"+qlty.getGrade_code()+"' and to_char(o.thick, 'fm990.099') = to_char('"+qlty.getThick()+"', 'fm990.099') "
- + " and t.BATCH_NO='"+qlty.getBatch_no()+"' and t.HEAT_NO = '"+qlty.getHeat_no()+"' "
- + " and t.PLINE_CODE = '"+qlty.getPline_code()+"' "
- + " and o.DESIGN_KEY not like '19%' order by o.create_time desc ";
- List<HashMap> samplesD2=mapper.query(sql.toString());
- if(samplesD2==null || samplesD2.size()<=0){
- sql = "";
- sql+="SELECT t.inspection_lot,t.SMP_NO,t.SPECIMEN_NO,o.design_key,nvl(o.JUDGE_RESULT_CODE,'2') JUDGE_RESULT_CODE FROM QCM_JHY_SAMPLE_CONSIGN_D t,Qcm_Jhy_Sample_r_Ord o "
- + "WHERE t.smp_no = o.smp_no and o.steel_code = '"+qlty.getGrade_code()+"' and to_char(o.thick, 'fm990.099') = to_char('"+qlty.getThick()+"', 'fm990.099') "
- + " and t.BATCH_NO='"+qlty.getBatch_no()+"' and t.HEAT_NO = '"+qlty.getHeat_no()+"' "
- + " and t.PLINE_CODE = '"+qlty.getPline_code()+"' "
- + " and o.DESIGN_KEY not like '19%' order by o.create_time desc ";
- samplesD2=null;
- samplesD2=mapper.query(sql.toString());
- }
- //有没有初样20230726 没有综判 ,t.PHYSID=''
- if(samplesD2==null || samplesD2.size()<=0){
- String sqlzjy = " update zj_result_all@xgcx t set t.billetid_jy = '"+qlty.getInspection_lot()+"',"
- + " t.PHYSRESULT='0',t.PHYSRESULT_DESC='' "
- + " where t.billetid like '"+(String)qlty.getBatch_no()+"%' and JUDGERESULT='0' ";
- mapper.updateJudgeStatus(sqlzjy.toString());
- }else{
- //有
- String zjBilletidJy=(String) samplesD2.get(0).get("INSPECTION_LOT");//初样的检验号
- String judgeResultCode = (String) samplesD2.get(0).get("JUDGE_RESULT_CODE");//材质判定结果
- //查询有多少个子板是性能改善
- String xngsSqlStr = ZHBXlgxStringSql(processNos,qlty.getBatch_no(),qlty.getPline_code(),qlty.getDesign_key(),qlty.getGrade_code(),qlty.getThick());
- samplesD2=null;
- samplesD2=mapper.query(xngsSqlStr.toString());
-
- //当前性能改善在库存中是否有相应子板 合格1进入if 不合格2不进入
- if(samplesD2!=null && samplesD2.size()>=1 && !judgeResultCode.equals("2")){
- for (HashMap hashMap : samplesD2) {
- String bcon = "select nvl(t.BILLETID_JY,'0') BILLETID_JY,t.* from zj_result_all@xgcx t "
- + " where t.billetid like '%"+(String)hashMap.get("MATERIAL_NO")+"%' "
- + " and rownum <= 1 ";
- List<HashMap> billetidJy = mapper.query(bcon.toString());
- if(billetidJy != null && billetidJy.size() >=1 &&
- !billetidJy.get(0).get("BILLETID_JY").equals(qlty.getInspection_lot())
- ){
- if(!billetidJy.get(0).get("JUDGERESULT").equals("0")){
- sqlzj = "";
- sqlzj += " update zj_result_all@xgcx t set t.billetid_jy = '"+qlty.getInspection_lot()+"' ";
- sqlzj += " where t.billetid='"+(String)hashMap.get("MATERIAL_NO")+"' ";
- mapper.updateJudgeStatus(sqlzj.toString());
- }else{
- sqlzj = "";
- sqlzj += " update zj_result_all@xgcx t set t.billetid_jy = '"+qlty.getInspection_lot()+"', "
- + " t.PHYSRESULT='0',t.PHYSRESULT_DESC='',t.PHYSID='' ";
- sqlzj += " where t.billetid='"+(String)hashMap.get("MATERIAL_NO")+"' ";
- mapper.updateJudgeStatus(sqlzj.toString());
- }
- }
- }
- }else{
- String bcon = "select t.* from zj_result_all@xgcx t "
- + " where t.BILLETID_JY = '"+zjBilletidJy+"' ";
- List<HashMap> billetidJy = mapper.query(bcon.toString());
- if(billetidJy != null && billetidJy.size() >=1 ){
- String sqlzjy = " update zj_result_all@xgcx t set t.billetid_jy = '"+qlty.getInspection_lot()+"',"
- + " t.PHYSRESULT='0',t.PHYSRESULT_DESC='',t.PHYSID='' "
- + " where t.BILLETID_JY = '"+zjBilletidJy+"' ";
- mapper.updateJudgeStatus(sqlzjy.toString());
- }
- }
- }
-
- //查询ord中的检验号
- String qcmrord = "select * from QCM_JHY_SAMPLE_R_ORD "
- + " where BATCH_NO = '"+qlty.getBatch_no()+"' and STEEL_CODE = '"+qlty.getGrade_code()+"'"
- + " and to_char(THICK, 'fm990.099') = to_char('"+qlty.getThick()+"', 'fm990.099') and HEAT_NO = '"+qlty.getHeat_no()+"' "
- + " and DESIGN_KEY='"+qlty.getDesign_key()+"' and INSPECTION_LOT is not null and IMPROVE_MEMO is null";
- List<HashMap> ordbilletidJy = mapper.query(qcmrord.toString());
- if(ordbilletidJy!=null && ordbilletidJy.size()>=1){
- //拿检验号查 ZJ表中还有没有
- String zjbilletidJy = "select t.* from zj_result_all@xgcx t "
- + " where t.BILLETID_JY='"+ordbilletidJy.get(0).get("INSPECTION_LOT")+"' "
- + " and t.BILLETID like '"+qlty.getBatch_no()+"%' ";
- List<HashMap> billetidJy = mapper.query(zjbilletidJy.toString());
- //没有ord置成 3
- if(billetidJy==null || billetidJy.size()<=0){
- String xnDsql = " update QCM_JHY_SAMPLE_R_ORD set JUDGE_STATUS = '3' "
- + " where BATCH_NO = '"+qlty.getBatch_no()+"' and STEEL_CODE = '"+qlty.getGrade_code()+"'"
- + " and to_char(THICK, 'fm990.099') = to_char('"+qlty.getThick()+"', 'fm990.099') and HEAT_NO = '"+qlty.getHeat_no()+"' and DESIGN_KEY='"+qlty.getDesign_key()+"' and IMPROVE_MEMO is null";
- mapper.updateJudgeStatus(xnDsql.toString());
- }
- }
-
- String loksql = "select * from qcm_judge_locking t "
- + " where t.batch_no = '"+(String)qlty.getBatch_no()+"' and unlock_type_code is null ";
- List<HashMap> rs=mapper.query(loksql.toString());
- if(rs!=null && rs.size()>=1){
- String sql3= "update qcm_judge_locking t "
- + " set t.unlock_type_code = '17',t.unlock_type_desc = '性能改善',"
- + " t.unlock_name='sys',t.unlock_time =sysdate "
- + " where t.batch_no = '"+qlty.getBatch_no()+"' and t.LOCK_TYPE_CODE='P' and t.unlock_type_code is null";
- mapper.updateJudgeStatus(sql3.toString());
- }
- }
-
- }
- xngslog="1";
- }
- }
-
- }
-
- //判断是中厚板还是卷板 19非计划 39 49 59改判逻辑限制
- if("19".equals(getDesignKey19) && (qlty.getPline_code().equals("ZB1") || qlty.getPline_code().equals("HB1"))){
- //19订单块块取样
- if("19".equals(getDesignKey19) && getInspectionLot2.equals("0")&& (qlty.getPline_code().equals("ZB1") || qlty.getPline_code().equals("HB1"))){
- String memoname = "调用接口";
- if(memoRg2.equals("true1")){
- memoname = "人工委托";
- }
- String sqlInspection= "INSERT INTO QCM_JHY_ZHBINSPECTIONLOT (HEAT_NO,BATCH_NO,INSPECTION_LOT,PLINE_CODE,CREATE_NAME,DESIGN_KEY,ZJ_INSPECTION_LOT,STEEL_CODE,THICK,GRADE_CODE,PROCESS_CODE) "
- + " VALUES('"+(String)qlty.getHeat_no()+"','"+qlty.getBatch_no()+"','"+qlty.getInspection_lot()+"','"+qlty.getPline_code()+"',"
- + " '"+memoname+"','"+qlty.getDesign_key()+"','"+qlty.getInspection_lot()+"','"+lotSteelCode+"','"+lotThick+"','"+lotGradeCode+"','"+lotProcessCode+"') ";
- mapper.insert(sqlInspection);
-
- sqlInspection="";
- sqlInspection = "select t.* from qcm_jhy_sample_consign_d t,qcm_jhy_sample_r_ord r"
- + " where t.smp_no = r.smp_no "
- + " and t.material_no = '"+qlty.getMaterial_no()+"'"
- +" and r.design_key = '"+qlty.getDesign_key()+"' "
- +" and r.thick = '"+qlty.getThick()+"' "
- +" and r.steel_code = '"+qlty.getGrade_code()+"' "
- +" and t.batch_no = '"+qlty.getBatch_no()+"' ";
- List<HashMap> mnoHm=mapper.query(sqlInspection.toString());
- if(mnoHm!=null && mnoHm.size()>=1){
- return "";
- }
-
- String inspectionLots= "select max(to_number(substr(inspection_lot,-3))) INSPECTION_LOT from QCM_JHY_SAMPLE_CONSIGN_D t "
- + " where t.batch_no = '"+qlty.getBatch_no()+"' and t.pline_code = '"+qlty.getPline_code()+"' ";
- List<HashMap> lots=mapper.query(inspectionLots.toString());
- Integer val3=0;
- if(lots.get(0).get("INSPECTION_LOT")!=null && !"".equals(lots.get(0).get("INSPECTION_LOT"))){
- BigDecimal val = (BigDecimal) lots.get(0).get("INSPECTION_LOT");
- String val2 = val.toString();
- val3= Integer.parseInt(val2);
- }
- val3++;
- String lotval=qlty.getBatch_no()+ String.format("%04d", val3);
- getInspectionLot = lotval;
- qlty.setInspection_lot(getInspectionLot);//检验号
- getInspectionLot2 = "1";
- getInspectionLot19=getInspectionLot;
- sqlInspection="";
- sqlInspection= "INSERT INTO QCM_JHY_ZHBINSPECTIONLOT (HEAT_NO,BATCH_NO,INSPECTION_LOT,PLINE_CODE,CREATE_NAME,DESIGN_KEY,STEEL_CODE,THICK,GRADE_CODE,PROCESS_CODE) "
- + " VALUES('"+(String)qlty.getHeat_no()+"','"+qlty.getBatch_no()+"','"+qlty.getInspection_lot()+"','"+qlty.getPline_code()+"',"
- + " '"+memoname+"','"+qlty.getDesign_key()+"','"+lotSteelCode+"','"+lotThick+"','"+lotGradeCode+"','"+lotProcessCode+"') ";
- mapper.insert(sqlInspection);
-
- String sqlzj = "";
- sqlzj += " update zj_result_all@xgcx t set t.billetid_jy = '"+qlty.getInspection_lot()+"', "
- + " t.PHYSRESULT='0',t.PHYSRESULT_DESC='',t.PHYSID='' ";
- sqlzj += " where t.billetid='"+(String)qlty.getMaterial_no()+"' ";
- mapper.updateJudgeStatus(sqlzj.toString());
-
- //19合同换单 注意一下19会不会出现夹杂20230601
- sqlzj = "";
- sqlzj = " select r.DESIGN_KEY,t.* from QCM_JHY_SAMPLE_CONSIGN_D t,QCM_JHY_SAMPLE_R_ORD r "
- +" where t.smp_no = r.smp_no and t.MATERIAL_NO = '"+qlty.getMaterial_no()+"' and r.design_key like '19%' and r.judge_status <> '3' ";
- List<HashMap> hmdk=mapper.query(sqlzj.toString());
- if(hmdk!=null && hmdk.size()>=1){
- sqlzj = "";
- sqlzj += " update Qcm_Jhy_Sample_r_Ord t set t.JUDGE_STATUS='3',MEMO ='换单19' "
- + " where t.DESIGN_KEY='"+hmdk.get(0).get("DESIGN_KEY")+"'"
- + " and t.BATCH_NO='"+qlty.getBatch_no()+"' and t.SMP_NO = '"+hmdk.get(0).get("SMP_NO")+"' ";
- mapper.updateJudgeStatus(sqlzj.toString());
- }
- }
- if("19".equals(getDesignKey19) && getInspectionLot2.equals("1") && (qlty.getPline_code().equals("ZB1") || qlty.getPline_code().equals("HB1"))){
- qlty.setInspection_lot(getInspectionLot19);//检验号
- }
- }else if(("39".equals(getDesignKey19) || "49".equals(getDesignKey19) || "59".equals(getDesignKey19) )
- && (qlty.getPline_code().equals("RZ1") || qlty.getPline_code().equals("LT1"))){
- //卷板
- //39 49 59订单块块取样
- if(("39".equals(getDesignKey19) || "49".equals(getDesignKey19) || "59".equals(getDesignKey19) )
- && getInspectionLot2.equals("0")&& (qlty.getPline_code().equals("RZ1") || qlty.getPline_code().equals("LT1"))){
-
- String sqlInspection = "select t.* from qcm_jhy_sample_consign_d t,qcm_jhy_sample_r_ord r"
- + " where t.smp_no = r.smp_no "
- + " and t.material_no = '"+qlty.getMaterial_no()+"'"
- +" and r.design_key = '"+qlty.getDesign_key()+"' "
- +" and to_char(r.thick, 'fm990.099') = to_char('"+qlty.getThick()+"', 'fm990.099') "
- +" and r.steel_code = '"+qlty.getSteel_code()+"' "
- +" and t.batch_no = '"+qlty.getBatch_no()+"' ";
- List<HashMap> mnoHm=mapper.query(sqlInspection.toString());
- if(mnoHm!=null && mnoHm.size()>=1){
- return "";
- }
-
- String inspectionLots= "select max(to_number(substr(inspection_lot,-3))) INSPECTION_LOT from QCM_JHY_SAMPLE_CONSIGN_D t "
- + " where t.batch_no = '"+qlty.getBatch_no()+"' and t.pline_code = '"+qlty.getPline_code()+"' ";
- List<HashMap> lots=mapper.query(inspectionLots.toString());
- Integer val3=0;
- if(lots.get(0).get("INSPECTION_LOT")!=null && !"".equals(lots.get(0).get("INSPECTION_LOT"))){
- BigDecimal val = (BigDecimal) lots.get(0).get("INSPECTION_LOT");
- String val2 = val.toString();
- val3= Integer.parseInt(val2);
- }
- val3++;
- String lotval=qlty.getBatch_no().toString();
- if(qlty.getPline_code().equals("RZ1")){
- lotval=lotval+ String.format("%05d", val3);
- }else if(qlty.getPline_code().equals("LT1")){
- lotval=lotval+ String.format("%03d", val3);
- }
- getInspectionLot = lotval;
- qlty.setInspection_lot(getInspectionLot);//检验号
- getInspectionLot2 = "1";
- getInspectionLot19=getInspectionLot;
-
- String sqlrz="";
- if(qlty.getPline_code().equals("RZ1")){
- sqlrz=" update tbh02_coil_comm "
- + " set SAMPL_NO ='"+getInspectionLot+"' "
- + " where OLD_SAMPL_NO = '"+qlty.getMaterial_no()+"' ";
- mapper.updateJudgeStatus(sqlrz.toString());
- }else if(qlty.getPline_code().equals("LT1")){
- sqlrz=" update C_TBC02_COIL_COMM "
- + " set SMP_NO ='"+getInspectionLot+"' "
- + " where OLD_SAMPL_NO = '"+qlty.getMaterial_no()+"' ";
- mapper.updateJudgeStatus(sqlrz.toString());
- }
- sqlrz="";
- sqlrz=" update qcm_judge_coil_result "
- + " set SCAN_FLAG = 'Y',PHYSRESULT = '0',PHYSRESULT_DESC='待判', inspection_lot = '"+getInspectionLot+"' "
- + " where coil_no = '"+qlty.getMaterial_no()+"' ";
- mapper.updateJudgeStatus(sqlrz.toString());
- }
- if(("39".equals(getDesignKey19) || "49".equals(getDesignKey19) || "59".equals(getDesignKey19) )
- && getInspectionLot2.equals("1") && (qlty.getPline_code().equals("RZ1") || qlty.getPline_code().equals("LT1")) ){
- qlty.setInspection_lot(getInspectionLot19);//检验号
- }
-
- }
-
-
- //试样号 等于design_key+psc+认证机构cert_inst_code+试样类型smp_type_code INSPECTION_LOT检验号
- sqlucomm.setLength(0);
- if(qlty.getPline_code().equals("HB1") || qlty.getPline_code().equals("ZB1")){
- sqlucomm.append("select t.smp_no from QCM_JHY_SAMPLE_CONSIGN_M t inner join QCM_JHY_SAMPLE_R_ORD d on d.smp_no=t.smp_no ");
- sqlucomm.append(" inner join qcm_jhy_sample_consign_d n on n.smp_no = t.smp_no ");
- sqlucomm.append(" and n.FREQ_CODE='"+qlty.getFreq_code()+"' and d.design_key='"+qlty.getDesign_key()+"' ");
- sqlucomm.append(" and d.psc='"+qlty.getPsc()+"' and t.smp_catg='B' and t.cert_inst_code='"+qlty.getOrg_code()+"' and t.smp_type_code='"+qlty.getSample_style_code()+"' ");
- sqlucomm.append(" and t.INSPECTION_LOT='"+qlty.getInspection_lot()+"' and t.PLINE_CODE = '"+qlty.getPline_code()+"' "
- + " and to_char(d.thick, 'fm990.099') = to_char('"+qlty.getThick()+"', 'fm990.099') and n.smp_type_code = '0' order by t.smp_no asc ");
- }else{
- sqlucomm.append("select t.smp_no from QCM_JHY_SAMPLE_CONSIGN_M t inner join QCM_JHY_SAMPLE_R_ORD d on d.smp_no=t.smp_no and d.design_key='"+qlty.getDesign_key()+"'");
- sqlucomm.append(" and d.psc='"+qlty.getPsc()+"' and t.smp_catg='B' and t.cert_inst_code='"+qlty.getOrg_code()+"' and t.smp_type_code='"+qlty.getSample_style_code()+"' ");
- sqlucomm.append(" and t.INSPECTION_LOT='"+qlty.getInspection_lot()+"' and t.PLINE_CODE = '"+qlty.getPline_code()+"' "
- + " and to_char(d.thick, 'fm990.099') = to_char('"+qlty.getThick()+"', 'fm990.099') and d.inspection_lot is not null order by t.smp_no asc ");
- }
- logger.info("sql:"+sqlucomm.toString());
- List<HashMap> samples=mapper.query(sqlucomm.toString());
-
- String smp_no="";
-
- //如果已经不存在
- if (samples==null || samples.size()<1) {
-
- //生成试样信息主表 (检验委托主表) 22.07.28 新增 deleteSample 删除 (原因删除委托时有些数据没有删除干净)
- smp_no = createQltySamNo(qlty.getPline_code());
- if(qlty.getPline_code().equals("HB1") || qlty.getPline_code().equals("ZB1")
- || qlty.getPline_code().equals("RZ1") || qlty.getPline_code().equals("LT1") ){
- getSmpNO19 = smp_no;//19订单试样号
- getplineCode = qlty.getPline_code();
- }
-
- JhySampleMMdoel model=getSampleM(smp_no,qlty,"B");
- mapper.insertSampleM(model);
-
-
- //生成合同表
- JhySampleOrdMdoel ord=getSampleOrd(smp_no,qlty);
- mapper.insertSampleOrd(ord);
-
- //初样引用取样编号
- List<HashMap> quoteItems=null;
- //初样判定结果
- List<QcmJhyPhyresult> jhyResults=null;
-
- //判断是否存在引用 //I是为新增加22.07.27
- /*if (!"C".equals(qlty.getFreq_code()) && !"I".equals(qlty.getFreq_code()) && !"H".equals(qlty.getFreq_code())) {
- getQuoteItems(qlty,quoteItems,sqlucomm,jhyResults);
- }*/
-
- //卷板不按炉引用22.10.14
- QcmjhyResults = null;
- specimenNoDel = "";
- if(!qlty.getPline_code().equals("RZ1") && !qlty.getPline_code().equals("LT1")){
- if ("D".equals(qlty.getFreq_code()) ) {
- //getQuoteItems(qlty,quoteItems,sqlucomm,jhyResults);
- }
- }
-
- //生成试样信息明细表 (检验委托明细表)
- String specimen_no=createSpecimen_no(smp_no);
- phyItemSPNO.add(specimen_no);
- JhySampleDModel sampleD=getSampleD(smp_no,specimen_no,qlty);
- if("19".equals(getDesignKey19) ||
- "39".equals(getDesignKey19) || "49".equals(getDesignKey19) || "59".equals(getDesignKey19)){
- if(!"D".equals(qlty.getFreq_code())){
- getSpecimenNo19=specimen_no;//19取样编号
- }
- }
- specimenNoVHC=specimen_no;
-
- //生成材质项目表
- JhySampleDItemModel item=getSampleItem(smp_no,specimen_no,qlty);
-
- //卷板不按炉引用22.10.14
- if(!qlty.getPline_code().equals("RZ1") && !qlty.getPline_code().equals("LT1")){
- if (!"".equals(specimenNoDel)) {
- item.setQuote_specimen_no(specimenNoDel);
- BigDecimal seq=(BigDecimal)seqDel;
- item.setQuote_seq(seq.intValue());
- }
- }
-
- //引用相关信息
- //卷板不按炉引用22.10.14
- if(!qlty.getPline_code().equals("RZ1") && !qlty.getPline_code().equals("LT1")){
- if (!"".equals(specimenNoDel)) {
- sampleD.setQuote_consign_no(specimenNoDel);
- sampleD.setStatus("1");
- sampleD.setSend_id("引用发送");
- sampleD.setSend_name("引用发送");
- //sampleD.setSend_time(new Date());
- }
- }
- //卷板不按炉引用22.10.14
- if(!qlty.getPline_code().equals("RZ1") && !qlty.getPline_code().equals("LT1")){
- if (QcmjhyResults!=null && QcmjhyResults.size()>0) {
- sampleD.setStatus("3");
- sampleD.setSend_time(new Date());
- for (QcmJhyPhyresult result : QcmjhyResults) {
- result.setSpecimen_no(item.getSpecimen_no());
- result.setSeq(item.getSeq().longValue());
- result.setCreate_time(new Date());
- String deletePhyResults = " Delete From QCM_JHY_INSP_PHYSICS t where t.SPECIMEN_NO = '"+item.getSpecimen_no()+"' "
- + " and t.SEQ = '"+item.getSeq().longValue()+"' ";
- mapper.delete(deletePhyResults);
- mapper.insertPhyResults(result);
- }
- }
- }
- mapper.insertSampleD(sampleD);
- mapper.insertSampleItem(item);
-
- //夹杂引用插入P
- if (QcmjhyResults!=null && QcmjhyResults.size()>0) {
- if(StringUtils.isNotBlank(getSmpNO19)){
- String smpNoSql= "";
- smpNoSql= "INSERT INTO QCM_JUDGE_LOG ( JUDGE_TYPE,MATERIAL_NO,CREATE_TIME,CREATE_NAME,PROD_LINE) "
- + " VALUES( 'P', '"+getSmpNO19+"', SYSDATE,'system','"+getplineCode+"')";
- mapper.insert(smpNoSql);
- }
- }
- continue;
-
- }
-
-
- //获取已经存在的试样号,判断design_key+psc对应的订单信息是否存在
- smp_no=(String)samples.get(0).get("SMP_NO");
- //清空查询sql
- sqlucomm.setLength(0);
-
- //验证合同表是否存在
- sqlucomm.append("SELECT DESIGN_KEY, SMP_NO,PSC FROM QCM_JHY_SAMPLE_R_ORD WHERE SMP_NO='"+smp_no+"' ");
- sqlucomm.append("and DESIGN_KEY='"+qlty.getDesign_key()+"' ");
- sqlucomm.append("and PSC='"+qlty.getPsc()+"' and PLINE_CODE = '"+qlty.getPline_code()+"'");
- List<HashMap> samplesOrd=mapper.query(sqlucomm.toString());
-
-
- if (samplesOrd==null || samplesOrd.size()<1) {
- //生成合同表
- JhySampleOrdMdoel ord=getSampleOrd(smp_no,qlty);
- mapper.insertSampleOrd(ord);
- }
-
- //判断当前试样号向下该取样频次的明细是否存在
- sqlucomm.setLength(0);
-
- //取样编号
- String specimen_no=null;
- //判断是否是中厚板 qlty.getProcess_code()热处理标识
- if(qlty.getPline_code().equals("HB1") || qlty.getPline_code().equals("ZB1")){
- //防止同一订单的夹杂和力学取样频次一样 导致生成同一条委托
- if(StringUtils.isNotBlank(qlty.getProcess_code()) && (qlty.getProcess_code().equals("HB1") || qlty.getProcess_code().equals("ZB1") || qlty.getProcess_code().equals("HT1") )){
- if("D".equals(qlty.getFreq_code())){
- //H2380859 两个订单号PROCESS_CODE:一个ZB1 HB1 会多生成夹杂 加限制
- sqlucomm.append("SELECT SMP_NO,SPECIMEN_NO FROM QCM_JHY_SAMPLE_CONSIGN_D WHERE SMP_NO='"+smp_no+"' ");
- sqlucomm.append(" and FREQ_CODE='"+qlty.getFreq_code()+"' and SMP_LOCATION_CODE='"+qlty.getSmp_position_code()+"' and PLINE_CODE = '"+qlty.getPline_code()+"' ");
- }else{
- //取样频次代码 取样位置代码 如果不同就生成新的取样编号 也就是新的委托
- sqlucomm.append("SELECT SMP_NO,SPECIMEN_NO FROM QCM_JHY_SAMPLE_CONSIGN_D WHERE SMP_NO='"+smp_no+"' ");
- sqlucomm.append(" and FREQ_CODE='"+qlty.getFreq_code()+"' and SMP_LOCATION_CODE='"+qlty.getSmp_position_code()+"' and PLINE_CODE = '"+qlty.getPline_code()+"' ");
- sqlucomm.append(" and PROCESS_CODE = '"+qlty.getProcess_code()+"' ");
- }
- }else{
- sqlucomm.append("SELECT SMP_NO,SPECIMEN_NO FROM QCM_JHY_SAMPLE_CONSIGN_D WHERE SMP_NO='"+smp_no+"' ");
- sqlucomm.append("and FREQ_CODE='"+qlty.getFreq_code()+"' and SMP_LOCATION_CODE='"+qlty.getSmp_position_code()+"' and PLINE_CODE = '"+qlty.getPline_code()+"' ");
- }
-
- }else{
- //取样频次代码 取样位置代码 如果不同就生成新的取样编号 也就是新的委托
- sqlucomm.append("SELECT SMP_NO,SPECIMEN_NO FROM QCM_JHY_SAMPLE_CONSIGN_D WHERE SMP_NO='"+smp_no+"' ");
- sqlucomm.append("and FREQ_CODE='"+qlty.getFreq_code()+"' and SMP_LOCATION_CODE='"+qlty.getSmp_position_code()+"' and PLINE_CODE = '"+qlty.getPline_code()+"' ");
- }
-
-
- List<HashMap> samplesD=mapper.query(sqlucomm.toString());
- if (samplesD==null || samplesD.size()<1) {
- //判断是否存在引用
- List<HashMap> quoteItems=null;
- List<QcmJhyPhyresult> jhyResults=null;
-
- //判断是否存在引用
- //卷板不按炉引用22.10.14
- QcmjhyResults = null;
- specimenNoDel = "";
- if(!qlty.getPline_code().equals("RZ1") && !qlty.getPline_code().equals("LT1")){
- if ("D".equals(qlty.getFreq_code()) ) {
- //getQuoteItems(qlty,quoteItems,sqlucomm,jhyResults);
- }
- }
-
- //生成试样信息明细表
- specimen_no=createSpecimen_no(smp_no);
- phyItemSPNO.add(specimen_no);
- JhySampleDModel sampleD=getSampleD(smp_no,specimen_no,qlty);
- specimenNoVHC=specimen_no;
-
-
- //生成材质项目表
- JhySampleDItemModel item=getSampleItem(smp_no,specimen_no,qlty);
-
- //卷板不按炉引用22.10.14
- if(!qlty.getPline_code().equals("RZ1") && !qlty.getPline_code().equals("LT1")){
- if (!"".equals(specimenNoDel)) {
- item.setQuote_specimen_no(specimenNoDel);
- BigDecimal seq=(BigDecimal)seqDel;
- item.setQuote_seq(seq.intValue());
- }
- }
- //引用相关信息
- //卷板不按炉引用22.10.14
- if(!qlty.getPline_code().equals("RZ1") && !qlty.getPline_code().equals("LT1")){
- if (!"".equals(specimenNoDel)) {
- sampleD.setQuote_consign_no(specimenNoDel);
- sampleD.setStatus("1");
- sampleD.setSend_id("引用发送");
- sampleD.setSend_name("引用发送");
- //sampleD.setSend_time(new Date());
- if(qlty.getPline_code().equals("HB1") || qlty.getPline_code().equals("ZB1")
- || qlty.getPline_code().equals("RZ1") || qlty.getPline_code().equals("LT1") ){
- getSmpNO19 = smp_no;//试样号
- getplineCode = qlty.getPline_code();
- }
- }
- }
-
- //卷板不按炉引用22.10.14
- if(!qlty.getPline_code().equals("RZ1") && !qlty.getPline_code().equals("LT1")){
- if (QcmjhyResults!=null && QcmjhyResults.size()>0) {
- sampleD.setStatus("3");
- sampleD.setSend_time(new Date());
- for (QcmJhyPhyresult result : QcmjhyResults) {
- result.setSpecimen_no(item.getSpecimen_no());
- result.setSeq(item.getSeq().longValue());
- result.setCreate_time(new Date());
- String deletePhyResults = " Delete From QCM_JHY_INSP_PHYSICS t where t.SPECIMEN_NO = '"+item.getSpecimen_no()+"' "
- + " and t.SEQ = '"+item.getSeq().longValue()+"' ";
- mapper.delete(deletePhyResults);
- mapper.insertPhyResults(result);
- }
- }
- }
- mapper.insertSampleD(sampleD);
- mapper.insertSampleItem(item);
- continue;
- }
-
- //判断当前项目是否存在
- specimen_no=(String)samplesD.get(0).get("SPECIMEN_NO");
- phyItemSPNO.add(specimen_no);
- specimenNoVHC=specimen_no;
- sqlucomm.setLength(0);
-
-
- sqlucomm.append("SELECT SPECIMEN_NO,SMP_NO,SEQ FROM QCM_JHY_SAMPLE_CONSIGN_D_ITEM WHERE SPECIMEN_NO='"+specimen_no+"' and SMP_NO='"+smp_no+"' ");
- if (qlty.getPhy_code_l()!=null) {
- sqlucomm.append("and PHY_CODE_L ='"+qlty.getPhy_code_l()+"' ");
- }
- if (qlty.getPhy_code_m()!=null) {
- sqlucomm.append("and PHY_CODE_M='"+qlty.getPhy_code_m()+"' ");
-
- }
- if (qlty.getPhy_code_s()!=null) {
- sqlucomm.append("and PHY_CODE_S='"+qlty.getPhy_code_s()+"' ");
- }
- if (qlty.getItem_code_d()!=null) {
- sqlucomm.append("and ITEM_CODE_D='"+qlty.getItem_code_d()+"' ");
- }
- if (qlty.getItem_code_t()!=null) {
- sqlucomm.append("and ITEM_CODE_T='"+qlty.getItem_code_t()+"' ");
- }
- if (qlty.getItem_code_s()!=null) {
- sqlucomm.append("and ITEM_CODE_S='"+qlty.getItem_code_s()+"' ");
- }
- List<HashMap> samplesItems=mapper.query(sqlucomm.toString());
- if (samplesItems!=null && samplesItems.size()>0) {
- continue;
- }
-
- //生成项目
- //生成材质项目表
-
- //判断是否存在引用
- List<HashMap> quoteItems=null;
- List<QcmJhyPhyresult> jhyResults=null;
-
-
- //卷板不按炉引用22.10.14
- QcmjhyResults = null;
- specimenNoDel = "";
- if(!qlty.getPline_code().equals("RZ1") && !qlty.getPline_code().equals("LT1")){
- if ("D".equals(qlty.getFreq_code()) ) {
- //getQuoteItems(qlty,quoteItems,sqlucomm,jhyResults);
- }
- }
- JhySampleDItemModel item=getSampleItem(smp_no,specimen_no,qlty);
-
- //卷板不按炉引用22.10.14
- if(!qlty.getPline_code().equals("RZ1") && !qlty.getPline_code().equals("LT1")){
- if (!"".equals(specimenNoDel)) {
- BigDecimal seq=(BigDecimal)seqDel;
- item.setQuote_specimen_no(specimenNoDel);
- item.setQuote_seq(seq.intValue());
- }
- }
-
- //卷板不按炉引用22.10.14
- if(!qlty.getPline_code().equals("RZ1") && !qlty.getPline_code().equals("LT1")){
- if (QcmjhyResults!=null && QcmjhyResults.size()>0) {
- for (QcmJhyPhyresult result : QcmjhyResults) {
- result.setSpecimen_no(item.getSpecimen_no());
- result.setSeq(item.getSeq().longValue());
- result.setCreate_time(new Date());
- String deletePhyResults = " Delete From QCM_JHY_INSP_PHYSICS t where t.SPECIMEN_NO = '"+item.getSpecimen_no()+"' "
- + " and t.SEQ = '"+item.getSeq().longValue()+"' ";
- mapper.delete(deletePhyResults);
- mapper.insertPhyResults(result);
- }
- }
- }
- mapper.insertSampleItem(item);
-
- }
-
- return "";
- }
-
- //删除多余项目螺纹钢
- private void delDy(List<JhyQltyModel> qltys){
- StringBuffer sqlucomm = new StringBuffer();
- String DesignKey ="";//订单号
- String batchNo = "";//轧批号
- String heatNo = "";//炉号
- String inspectionLot = "";//检验号
- int times =0;//生成几个委托
- for (JhyQltyModel qlty : qltys) {
- DesignKey = qlty.getDesign_key();
- batchNo = qlty.getBatch_no();
- heatNo = qlty.getHeat_no();
- inspectionLot = qlty.getInspection_lot();
- times = qlty.getTimes();
- break;
- }
- sqlucomm.setLength(0);
- sqlucomm.append(" select t.SMP_NO from QCM_JHY_SAMPLE_R_ORD t where t.design_key = '"+DesignKey+"' ");
- sqlucomm.append(" and t.batch_no = '"+batchNo+"' and t.heat_no = '"+heatNo+"' and t.inspection_lot = '"+inspectionLot+"' ");
- List<HashMap> smpNos=mapper.query(sqlucomm.toString());
-
-
- //删除多余的项目明细
- int timesnum = times;//生成几个委托
- int js=0;//第几个委托
- //循环委托
- for(int i = 0;i< timesnum;i++){
- ++js;//第几个委托
- // try {
- //获取当前委托中的项目 phy_code_l材质检验大项代码 phy_code_m试样组代码 PHY_CODE_S材质检验项代码
- sqlucomm.setLength(0);
- sqlucomm.append(" select distinct t.SPECIMEN_NO,t.SMP_NO,t.PHY_CODE_L,t.PHY_CODE_M, ");
- sqlucomm.append(" t.ITEM_CODE_D,t.ITEM_CODE_T,t.ITEM_CODE_S,t.PHY_NAME_M");
- sqlucomm.append(" from qcm_jhy_sample_consign_d_item t ");
- sqlucomm.append(" where t.smp_no = '"+smpNos.get(i).get("SMP_NO")+"' ");
- List<HashMap> seqli=mapper.query(sqlucomm.toString());
-
- //获取金恒那边下过来的项目 质量设计-试样信息主表 查到实验次数
- sqlucomm.setLength(0);
- sqlucomm.append(" select T.SMP_COUNT,t.PHY_CODE_L,t.PHY_CODE_M, ");
- sqlucomm.append(" t.ITEM_CODE_D,t.ITEM_CODE_T,t.ITEM_CODE_S,t.PHY_NAME_M");
- sqlucomm.append(" from QCM_ORD_DESIGN_STD_PIC_SMP t ");
- sqlucomm.append(" where t.design_key = '"+DesignKey+"' and t.specl_fl !='1' and t.specl_fl != '2' ");
- List<HashMap> seqlist=mapper.query(sqlucomm.toString());
-
- List<listItem> qmnum = new ArrayList<listItem>();//用来装一个委托中的项目
-
- StringBuffer sqlucomm1 = new StringBuffer();
- //判断当前这个委托的项目
- if (seqli!=null || seqli.size()>0) {
- //获取当前这个委托项目
- for (HashMap list : seqli) {
- String phyCodeL = (String) list.get("PHY_CODE_L");//材质检验大项代码
- String phyCodeM = (String) list.get("PHY_CODE_M");//试样组代码
- String itemCodeD = (String) list.get("ITEM_CODE_D");//试验方向代码
- String itemCodeT = (String) list.get("ITEM_CODE_T");//试验温度代码
- String itemCodeS = (String) list.get("ITEM_CODE_S");//试样尺寸代码
- String phyNameM = (String) list.get("PHY_NAME_M");
-
- String newItem=phyCodeL+"-"+phyCodeM;
- newItem=newItem+"-"+(itemCodeD!=null?itemCodeD:"null");
- newItem=newItem+"-"+(itemCodeT!=null?itemCodeT:"null");
- newItem=newItem+"-"+(itemCodeS!=null?itemCodeS:"null");
- newItem=newItem+"-"+(phyNameM!=null?phyNameM:"null");
-
-
- //如果qmnum中已有项目 判断该项目是否重复 重复删除
- //判断留下的项目会放在qmnum中
- int qmnumtf = 0;//0不删除 1删除
- for (int j = 0; j < qmnum.size(); j++) {
- listItem lis = qmnum.get(j);
- String phyCodeLV = (String) lis.getPHY_CODE_L();//材质检验大项代码
- String phyCodeMV = (String) lis.getPHY_CODE_M();//试样组代码
- String itemCodeDV = (String) lis.getITEM_CODE_D();//试验方向代码
- String itemCodeTV = (String) lis.getITEM_CODE_T();//试验温度代码
- String itemCodeSV = (String) lis.getITEM_CODE_S();//试样尺寸代码
- String phyNameMV = (String) lis.getPHY_NAME_M();//
-
- String newItem2=phyCodeLV+"-"+phyCodeMV;
- newItem2=newItem2+"-"+(itemCodeDV!=null?itemCodeDV:"null");
- newItem2=newItem2+"-"+(itemCodeTV!=null?itemCodeTV:"null");
- newItem2=newItem2+"-"+(itemCodeSV!=null?itemCodeSV:"null");
- newItem2=newItem2+"-"+(phyNameMV!=null?phyNameMV:"null");
- //判断全部相同 删除 因为这个委托中已经有该项目了
- if(newItem.equals(newItem2)){
- qmnumtf = 1;
- break;
- }
- }
-
- //传过来的次数 例如:拉伸 4次 弯曲2次 反弯1次
- //拿当前的委托的项目一次次和 金恒下过来的项目对比
- if (seqlist!=null || seqlist.size()>0) {
- for (HashMap li : seqlist) {
- String phyCodeL2 = (String) li.get("PHY_CODE_L");//材质检验大项代码
- String phyCodeM2 = (String) li.get("PHY_CODE_M");//试样组代码
- String itemCodeD2 = (String) li.get("ITEM_CODE_D");//试验方向代码
- String itemCodeT2 = (String) li.get("ITEM_CODE_T");//试验温度代码
- String itemCodeS2 = (String) li.get("ITEM_CODE_S");//试样尺寸代码
- String phyNameM2 = (String) li.get("PHY_NAME_M");
-
- String newItem3=phyCodeL2+"-"+phyCodeM2;
- newItem3=newItem3+"-"+(itemCodeD2!=null?itemCodeD2:"null");
- newItem3=newItem3+"-"+(itemCodeT2!=null?itemCodeT2:"null");
- newItem3=newItem3+"-"+(itemCodeS2!=null?itemCodeS2:"null");
- newItem3=newItem3+"-"+(phyNameM2!=null?phyNameM2:"null");
-
- BigDecimal smpCount = (BigDecimal) li.get("SMP_COUNT");//次数
- int smpCount2 = smpCount.intValue();
- //如果委托等于3个委托 说明要加一组 拉伸和弯曲
- if(timesnum == 3 && (phyNameM2.equals("常温拉伸") || phyNameM2.contains("冷弯"))){
- smpCount2 = smpCount2 + 1;
- }
- if(timesnum == 4 && (phyNameM2.equals("常温拉伸") || phyNameM2.contains("冷弯"))){
- smpCount2 = smpCount2 + 2;
- }
- //删除多余项目 删除项目必须满足 当前委托中已有该项目 或者 次数减去委托数少于0的
- if(newItem.equals(newItem3) &&
- (((smpCount2 - js) < 0) || qmnumtf == 1 ) ){
- sqlucomm1.setLength(0);
- sqlucomm1.append("Delete From qcm_jhy_sample_consign_d_item t ");
- sqlucomm1.append(" where t.smp_no = '"+smpNos.get(i).get("SMP_NO")+"' ");
- sqlucomm1.append(" and t.PHY_NAME_M = '"+phyNameM+"' ");
- mapper.delete(sqlucomm1.toString());
- System.out.println("第"+js+"委托:删除试样号:"+smpNos.get(i).get("SMP_NO")+"试样组描述:"+phyNameM);
- break;
- }else{
- //判断当前委托项目该不该删除 如果qmnum还没有委托项目 说这是第一个项目不用删除
-
- listItem em = new listItem();
- em.setPHY_CODE_L(phyCodeL);
- em.setPHY_CODE_M(phyCodeM);
- em.setITEM_CODE_D(itemCodeD);
- em.setITEM_CODE_T(itemCodeT);
- em.setITEM_CODE_S(itemCodeS);
- em.setPHY_NAME_M(phyNameM);
- qmnum.add(em);
-
- }
-
- }
- }
- //
-
-
-
-
- }
- }
-
- //} catch (SQLException e) {
- //}
-
- }
- }
-
-
- private void getQuoteItems(JhyQltyModel qlty, List<HashMap> quoteItems, StringBuffer sqlucomm, List<QcmJhyPhyresult> jhyResults) {
- // TODO Auto-generated method stub
- String heatNoDHJ = qlty.getHeat_no().substring(0, 9);//一共10位 截取9位 最后一位字母不要
- String strPlineCodeDHJ = "";
- if(!qlty.getPline_code().equals("ZB1") && !qlty.getPline_code().equals("HB1") ){
- strPlineCodeDHJ = " and t.pline_code = '"+qlty.getPline_code()+"' ";
- }else{
- strPlineCodeDHJ = " and t.pline_code in ('ZB1','HB1') ";
- }
- String sqlDHJ=" SELECT * FROM QCM_JHY_SAMPLE_CONSIGN_D T WHERE t.heat_no like '"+heatNoDHJ+"%' AND T.FREQ_CODE = 'D' AND T.STATUS <> '0' "
- + strPlineCodeDHJ;
- List<HashMap> hmDHJ = mapper.query(sqlDHJ.toString());
- if(hmDHJ!=null && hmDHJ.size()>=1){
- //当前炉号已经有夹杂下发把LIMS可以直接引用
- sqlucomm.setLength(0);
- if ("D".equals(qlty.getFreq_code())) {
- String heatNo = qlty.getHeat_no().substring(0, 9);//一共10位 截取9位 最后一位字母不要
- String strPlineCode = "";
- if(!qlty.getPline_code().equals("ZB1") && !qlty.getPline_code().equals("HB1") ){
- strPlineCode = " and t.pline_code = '"+qlty.getPline_code()+"' ";
- }else{
- strPlineCode = " and t.pline_code in ('ZB1','HB1') ";
- }
- //按炉取样 and nvl(i.phy_code_s,'null') <> 'J10'
- String tcode = "0";
- String sNOsql ="";
- sNOsql ="select * from QCM_JHY_SAMPLE_CONSIGN_D t,qcm_jhy_sample_consign_d_item i"
- + " where t.specimen_no = i.specimen_no and t.heat_no like '"+heatNo+"%' and t.smp_type_code = '1' "
- + " and (t.QUOTE_CONSIGN_NO is null or t.QUOTE_CONSIGN_NO='') "
- + " and t.freq_code = 'D' "
- + strPlineCode;
- List<HashMap> hmCnum0 = mapper.query(sNOsql.toString());
- if(hmCnum0 != null && hmCnum0.size() >= 1){//判断是否有复样
- tcode = "1";
- }
- //and nvl(i.phy_code_s,'null') <> 'J10'
- sNOsql ="";
- sNOsql = "select t.specimen_no,i.phy_code_s from QCM_JHY_SAMPLE_CONSIGN_D t,qcm_jhy_sample_consign_d_item i "
- + " where t.specimen_no = i.specimen_no and t.HEAT_NO like '"+heatNo+"%' "
- + " and (t.QUOTE_CONSIGN_NO is null or t.QUOTE_CONSIGN_NO='') "
- + " and t.smp_type_code='"+tcode+"' and t.freq_code = 'D' "
- + strPlineCode
- + " and rownum = 1 ";
- List<HashMap> hmCnum = mapper.query(sNOsql.toString());
-
- String specimenNoD ="";
- if (hmCnum !=null && hmCnum.size() >=1 ) {//判断该炉号是否复样
- specimenNoD = (String)hmCnum.get(0).get("SPECIMEN_NO");
- }
- //and d.pline_code = '"+qlty.getPline_code()+"'
- sqlucomm.append("select i.* from QCM_JHY_SAMPLE_R_ORD t inner join QCM_JHY_SAMPLE_CONSIGN_D d "
- + " on t.smp_no=d.smp_no "
- + " and (d.QUOTE_CONSIGN_NO is null or d.QUOTE_CONSIGN_NO='') and d.smp_type_code='"+tcode+"' "
- + " and t.HEAT_NO like '"+heatNo+"%' ");
- if(specimenNoD != null && specimenNoD != "" && !"".equals(specimenNoD)){
- sqlucomm.append(" and d.specimen_no = '"+specimenNoD+"' ");
- }
- sqlucomm.append(" inner join QCM_JHY_SAMPLE_CONSIGN_M m on m.smp_no=t.smp_no and m.smp_catg='B' ");
- }else if ("A".equals(qlty.getFreq_code())) {
- //按批取样
-
- sqlucomm.append("select i.* from QCM_JHY_SAMPLE_R_ORD t inner join QCM_JHY_SAMPLE_CONSIGN_D d "
- + " on t.smp_no=d.smp_no and t.design_key='"+qlty.getDesign_key()+"' and t.psc='"+qlty.getPsc()+"' "
- + " and d.freq_code='"+qlty.getFreq_code()+"' and t.cert_inst_code='"+qlty.getOrg_code()+"' "
- + " and t.smp_type_code='"+qlty.getSample_style_code()+"' and d.smp_location_code='"+qlty.getSmp_position_code()+"' "
- + " and (d.QUOTE_CONSIGN_NO is null or d.QUOTE_CONSIGN_NO='') and d.smp_type_code='0' and t.batch_no='"+qlty.getBatch_no()+"' "
- + " inner join QCM_JHY_SAMPLE_CONSIGN_M m on m.smp_no=t.smp_no and m.smp_catg='B' ");
-
- }else{
- //按母板取样
- sqlucomm.append("select i.* from QCM_JHY_SAMPLE_R_ORD t inner join QCM_JHY_SAMPLE_CONSIGN_D d "
- + " on t.smp_no=d.smp_no and t.design_key='"+qlty.getDesign_key()+"' and t.psc='"+qlty.getPsc()+"' "
- + " and d.freq_code='"+qlty.getFreq_code()+"' and t.cert_inst_code='"+qlty.getOrg_code()+"' "
- + " and t.smp_type_code='"+qlty.getSample_style_code()+"' and d.smp_location_code='"+qlty.getSmp_position_code()+"' "
- + " and (d.QUOTE_CONSIGN_NO is null or d.QUOTE_CONSIGN_NO='') and d.smp_type_code='0' and d.BOARD_NO='"+qlty.getBoard_no()+"' "
- + " inner join QCM_JHY_SAMPLE_CONSIGN_M m on m.smp_no=t.smp_no and m.smp_catg='B' ");
- }
- sqlucomm.append("inner join QCM_JHY_SAMPLE_CONSIGN_D_ITEM i on i.smp_no=d.smp_no and i.specimen_no=d.specimen_no "
- + " and i.seq < 50 and i.phy_code_l='"+qlty.getPhy_code_l()+"' and i.phy_code_m='"+qlty.getPhy_code_m()+"' and i.phy_code_s='"+qlty.getPhy_code_s()+"'");
- if (qlty.getItem_code_d()!=null) {
- sqlucomm.append(" and i.ITEM_CODE_D='"+qlty.getItem_code_d()+"'");
- }
- if (qlty.getItem_code_t()!=null) {
- sqlucomm.append( " and i.ITEM_CODE_T='"+qlty.getItem_code_t()+"'");
- }
- if (qlty.getItem_code_s()!=null) {
- sqlucomm.append(" and i.ITEM_CODE_S='"+qlty.getItem_code_s()+"'");
- }
-
- quoteItems=mapper.query(sqlucomm.toString());
- if (quoteItems!=null && quoteItems.size()>0) {
- specimenNoDel=(String)quoteItems.get(0).get("SPECIMEN_NO");//取样编号
- seqDel = (BigDecimal)quoteItems.get(0).get("SEQ");//序号
- sqlucomm.setLength(0);
- sqlucomm.append("select i.* from QCM_JHY_INSP_PHYSICS i where i.specimen_no='"+quoteItems.get(0).get("SPECIMEN_NO")+"'");
- sqlucomm.append("and i.phy_code_l='"+qlty.getPhy_code_l()+"' and i.phy_code_m='"+qlty.getPhy_code_m()+"' and i.phy_code_s='"+qlty.getPhy_code_s()+"' ");
- if (qlty.getItem_code_d()!=null) {
- sqlucomm.append(" and i.ITEM_CODE_D='"+qlty.getItem_code_d()+"'");
- }
- if (qlty.getItem_code_t()!=null) {
- sqlucomm.append( " and i.ITEM_CODE_T='"+qlty.getItem_code_t()+"'");
- }
- if (qlty.getItem_code_s()!=null) {
- sqlucomm.append(" and i.ITEM_CODE_S='"+qlty.getItem_code_s()+"'");
- }
- sqlucomm.append(" and i.seq <= 49");
- jhyResults=mapper.queryQcmJhyPhyresult1(sqlucomm.toString());
- QcmjhyResults = null;
- QcmjhyResults = jhyResults;//材质检验结果实绩
- }
- }
- }
- private void createQuoteItem(String smp_no, JhyQltyModel qlty) throws Exception {
- // TODO Auto-generated method stub
- //生成试样信息明细表 (检验委托明细表)
-
-
- List<QcmJhyPhyresult> tarResults=new ArrayList<QcmJhyPhyresult>();
- for (JhyQuoteModel old_sample : qlty.getQuoteSpecLists()) {
- String key=old_sample.getType_code()+"-"+old_sample.getSpecimen_no();
-
- //List<JhySampleDItemModel> tarItems=new ArrayList<JhySampleDItemModel>();
-
- //检验结果
-
- //处理初样
- if ("0".equals(old_sample)) {
-
- String specimen_no=createSpecimen_no(smp_no);
- JhySampleDModel sampleD=getSampleD(smp_no,specimen_no,qlty);
- sampleD.setQuote_consign_no(old_sample.getSpecimen_no());
- JhySampleDItemModel item=getSampleItem(smp_no,specimen_no,qlty);
-
-
-
- //获取待引用的该项目 qlty.getQuoteItem().get(key);
- List<QcmJhySampleConsignDItem> quoteItems= qlty.getQuoteItem().get(key);
- if (quoteItems!=null && quoteItems.size()>0) {
- for (QcmJhySampleConsignDItem quote : quoteItems) {
- if (qlty.getPhy_group_code().equals(quote.getPhy_group_code())) {
-
- item.setQuote_seq(quote.getSeq().intValue());
- item.setQuote_specimen_no(quote.getSpecimen_no());
-
-
- if (qlty.getJhyResults()==null) {
- continue;
- }
- List<QCM.JHY01.VO.QcmJhyPhyresult> reaults=qlty.getJhyResults().get(key);
- if (reaults==null || reaults.size()<1) {
- continue;
- }
-
- for (QcmJhyPhyresult qcmJhyPhyresult : reaults) {
- String newItem=qcmJhyPhyresult.getPhy_code_l()+"-"+qcmJhyPhyresult.getPhy_code_m()+"-"+qcmJhyPhyresult.getPhy_code_s();
- newItem=newItem+"-"+qcmJhyPhyresult.getItem_code_d()!=null?qcmJhyPhyresult.getItem_code_d():"null";
- newItem=newItem+"-"+qcmJhyPhyresult.getItem_code_t()!=null?qcmJhyPhyresult.getItem_code_t():"null";
- newItem=newItem+"-"+qcmJhyPhyresult.getItem_code_s()!=null?qcmJhyPhyresult.getItem_code_s():"null";
- if (newItem.equals(qlty.getPhy_group_code())) {
- qcmJhyPhyresult.setSpecimen_no(item.getSpecimen_no());
- qcmJhyPhyresult.setSeq(item.getSeq().longValue());
- tarResults.add(qcmJhyPhyresult);
-
- }
- }
-
- break;
-
- }
-
- }
- }
-
-
- mapper.insertSampleD(sampleD);
- mapper.insertSampleItem(item);
-
- continue;
- }
-
-
-
-
-
-
- }
-
- }
- private void createSpecialQtlySample(JhyQltyModel qlty, String jsonStrng, StringBuffer sqlucomm) throws Exception {
- // TODO Auto-generated method stub
- sqlucomm.setLength(0);
- sqlucomm.append("select t.smp_no from QCM_JHY_SAMPLE_CONSIGN_M t inner join QCM_JHY_SAMPLE_R_ORD d on d.smp_no=t.smp_no and d.design_key='"+qlty.getDesign_key()+"'");
- sqlucomm.append(" and d.psc='"+qlty.getPsc()+"' and t.smp_catg='B' and t.cert_inst_code='"+qlty.getOrg_code()+"' and t.smp_type_code='"+qlty.getSample_style_code()+"' ");
- sqlucomm.append(" and t.INSPECTION_LOT='"+qlty.getInspection_lot()+"' ");
- logger.info("sql:"+sqlucomm.toString());
-
-
- List<HashMap> samples=mapper.query(sqlucomm.toString());
-
- String smp_no="";
- List<String> smpNo = new ArrayList<String>();//试样号
- List<String> specimenNo = new ArrayList<String>();//取样编号
-
-
- //如果已经不存在
- if (samples==null || samples.size()<1) {
- //生成试样信息主表 (检验委托主表)
-
- for (int i = 0; i < qlty.getTimes(); i++) {
- smp_no = createQltySamNo(qlty.getPline_code());
- //smpNo.add(smp_no);
- JhySampleMMdoel model=getSampleM(smp_no,qlty,"B");
- mapper.insertSampleM(model);
- //生成试样信息明细表 (检验委托明细表)
- String specimen_no=createSpecimen_no(smp_no);
- //specimenNo.add(specimen_no);
- phyItemSPNO.add(specimen_no);
- JhySampleDModel sampleD=getSampleD(smp_no,specimen_no,qlty);
- mapper.insertSampleD(sampleD);
-
-
- //生成合同表
- JhySampleOrdMdoel ord=getSampleOrd(smp_no,qlty);
- mapper.insertSampleOrd(ord);
-
-
- //生成材质项目表
- JhySampleDItemModel item=getSampleItem(smp_no,specimen_no,qlty);
- mapper.insertSampleItem(item);
- }
-
-
-
- }
-
- for (int i = 0; i < samples.size(); i++) {
- //获取已经存在的试样号,判断design_key+psc对应的订单信息是否存在
- smp_no=(String)samples.get(i).get("SMP_NO");
- //smpNo.add(smp_no);
- //清空查询sql
- sqlucomm.setLength(0);
-
- //验证合同表是否存在
- sqlucomm.append("SELECT DESIGN_KEY, SMP_NO,PSC FROM QCM_JHY_SAMPLE_R_ORD WHERE SMP_NO='"+smp_no+"' ");
- sqlucomm.append("and DESIGN_KEY='"+qlty.getDesign_key()+"' ");
- sqlucomm.append("and PSC='"+qlty.getPsc()+"'");
- List<HashMap> samplesOrd=mapper.query(sqlucomm.toString());
-
-
- if (samplesOrd==null || samplesOrd.size()<1) {
- //生成合同表
- JhySampleOrdMdoel ord=getSampleOrd(smp_no,qlty);
- mapper.insertSampleOrd(ord);
- }
-
-
- //判断当前试样号向下该取样频次的明细是否存在
- sqlucomm.setLength(0);
-
- //取样编号
- String specimen_no=null;
-
- // sqlucomm.append("SELECT SMP_NO,SPECIMEN_NO FROM QCM_JHY_SAMPLE_CONSIGN_D WHERE SMP_NO='"+smp_no+"' ");
- // sqlucomm.append("and FREQ_CODE='"+qlty.getFreq_code()+"' ");
- //
- sqlucomm.append("SELECT SMP_NO,SPECIMEN_NO FROM QCM_JHY_SAMPLE_CONSIGN_D WHERE SMP_NO='"+smp_no+"' ");
- sqlucomm.append("and FREQ_CODE='"+qlty.getFreq_code()+"' and SMP_LOCATION_CODE='"+qlty.getSmp_position_code()+"'");
-
-
-
- List<HashMap> samplesD=mapper.query(sqlucomm.toString());
- if (samplesD==null || samplesD.size()<1) {
- //生成试样信息明细表
- specimen_no=createSpecimen_no(smp_no);
- phyItemSPNO.add(specimen_no);
- //specimenNo.add(specimen_no);
- JhySampleDModel sampleD=getSampleD(smp_no,specimen_no,qlty);
- mapper.insertSampleD(sampleD);
-
- //生成材质项目表
- JhySampleDItemModel item=getSampleItem(smp_no,specimen_no,qlty);
- mapper.insertSampleItem(item);
-
-
- continue;
- }
-
- //判断当前项目是否存在
- specimen_no=(String)samplesD.get(0).get("SPECIMEN_NO");
- phyItemSPNO.add(specimen_no);
- //specimenNo.add(specimen_no);
- sqlucomm.setLength(0);
-
-
- sqlucomm.append("SELECT SPECIMEN_NO,SMP_NO,SEQ FROM QCM_JHY_SAMPLE_CONSIGN_D_ITEM WHERE SPECIMEN_NO='"+specimen_no+"' and SMP_NO='"+smp_no+"' ");
- if (qlty.getPhy_code_l()!=null) {
- sqlucomm.append("and PHY_CODE_L ='"+qlty.getPhy_code_l()+"' ");
- }
- if (qlty.getPhy_code_m()!=null) {
- sqlucomm.append("and PHY_CODE_M='"+qlty.getPhy_code_m()+"' ");
-
- }
- if (qlty.getPhy_code_s()!=null) {
- sqlucomm.append("and PHY_CODE_S='"+qlty.getPhy_code_s()+"' ");
- }
- if (qlty.getItem_code_d()!=null) {
- sqlucomm.append("and ITEM_CODE_D='"+qlty.getItem_code_d()+"' ");
- }
- if (qlty.getItem_code_t()!=null) {
- sqlucomm.append("and ITEM_CODE_T='"+qlty.getItem_code_t()+"' ");
- }
- if (qlty.getItem_code_s()!=null) {
- sqlucomm.append("and ITEM_CODE_S='"+qlty.getItem_code_s()+"' ");
- }
- List<HashMap> samplesItems=mapper.query(sqlucomm.toString());
- if (samplesItems!=null && samplesItems.size()>0) {
- continue;
- }
-
- //生成项目
- //生成材质项目表
- JhySampleDItemModel item=getSampleItem(smp_no,specimen_no,qlty);
- mapper.insertSampleItem(item);
- }
-
-
- }
- private void createSpecialQtlySampleNew(JhyQltyModel qlty, String jsonStrng, StringBuffer sqlucomm) throws Exception {
- // TODO Auto-generated method stub
- sqlucomm.setLength(0);
- sqlucomm.append("select t.smp_no from QCM_JHY_SAMPLE_CONSIGN_M t inner join QCM_JHY_SAMPLE_R_ORD d on d.smp_no=t.smp_no and d.design_key='"+qlty.getDesign_key()+"'");
- sqlucomm.append(" and d.psc='"+qlty.getPsc()+"' and t.smp_catg='B' and t.cert_inst_code='"+qlty.getOrg_code()+"' and t.smp_type_code='"+qlty.getSample_style_code()+"' ");
- sqlucomm.append(" and t.INSPECTION_LOT='"+qlty.getInspection_lot()+"' ");
- logger.info("sql:"+sqlucomm.toString());
-
-
- List<HashMap> samples=mapper.query(sqlucomm.toString());
-
- String smp_no="";
-
- //如果已经不存在
- if (samples==null || samples.size()<1) {
- //生成试样信息主表 (检验委托主表)
-
- for (int i = 0; i < qlty.getSmpCounts(); i++) {
- smp_no = createQltySamNo(qlty.getPline_code());
- JhySampleMMdoel model=getSampleM(smp_no,qlty,"B");
- mapper.insertSampleM(model);
- //生成试样信息明细表 (检验委托明细表)
- String specimen_no=createSpecimen_no(smp_no);
- phyItemSPNO.add(specimen_no);
- JhySampleDModel sampleD=getSampleD(smp_no,specimen_no,qlty);
- mapper.insertSampleD(sampleD);
-
-
- //生成合同表
- JhySampleOrdMdoel ord=getSampleOrd(smp_no,qlty);
- mapper.insertSampleOrd(ord);
-
-
- //生成材质项目表
- JhySampleDItemModel item=getSampleItem(smp_no,specimen_no,qlty);
- mapper.insertSampleItem(item);
- }
-
-
-
- }
-
- for (int i = 0; i < samples.size(); i++) {
- //获取已经存在的试样号,判断design_key+psc对应的订单信息是否存在
- smp_no=(String)samples.get(i).get("SMP_NO");
- //清空查询sql
- sqlucomm.setLength(0);
-
- //验证合同表是否存在
- sqlucomm.append("SELECT DESIGN_KEY, SMP_NO,PSC FROM QCM_JHY_SAMPLE_R_ORD WHERE SMP_NO='"+smp_no+"' ");
- sqlucomm.append("and DESIGN_KEY='"+qlty.getDesign_key()+"' ");
- sqlucomm.append("and PSC='"+qlty.getPsc()+"'");
- List<HashMap> samplesOrd=mapper.query(sqlucomm.toString());
-
-
- if (samplesOrd==null || samplesOrd.size()<1) {
- //生成合同表
- JhySampleOrdMdoel ord=getSampleOrd(smp_no,qlty);
- mapper.insertSampleOrd(ord);
- }
-
-
- //判断当前试样号向下该取样频次的明细是否存在
- sqlucomm.setLength(0);
-
- //取样编号
- String specimen_no=null;
-
- sqlucomm.append("SELECT SMP_NO,SPECIMEN_NO FROM QCM_JHY_SAMPLE_CONSIGN_D WHERE SMP_NO='"+smp_no+"' ");
- sqlucomm.append("and FREQ_CODE='"+qlty.getFreq_code()+"' and SMP_LOCATION_CODE='"+qlty.getSmp_position_code()+"'");
-
-
-
- List<HashMap> samplesD=mapper.query(sqlucomm.toString());
- if (samplesD==null || samplesD.size()<1) {
- //生成试样信息明细表
- specimen_no=createSpecimen_no(smp_no);
- phyItemSPNO.add(specimen_no);
- JhySampleDModel sampleD=getSampleD(smp_no,specimen_no,qlty);
- mapper.insertSampleD(sampleD);
-
- //生成材质项目表
- JhySampleDItemModel item=getSampleItem(smp_no,specimen_no,qlty);
- mapper.insertSampleItem(item);
-
-
- continue;
- }
-
- //判断当前项目是否存在
- specimen_no=(String)samplesD.get(0).get("SPECIMEN_NO");
- phyItemSPNO.add(specimen_no);
- sqlucomm.setLength(0);
-
-
- sqlucomm.append("SELECT SPECIMEN_NO,SMP_NO,SEQ FROM QCM_JHY_SAMPLE_CONSIGN_D_ITEM WHERE SPECIMEN_NO='"+specimen_no+"' and SMP_NO='"+smp_no+"' ");
- if (qlty.getPhy_code_l()!=null) {
- sqlucomm.append("and PHY_CODE_L ='"+qlty.getPhy_code_l()+"' ");
- }
- if (qlty.getPhy_code_m()!=null) {
- sqlucomm.append("and PHY_CODE_M='"+qlty.getPhy_code_m()+"' ");
-
- }
- if (qlty.getPhy_code_s()!=null) {
- sqlucomm.append("and PHY_CODE_S='"+qlty.getPhy_code_s()+"' ");
- }
- if (qlty.getItem_code_d()!=null) {
- sqlucomm.append("and ITEM_CODE_D='"+qlty.getItem_code_d()+"' ");
- }
- if (qlty.getItem_code_t()!=null) {
- sqlucomm.append("and ITEM_CODE_T='"+qlty.getItem_code_t()+"' ");
- }
- if (qlty.getItem_code_s()!=null) {
- sqlucomm.append("and ITEM_CODE_S='"+qlty.getItem_code_s()+"' ");
- }
- List<HashMap> samplesItems=mapper.query(sqlucomm.toString());
- if (samplesItems!=null && samplesItems.size()>0) {
- continue;
- }
-
- //生成项目
- //生成材质项目表
- JhySampleDItemModel item=getSampleItem(smp_no,specimen_no,qlty);
- mapper.insertSampleItem(item);
- }
-
-
- }
- /**
- * 获取材质项目对象
- * @param smp_no
- * @param specimen_no
- * @param qlty
- * @return
- * @throws Exception
- */
- private JhySampleDItemModel getSampleItem(String smp_no, String specimen_no, JhyQltyModel qlty) throws Exception {
- // TODO Auto-generated method stub
- JhySampleDItemModel model=new JhySampleDItemModel();
- model.setSmp_no(smp_no);
- model.setSpecimen_no(specimen_no);
-
- model.setQuote_specimen_no(qlty.getQuote_specimen_no());
- model.setQuote_seq(qlty.getQuote_seq());
- // model.setJudge_basis(qlt);
-
- model.setPhy_code_l(qlty.getPhy_code_l());;
- model.setPhy_code_m(qlty.getPhy_code_m());
- model.setPhy_code_s(qlty.getPhy_code_s());
- model.setPhy_name_l(qlty.getPhy_name_l());
- model.setPhy_name_m(qlty.getPhy_name_m());
- model.setPhy_name_s(qlty.getPhy_name_s());
- model.setItem_code_d(qlty.getItem_code_d());
- model.setItem_code_t(qlty.getItem_code_t());
- model.setItem_code_s(qlty.getItem_code_s());
- model.setItem_code_l(qlty.getItem_code_l());
- model.setItem_name_d(qlty.getItem_name_d());
- model.setItem_name_t(qlty.getItem_name_t());
- model.setItem_name_s(qlty.getItem_name_s());
- model.setItem_desc_l(qlty.getItem_desc_l());
- model.setIsjudge(qlty.getIsjudge());
-
- model.setPhy_unit(qlty.getPhy_unit());
- model.setGroup_seq(qlty.getGroup_seq());
-
- model.setMemo(qlty.getMemo());
- model.setSpecl_fl(qlty.getSpecl_fl());
-
- //试验次数
- model.setTest_qty(qlty.getSmp_count());
- model.setSmp_qty(qlty.getSmp_qty());
- model.setCreate_id(qlty.getCreate_id());
- model.setCreate_name(qlty.getCreate_name());
- model.setCreate_time(new Date());
-
- model.setStdmax(qlty.getStdmax());
- model.setStdmax_sign(qlty.getStdmax_sign());
- model.setStdmin(qlty.getStdmin());
- model.setStdmin_sign(qlty.getStdmin_sign());
- model.setStdmemo(qlty.getStdmemo());
- model.setPhy_group_code(qlty.getPhy_group_code());
-
- model.setSeq(createItemSeq(smp_no,specimen_no));
-
-
- //样品类型
- return model;
- }
-
-
-
- /**
- * 创建项目seq
- * @param specimen_no
- * @param smp_no
- * @param cn
- * @return
- * @throws Exception
- */
- private Integer createItemSeq(String smp_no,String specimen_no ) throws Exception {
- // TODO Auto-generated method stub
-
- StringBuffer sqlucomm = new StringBuffer();
- sqlucomm.append("SELECT max(SEQ) SEQ FROM QCM_JHY_SAMPLE_CONSIGN_D_ITEM WHERE SMP_NO ='"+smp_no+"' and SPECIMEN_NO='"+specimen_no+"'");
- HashMap result=mapper.queryOne(sqlucomm.toString());
- Integer SEQ=0;
- if (result!=null && result.get("SEQ")!=null) {
- SEQ=((BigDecimal)result.get("SEQ")).intValue();
- }
- SEQ++;
-
- return SEQ;
- }
-
-
- /**
- * 获取明细试样对象
- * @param smp_no
- * @param specimen_no
- * @param qlty
- * @return
- */
- private JhySampleDModel getSampleD(String smp_no, String specimen_no, JhyQltyModel qlty) {
- // TODO Auto-generated method stub
- JhySampleDModel model=new JhySampleDModel();
- model.setSmp_no(smp_no);
- model.setSpecimen_no(specimen_no);
- model.setHeat_no(qlty.getHeat_no());
- model.setBatch_no(qlty.getBatch_no());
- model.setBoard_no(qlty.getBoard_no());
- model.setInspection_lot(qlty.getInspection_lot());
-
- if(qlty.getPline_code().equals("HB1") || qlty.getPline_code().equals("ZB1")){
- model.setMaterial_no(qlty.getMaterial_no());//取样材料号
- }else{
- String materialNo = getBilletIdM(qlty);
- if(StringUtils.isBlank(materialNo)){
- model.setMaterial_no(qlty.getMaterial_no());//取样材料号
- }else{
- model.setMaterial_no(materialNo);
- }
- }
- //热处理号
- String rclState = "";
- if(qlty.getPline_code().equals("HB1") || qlty.getPline_code().equals("ZB1")){
- rclState = getRclState(qlty.getPline_code(),qlty.getMaterial_no());
- }
- if(rclState!=null && !"".equals(rclState)){
- model.setProcess_no(rclState);
- model.setProcess_nos(rclState);
- }
-
- model.setProcess_code(qlty.getProcess_code());
-
- model.setFreq_code(qlty.getFreq_code());
- model.setFreq_name(qlty.getFreq_name());
- //试验次数
- model.setTest_qty(qlty.getSmp_count());
- model.setSmp_qty(qlty.getSmp_qty());
- //样品类型
- model.setSmp_type_code(qlty.getSmp_type_code());
- model.setSmp_type_name(qlty.getSmp_type_name());
- model.setSmp_location(qlty.getSmp_position_desc());
- model.setSmp_location_code(qlty.getSmp_position_code());
- model.setQuote_consign_no(qlty.getQlty_smp_no());
- model.setPline_code(qlty.getPline_code());
- model.setPline_name(qlty.getPline_name());
- model.setValidflag("1");
- model.setStatus("0");
- model.setSource(qlty.getSource());
- model.setProduct_cnt(qlty.getProduct_cnt());
- model.setGuid(this.getUUID());
- model.setChem_item(qlty.getChemItems());
- model.setMemo(qlty.getOrderMemo());
-
- model.setWeight(qlty.getWeight());
- model.setWeight_std(qlty.getWeight_std());
- model.setWeight_sfd(qlty.getWeight_sfd());
-
- if(memoXngs.equals("true1")){
- model.setSend_memo("性能改善");
- model.setImprove_memo("性能改善");
- }
-
- //是否人工委托
- if(!StringUtils.isBlank(memoRg)){
- //人工委托
- model.setArtificial_memo(memoRg);
- }
- return model;
- }
-
- //热处理号
- public String getRclState(String plineCode,String materialNo){
- String rclState = "000000";
- String sqls= "";
- if(plineCode.equals("ZB1")){
- sqls = " select t.* from KCZ_TURNOFFLIST@xgcx t where t.BILLETID = '"+materialNo+"'"
- + " and t.rcl_state is not null ";
- }
- if(plineCode.equals("HB1")){
- sqls = " select t.* from KCH_TURNOFFLIST@xgcx t where t.BILLETID = '"+materialNo+"'"
- + " and t.rcl_state is not null ";
- }
- List<HashMap> tarMemo=mapper.query(sqls.toString());
- if (tarMemo!=null && tarMemo.size()>=1){
- if(StringUtils.isNotBlank(tarMemo.get(0).get("RCL_STATE").toString())){
- rclState = (String) tarMemo.get(0).get("RCL_STATE");
- }
- }
- return rclState;
- }
-
- /**
- * 查询 取样材料号
- * @param parmas
- * @return
- */
- public String getBilletIdM(JhyQltyModel qlty) {
- String plineCode="";
- if(qlty.getPline_code().equals("BC2")){
- plineCode = "4001BC2";
- }
- if(qlty.getPline_code().equals("GX2")){
- plineCode = "4001GX2";
- }
- if(qlty.getPline_code().equals("GX1")){
- plineCode = "4001GX1";
- }
- String materialNo = "";
- String sql = "";
- if(qlty.getPline_code().equals("BC2") || qlty.getPline_code().equals("GX2") || qlty.getPline_code().equals("GX1") ){
- sql = " select t.pline_code,t.MATERIAL_NO, t.NUMS from ( "
- +" select productline pline_code, BILLETID as MATERIAL_NO,Substr(BILLETID, instr(BILLETID, '.') + 1, length(BILLETID)) NUMS from kch_turnofflist@xgcx where BILLETID like '"+qlty.getBatch_no()+"'||'%' union "
- +" select productline pline_code, BILLETID as MATERIAL_NO,Substr(BILLETID, instr(BILLETID, '.') + 1, length(BILLETID)) NUMS from kcz_turnofflist@xgcx where BILLETID like '"+qlty.getBatch_no()+"'||'%' union "
- +" select pld pline_code, BILLETID as MATERIAL_NO,Substr(BILLETID, instr(BILLETID, '.') + 1, length(BILLETID)) NUMS from kcx_turnofflist@xgcx where BILLETID like '"+qlty.getBatch_no()+"'||'%' "
- +" ) t "
- +" where t.MATERIAL_NO not in (select d.material_no from QCM_JHY_SAMPLE_CONSIGN_D d where d.material_no like '"+qlty.getBatch_no()+"'||'%') "
- +" and t.pline_code = '"+plineCode+"' "
- +" order by CAST(t.NUMS AS int) ";
- }
-
- if(qlty.getPline_code().equals("HB1") || qlty.getPline_code().equals("ZB1") ){
- sql = " select t.MATERIAL_NO, t.NUMS from ( "
- +" select BILLETID as MATERIAL_NO,Substr(BILLETID, instr(BILLETID, '.') + 1, length(BILLETID)) NUMS from kch_turnofflist@xgcx where BILLETID like '"+qlty.getBatch_no()+"'||'%' union "
- +" select BILLETID as MATERIAL_NO,Substr(BILLETID, instr(BILLETID, '.') + 1, length(BILLETID)) NUMS from kcz_turnofflist@xgcx where BILLETID like '"+qlty.getBatch_no()+"'||'%' union "
- +" select BILLETID as MATERIAL_NO,Substr(BILLETID, instr(BILLETID, '.') + 1, length(BILLETID)) NUMS from kcx_turnofflist@xgcx where BILLETID like '"+qlty.getBatch_no()+"'||'%' "
- +" ) t "
- +" where t.MATERIAL_NO not in (select d.material_no from QCM_JHY_SAMPLE_CONSIGN_D d where d.material_no like '"+qlty.getBatch_no()+"'||'%') ";
- }
- if(!StringUtils.isBlank(sql)){
- List<HashMap> listEle= mapper.query(sql.toString());
- if (listEle!=null && listEle.size()>0) {
- materialNo = (String) listEle.get(0).get("MATERIAL_NO");
- System.out.println("0轧批号"+qlty.getBatch_no()+"==="+materialNo);
- }
-
- }
- return materialNo;
-
-
- }
-
-
- /**
- * 生成不带 "-" 的UUID
- *
- * @return
- */
- private String getUUID() {
- UUID uuid = UUID.randomUUID();
- String str = uuid.toString();
- String uuidStr = str.replace("-", "");
- return uuidStr;
- }
-
- /**
- * 获取取样编号
- * @param smp_no
- * @return
- */
- private String createSpecimen_no(String smp_no) {
- // TODO Auto-generated method stub
- String specimen_no="";
-
- StringBuffer sqlucomm = new StringBuffer();
- sqlucomm.append("SELECT max(to_number(substr(SPECIMEN_NO,14))) SPECIMEN_NO FROM QCM_JHY_SAMPLE_CONSIGN_D "
- + "WHERE SPECIMEN_NO like '"+smp_no+"%' and SMP_NO='"+smp_no+"'");
- HashMap result=mapper.queryOne(sqlucomm.toString());
- BigDecimal seq=BigDecimal.ZERO;
- if (result!=null && result.get("SPECIMEN_NO") !=null) {
- seq=(BigDecimal)result.get("SPECIMEN_NO");
- }
- seq=seq.add(BigDecimal.ONE);
- specimen_no=smp_no+ String.format("%02d", seq.intValue());
- return specimen_no;
- }
- /**
- * 设置试样信息明细表对象值
- * @param smp_no
- * @param qlty
- * @return
- */
- private JhySampleOrdMdoel getSampleOrd(String smp_no, JhyQltyModel qlty) {
- // TODO Auto-generated method stub
- JhySampleOrdMdoel ord=new JhySampleOrdMdoel();
- ord.setSmp_no(smp_no);
- ord.setDesign_key(qlty.getDesign_key());
- ord.setHeat_no(qlty.getHeat_no());
- ord.setBatch_no(qlty.getBatch_no());
- ord.setInspection_lot(qlty.getInspection_lot());
- ord.setPsc(qlty.getPsc());
- ord.setPsc_desc(qlty.getPsc_desc());
- ord.setDelivery_state_code(qlty.getDelivery_state_code());
- ord.setDelivery_state_desc(qlty.getDelivery_state_desc());
- ord.setThick(qlty.getThick());
- ord.setWidth(qlty.getWidth());
- ord.setLength(qlty.getLength());
- ord.setPline_code(qlty.getPline_code());
- ord.setPline_name(qlty.getPline_name());
- ord.setMsc_pline(qlty.getMsc_pline());
- if(qlty.getPline_code().equals("HB1") || qlty.getPline_code().equals("ZB1")){
- ord.setProcess_code("HR");
- }else{
- ord.setProcess_code(qlty.getProcess_code());
- }
-
- ord.setCert_inst_code(qlty.getOrg_code());
- ord.setCert_inst_name(qlty.getOrg_name());
- ord.setSmp_type_code(qlty.getSample_style_code());
- ord.setSmp_type_name(qlty.getSample_style_name());
- ord.setProduct_cnt(qlty.getProduct_cnt());
- // ord.setAssay_no_cp(qlty.geta);
- // ord.setAssay_no_rl(assay_no_rl);
- ord.setProd_code(qlty.getProd_code());
- ord.setProd_name(qlty.getProd_name());
- ord.setSteel_code(qlty.getSteel_code());
- ord.setSteel_name(qlty.getSteel_name());
- ord.setStd_code(qlty.getStd_code());
- ord.setStd_name(qlty.getStd_name());
- ord.setCreate_id(qlty.getCreate_id());
- ord.setCreate_name(qlty.getCreate_name());
- ord.setCreate_time(new Date());
-
- if(memoXngs.equals("true1")){
- ord.setImprove_memo("性能改善");
- }
-
- return ord;
- }
-
-
- /**
- * 设置试样信息主表对象值
- * @param smp_no
- * @param qlty
- * @param smp_catg
- * @return
- */
- private JhySampleMMdoel getSampleM(String smp_no, JhyQltyModel qlty,String smp_catg) {
- // TODO Auto-generated method stub
- JhySampleMMdoel model=new JhySampleMMdoel();
- model.setSmp_no(smp_no);
- model.setHeat_no(qlty.getHeat_no());
- model.setBatch_no(qlty.getBatch_no());
- model.setBoard_no(qlty.getBoard_no());
- model.setInspection_lot(qlty.getInspection_lot());
- model.setMaterial_no(qlty.getMaterial_no());
- /* model.setPsc(qlty.getMain_psc());
- model.setPsc_desc(qlty.getMain_psc_desc());*/
- model.setPsc(qlty.getPsc());
- model.setPsc_desc(qlty.getPsc_desc());
- model.setSmp_catg(smp_catg);
- model.setCreate_id(qlty.getCreate_id());
- model.setCreate_name(qlty.getCreate_name());
- model.setCert_inst_code(qlty.getOrg_code());
- model.setCert_inst_name(qlty.getOrg_name());
- //试样类型
- model.setSmp_type_code(qlty.getSample_style_code());
- model.setSmp_type_name(qlty.getSample_style_name());
- model.setGrade_code(qlty.getGrade_code());
- model.setGrade_name(qlty.getGrade_name());
- model.setPline_code(qlty.getPline_code());
- model.setPline_name(qlty.getPline_name());
- model.setCreate_time(new Date());
-
- //是否人工委托
- if(!StringUtils.isBlank(memoRg)){
- //人工委托
- model.setMemo(memoRg);
- }
-
-
- return model;
- }
- /**
- * 创建试样号
- * @param pline_code 产线代码
- * @return
- */
- private String createQltySamNo(String pline_code) {
- // TODO Auto-generated method stub
- String smp_no="";
- SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
- if (pline_code.length()>3){
- pline_code=pline_code.substring(0,3);
- }else if (pline_code.length()==2){
- pline_code="0"+pline_code;
- }else if (pline_code.length()==1){
- pline_code="00"+pline_code;
- }
-
- String syh = pline_code +sdf.format(new Date());
-
- StringBuffer sqlucomm = new StringBuffer();
- sqlucomm.append("SELECT max(to_number(substr(smp_no,10))) SMP_NO FROM QCM_JHY_SAMPLE_CONSIGN_M WHERE SMP_NO like '"+syh+"%' ");
- HashMap result=mapper.queryOne(sqlucomm.toString());
- BigDecimal seq=BigDecimal.ZERO;
- if (result!=null && result.get("SMP_NO")!=null ) {
- seq=(BigDecimal)result.get("SMP_NO");
- }
- seq=seq.add(BigDecimal.ONE);
-
- smp_no=syh+ String.format("%04d", seq.intValue());
- return smp_no;
- }
-
-
- /**
- * 验证检验类型的工序点 list传过来的JSON qltys:材质 jsonStrng:JSON chems:成分
- * @param lists
- * @param qltys
- * @param jsonStrng
- * @param chems
- * @return
- */
- private String checkInspectionPoint(JSONArray lists, List<JhyQltyModel> qltys, String jsonStrng,List<JhyQltyModel> chems) {
- // TODO Auto-generated method stub
- for (Object li : lists) {
- JSONObject list = (JSONObject) li;
- StringBuffer sqlucomm = new StringBuffer();
- boolean pass = false;
- if (list.get("IS_QTLY") != null && "1".equals((String) list.get("IS_QTLY"))) {
- pass = true;
- }
-
-
-
- //获取数据源数据 下面的排序非常重要 千万不要随便改动 关系生成委托项目对不对
- if (pass) {
- //22.09.07 连退获取项目分开
- String plineCode =list.get("PLINE_CODE").toString();
- if(plineCode.equals("LT1")){
- sqlucomm.setLength(0);
- sqlucomm.append(
- "SELECT t.design_key, t.index_seq, t.psc,t.psc_desc,t.msc_pline, t.process_code, t.backlog_seq,t.org_code,t.org_name,");
- sqlucomm.append(
- " t.phy_code_l,t.phy_name_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,");
- sqlucomm.append(
- " t.item_name_t,t.item_code_s,t.item_name_s,t.sample_style_code,t.sample_style_name, t.rate_code, t.rate_desc,t.isjudge,");
- sqlucomm.append(
- " t.ischeck,t.isquote,t.group_seq,t.smp_qty,t.smp_position_code,t.smp_position_desc,t.prod_code,t.prod_name,t.steel_code,");
- sqlucomm.append(
- " t.steel_name,t.std_code,t.std_name,t.smp_count,t.item_code_l,t.item_desc_l,t.phy_unit,t.create_id,t.create_name,"
- + " t.create_time,t.retest_yn,t.retest_qty,t.specl_fl,t.stdmin_sign, t.stdmin, t.stdmax_sign,t.stdmax, "
- + "t.stdmemo,t.PROCESS_CODE FROM QCM_ORD_DESIGN_SAMPLE_M t WHERE t.DESIGN_KEY='"
- + list.get("DESIGN_KEY") + "' AND t.ISCHECK='1' and (t.process_code is null or t.PROCESS_CODE='LT1') "
- + " order by t.STEEL_CODE asc,t.smp_position_code asc,t.phy_code_l asc,t.PHY_CODE_M asc,t.PHY_CODE_S asc ");
- }else if(plineCode.equals("RZ1")){
- sqlucomm.setLength(0);
- sqlucomm.append(
- "SELECT t.design_key, t.index_seq, t.psc,t.psc_desc,t.msc_pline, t.process_code, t.backlog_seq,t.org_code,t.org_name,");
- sqlucomm.append(
- " t.phy_code_l,t.phy_name_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,");
- sqlucomm.append(
- " t.item_name_t,t.item_code_s,t.item_name_s,t.sample_style_code,t.sample_style_name, t.rate_code, t.rate_desc,t.isjudge,");
- sqlucomm.append(
- " t.ischeck,t.isquote,t.group_seq,t.smp_qty,t.smp_position_code,t.smp_position_desc,t.prod_code,t.prod_name,t.steel_code,");
- sqlucomm.append(
- " t.steel_name,t.std_code,t.std_name,t.smp_count,t.item_code_l,t.item_desc_l,t.phy_unit,t.create_id,t.create_name,"
- + " t.create_time,t.retest_yn,t.retest_qty,t.specl_fl,t.stdmin_sign, t.stdmin, t.stdmax_sign,t.stdmax, "
- + "t.stdmemo,t.PROCESS_CODE FROM QCM_ORD_DESIGN_SAMPLE_M t WHERE t.DESIGN_KEY='"
- + list.get("DESIGN_KEY") + "' AND t.ISCHECK='1' and (t.process_code is null or t.PROCESS_CODE='RZ1') "
- + " order by t.STEEL_CODE asc,t.smp_position_code asc,t.phy_code_l asc,t.PHY_CODE_M asc,t.PHY_CODE_S asc ");
- }else if(plineCode.equals("HB1") || plineCode.equals("ZB1")){
- //判断这个订单是否有子板 23.03.29
- String sqlhzb="select t.* from QCM_ORD_DESIGN_SAMPLE_M t where t.design_key = '"+list.get("DESIGN_KEY")+"' and t.rate_code in ('C', 'H', 'I')";
- List<HashMap> sqlhzbHM=mapper.query(sqlhzb.toString());
- if(sqlhzbHM!=null && sqlhzbHM.size()>=1){
- //进入说明是子板取样
- sqlhzb="";
- sqlhzb="select T.* from QCM_JHY_SAMPLE_CONSIGN_D t WHERE T.BATCH_NO = '"+list.get("BATCH_NO")+"' and t.freq_code = 'D' ";
- List<HashMap> sqlDHM=mapper.query(sqlhzb.toString());
- if(sqlDHM!=null && sqlDHM.size()>=1){
- list.put("HTPROCESS_CODE", "HT");
- }
- }else if(list.get("HTPROCESS_CODE").equals("HT1")){//热处理之后生成力学进入
- sqlhzb="";
- sqlhzb="select t.* from QCM_ORD_DESIGN_SAMPLE_M t where t.design_key = '"+list.get("DESIGN_KEY")+"' and t.rate_code ='D' ";
- List<HashMap> sqld=mapper.query(sqlhzb.toString());
- if(sqld!=null && sqld.size()>=1){
- //同牌号 同规格 不同订单 缺少夹杂
- sqlhzb="";
- sqlhzb="select t.* from qcm_jhy_sample_consign_d t, Qcm_Jhy_Sample_r_Ord r where t.smp_no = r.smp_no "
- +" and r.batch_no = '"+list.get("BATCH_NO")+"' and r.design_key = '"+list.get("DESIGN_KEY")+"' and t.freq_code = 'D' ";
- List<HashMap> sqlDHM=mapper.query(sqlhzb.toString());
- if(sqlDHM==null || sqlDHM.size()<=0){
- list.put("HTPROCESS_CODE", "HT");
- }
- }
- }
- //HB1/ZB1热处理之前的所有项目 HT1都是热处理之后的所有项目
- if(list.get("HTPROCESS_CODE").equals("HB1") || list.get("HTPROCESS_CODE").equals("ZB1")){
- memoRg3 = (String) list.get("HTPROCESS_CODE");
- sqlucomm.setLength(0);
- sqlucomm.append(
- "SELECT t.design_key, t.index_seq, t.psc,t.psc_desc,t.msc_pline, t.process_code, t.backlog_seq,t.org_code,t.org_name,");
- sqlucomm.append(
- " t.phy_code_l,t.phy_name_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,");
- sqlucomm.append(
- " t.item_name_t,t.item_code_s,t.item_name_s,t.sample_style_code,t.sample_style_name, t.rate_code, t.rate_desc,t.isjudge,");
- sqlucomm.append(
- " t.ischeck,t.isquote,t.group_seq,t.smp_qty,t.smp_position_code,t.smp_position_desc,t.prod_code,t.prod_name,t.steel_code,");
- sqlucomm.append(
- " t.steel_name,t.std_code,t.std_name,t.smp_count,t.item_code_l,t.item_desc_l,t.phy_unit,t.create_id,t.create_name,"
- + " t.create_time,t.retest_yn,t.retest_qty,t.specl_fl,t.stdmin_sign, t.stdmin, t.stdmax_sign,t.stdmax, "
- + "t.stdmemo,t.PROCESS_CODE FROM QCM_ORD_DESIGN_SAMPLE_M t WHERE t.DESIGN_KEY='"
- + list.get("DESIGN_KEY") + "' AND t.ISCHECK='1' and (t.process_code is null or t.PROCESS_CODE='HB1' or t.PROCESS_CODE='ZB1') "
- + " order by t.STEEL_CODE asc,t.smp_position_code asc,t.phy_code_l asc,t.PHY_CODE_M asc,t.PHY_CODE_S asc ");
-
- }else if(list.get("HTPROCESS_CODE").equals("HT1")){//HT1都是热处理之后的所有项目
- memoRg3 = (String) list.get("HTPROCESS_CODE");
- sqlucomm.setLength(0);
- sqlucomm.append(
- "SELECT t.design_key, t.index_seq, t.psc,t.psc_desc,t.msc_pline, t.process_code, t.backlog_seq,t.org_code,t.org_name,");
- sqlucomm.append(
- " t.phy_code_l,t.phy_name_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,");
- sqlucomm.append(
- " t.item_name_t,t.item_code_s,t.item_name_s,t.sample_style_code,t.sample_style_name, t.rate_code, t.rate_desc,t.isjudge,");
- sqlucomm.append(
- " t.ischeck,t.isquote,t.group_seq,t.smp_qty,t.smp_position_code,t.smp_position_desc,t.prod_code,t.prod_name,t.steel_code,");
- sqlucomm.append(
- " t.steel_name,t.std_code,t.std_name,t.smp_count,t.item_code_l,t.item_desc_l,t.phy_unit,t.create_id,t.create_name,"
- + " t.create_time,t.retest_yn,t.retest_qty,t.specl_fl,t.stdmin_sign, t.stdmin, t.stdmax_sign,t.stdmax, "
- + "t.stdmemo,t.PROCESS_CODE FROM QCM_ORD_DESIGN_SAMPLE_M t WHERE t.DESIGN_KEY='"
- + list.get("DESIGN_KEY") + "' AND t.ISCHECK='1' and (t.process_code is null or t.PROCESS_CODE='HT1') "
- + " order by t.STEEL_CODE asc,t.smp_position_code asc,t.phy_code_l asc,t.PHY_CODE_M asc,t.PHY_CODE_S asc ");
- }else{
- sqlucomm.setLength(0);
- sqlucomm.append(
- "SELECT t.design_key, t.index_seq, t.psc,t.psc_desc,t.msc_pline, t.process_code, t.backlog_seq,t.org_code,t.org_name,");
- sqlucomm.append(
- " t.phy_code_l,t.phy_name_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,");
- sqlucomm.append(
- " t.item_name_t,t.item_code_s,t.item_name_s,t.sample_style_code,t.sample_style_name, t.rate_code, t.rate_desc,t.isjudge,");
- sqlucomm.append(
- " t.ischeck,t.isquote,t.group_seq,t.smp_qty,t.smp_position_code,t.smp_position_desc,t.prod_code,t.prod_name,t.steel_code,");
- sqlucomm.append(
- " t.steel_name,t.std_code,t.std_name,t.smp_count,t.item_code_l,t.item_desc_l,t.phy_unit,t.create_id,t.create_name,"
- + " t.create_time,t.retest_yn,t.retest_qty,t.specl_fl,t.stdmin_sign, t.stdmin, t.stdmax_sign,t.stdmax, "
- + "t.stdmemo,t.PROCESS_CODE FROM QCM_ORD_DESIGN_SAMPLE_M t WHERE t.DESIGN_KEY='"
- + list.get("DESIGN_KEY") + "' AND t.ISCHECK='1' "
- + " order by t.STEEL_CODE asc,t.smp_position_code asc,t.phy_code_l asc,t.PHY_CODE_M asc,t.PHY_CODE_S asc ");
- }
- }else if(plineCode.equals("YT1")){
- sqlucomm.setLength(0);
- sqlucomm.append(
- "SELECT t.design_key, t.index_seq, t.psc,t.psc_desc,t.msc_pline, t.process_code, t.backlog_seq,t.org_code,t.org_name,");
- sqlucomm.append(
- " t.phy_code_l,t.phy_name_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,");
- sqlucomm.append(
- " t.item_name_t,t.item_code_s,t.item_name_s,t.sample_style_code,t.sample_style_name, t.rate_code, t.rate_desc,t.isjudge,");
- sqlucomm.append(
- " t.ischeck,t.isquote,t.group_seq,t.smp_qty,t.smp_position_code,t.smp_position_desc,t.prod_code,t.prod_name,t.steel_code,");
- sqlucomm.append(
- " t.steel_name,t.std_code,t.std_name,t.smp_count,t.item_code_l,t.item_desc_l,t.phy_unit,t.create_id,t.create_name,"
- + " t.create_time,t.retest_yn,t.retest_qty,t.specl_fl,t.stdmin_sign, t.stdmin, t.stdmax_sign,t.stdmax, "
- + "t.stdmemo,t.PROCESS_CODE FROM QCM_ORD_DESIGN_SAMPLE_M t WHERE t.DESIGN_KEY='"
- + list.get("DESIGN_KEY") + "' AND t.ISCHECK='1' and (t.process_code is null or t.PROCESS_CODE='YT1') "
- + " order by t.STEEL_CODE asc,t.smp_position_code asc,t.phy_code_l asc,t.PHY_CODE_M asc,t.PHY_CODE_S asc ");
- }else{
- sqlucomm.setLength(0);
- sqlucomm.append(
- "SELECT t.design_key, t.index_seq, t.psc,t.psc_desc,t.msc_pline, t.process_code, t.backlog_seq,t.org_code,t.org_name,");
- sqlucomm.append(
- " t.phy_code_l,t.phy_name_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,");
- sqlucomm.append(
- " t.item_name_t,t.item_code_s,t.item_name_s,t.sample_style_code,t.sample_style_name, t.rate_code, t.rate_desc,t.isjudge,");
- sqlucomm.append(
- " t.ischeck,t.isquote,t.group_seq,t.smp_qty,t.smp_position_code,t.smp_position_desc,t.prod_code,t.prod_name,t.steel_code,");
- sqlucomm.append(
- " t.steel_name,t.std_code,t.std_name,t.smp_count,t.item_code_l,t.item_desc_l,t.phy_unit,t.create_id,t.create_name,"
- + " t.create_time,t.retest_yn,t.retest_qty,t.specl_fl,t.stdmin_sign, t.stdmin, t.stdmax_sign,t.stdmax, "
- + "t.stdmemo,t.PROCESS_CODE FROM QCM_ORD_DESIGN_SAMPLE_M t WHERE t.DESIGN_KEY='"
- + list.get("DESIGN_KEY") + "' AND t.ISCHECK='1' "
- + " order by t.STEEL_CODE asc,t.smp_position_code asc,t.phy_code_l asc,t.PHY_CODE_M asc,t.PHY_CODE_S asc ");
- }
- List<HashMap> qltyLists=mapper.query(sqlucomm.toString());
-
-
- if (qltyLists!=null && qltyLists.size()>0) {
- addQtlysItems(list,qltys,qltyLists);//获取数据源中的试样信息主表 每条检验项数据 list:JSON qltys:材质 qltyLists:订单标准
- }else{
- return "试样信息主表中没有该【"+list.get("DESIGN_KEY")+"】订单,产线【"+plineCode+"】!";
- }
- }
-
- pass=false;
- //是否免检
- if (list.get("IS_CHEM")!=null && "1".equals((String)list.get("IS_CHEM"))) {
- pass=true;
- }
-
- if (pass) {
- sqlucomm.setLength(0);
- sqlucomm.append("select distinct t.design_key,t.psc,t.psc_desc,t.prod_code,t.prod_name, t.steel_code, t.steel_name,t.pline_code,t.pline_name,");
- sqlucomm.append(" t.std_code,t.std_name,t.std_type_code,t.std_type_name,t.smp_position_code, t.smp_position_desc, "
- + "t.smp_rate_code, t.smp_rate_desc, t.smp_qty,t.product_cnt "
- + " from QCM_ORD_DESIGN_SAMPLE_D t where t.design_key='"+list.get("DESIGN_KEY")+"' "
- + " and t.ischeck='1'");
-
- List<HashMap> chenLists=mapper.query(sqlucomm.toString());
- if (chenLists==null || chenLists.size()<1) {
- continue;
- }
-
- //
-
-
- for (HashMap chem : chenLists) {
- //判断产品码是否免检
- sqlucomm.setLength(0);
- sqlucomm.append("select r.IS_EXMT_CIC from QCM_ORD_DESIGN_STD_EXMT r where r.DESIGN_KEY='"+list.getString("DESIGN_KEY")+"' and r.PSC='"+chem.get("PSC")+"' and r.ORG_CODE='5000'");
-
- List<HashMap> exmts=mapper.query(sqlucomm.toString());
- if (exmts!=null && exmts.size()>0 && "1".equals((String)exmts.get(0).get("IS_EXMT_CIC"))) {
- continue;
- }
-
- sqlucomm.setLength(0);
- sqlucomm.append("select distinct CHEM_NAME from QCM_ORD_DESIGN_SAMPLE_D where DESIGN_KEY='"+list.getString("DESIGN_KEY")+"' and PSC='"+chem.get("PSC")+"' ");
- List<String> chemItems=mapper.queryString(sqlucomm.toString());
-
- String[] items=null;
- if (chemItems!=null && chemItems.size()>0) {
- items=chemItems.toArray(new String[]{});
- }
-
- JhyQltyModel tarChme=new JhyQltyModel();
-
- String orderMemoSQL = "SELECT MEMO from QCM_ORD_DESIGN_MEMO where DESIGN_KEY='"+list.get("DESIGN_KEY")+"' and PSC='"+list.get("PSC")+"' ";
- List<HashMap> tarMemo=mapper.query(orderMemoSQL.toString());
- if (tarMemo!=null && tarMemo.size()>0) {
- if (tarMemo.get(0).get("MEMO")!=null ) {
- tarChme.setOrderMemo((String)tarMemo.get(0).get("MEMO"));
- }
- }
- tarChme.setMaterial_no(list.getString("MATERIAL_NO"));
- tarChme.setSample_style_code("A");
- tarChme.setSample_style_name("常规");
- tarChme.setOrg_code("5000");
- tarChme.setOrg_name("检测中心");
- JSONObject jo = new JSONObject();
- jo.put("chemItem", items);
- tarChme.setChemItems(jo.toString());
-
-
- tarChme.setDesign_key(list.getString("DESIGN_KEY"));
- tarChme.setPsc((String)chem.get("PSC"));
- tarChme.setPsc_desc((String)chem.get("PSC_DESC"));
- tarChme.setMain_psc(list.getString("PSC"));
- tarChme.setMain_psc_desc(list.getString("PSC_DESC"));
- tarChme.setThick(list.getString("THICK"));
- tarChme.setWidth(list.getString("WIDTH"));
- tarChme.setLength(list.getString("LENGTH"));
- tarChme.setBoard_no(list.getString("BOARD_NO"));
- tarChme.setBatch_no(list.getString("BATCH_NO"));
- tarChme.setHeat_no(list.getString("HEAT_NO"));
- tarChme.setInspection_lot(list.getString("INSPECTION_LOT"));
- tarChme.setDelivery_state_code(list.getString("DELIVERY_STATE_CODE"));
- tarChme.setDelivery_state_desc(list.getString("DELIVERY_STATE_DESC"));
- tarChme.setGrade_code(list.getString("GRADE_CODE"));
- tarChme.setGrade_name(list.getString("GRADE_NAME"));
- tarChme.setSteel_code((String)chem.get("STEEL_CODE"));
- tarChme.setSteel_name((String)chem.get("STEEL_NAME"));
- tarChme.setPline_code(list.getString("PLINE_CODE"));
- tarChme.setPline_name(list.getString("PLINE_NAME"));
-
- tarChme.setSmp_position_desc((String)chem.get("SMP_POSITION_DESC"));
- tarChme.setSmp_position_code((String)chem.get("SMP_POSITION_CODE"));
- tarChme.setStd_code((String)chem.get("STD_CODE"));
- tarChme.setStd_name((String)chem.get("STD_NAME"));
- tarChme.setFreq_code((String)chem.get("SMP_RATE_CODE"));
- tarChme.setFreq_name((String)chem.get("SMP_RATE_DESC"));
- tarChme.setProd_code((String)chem.get("PROD_CODE"));
- tarChme.setProd_name((String)chem.get("PROD_NAME"));
-
- if ("0".equals((String)list.get("TYPE"))) {
- //正常检验批
- tarChme.setSmp_type_code("0");
- tarChme.setSmp_type_name("初样");
- tarChme.setSource("0");
-
- }else{
- //改判检验批
- tarChme.setSmp_type_code("0");
- tarChme.setSmp_type_name("初样");
- tarChme.setSource("1");
-
- }
- tarChme.setCreate_id((String)list.get("CREATE_ID"));
- tarChme.setCreate_name((String)list.get("CREATE_NAME"));
- tarChme.setCreate_time(new Date());
- chems.add(tarChme);
- }
-
-
- }
- }
- return "";
- }
- // list:JSON qltys:材质 qltyLists:订单标准
- private void addQtlysItems(JSONObject list, List<JhyQltyModel> qltys, List<HashMap> qltyLists) {
- // TODO Auto-generated method stub
- StringBuffer sqlucomm = new StringBuffer();
-
- for (HashMap qlty : qltyLists) {
-
- String newItem=qlty.get("PHY_CODE_L")+"-"+qlty.get("PHY_CODE_M")+"-"+qlty.get("PHY_CODE_S");
- newItem=newItem+"-"+(qlty.get("ITEM_CODE_D")!=null?qlty.get("ITEM_CODE_D"):"null");
- newItem=newItem+"-"+(qlty.get("ITEM_CODE_T")!=null?qlty.get("ITEM_CODE_T"):"null");
- newItem=newItem+"-"+(qlty.get("ITEM_CODE_S")!=null?qlty.get("ITEM_CODE_S"):"null");
-
-
- //判断是否免检
- //判断产品码是否免检
- sqlucomm.setLength(0);
- sqlucomm.append("select r.IS_EXMT_PIC from QCM_ORD_DESIGN_STD_EXMT r where r.DESIGN_KEY='"+list.getString("DESIGN_KEY")+"' and r.PSC='"+list.getString("PSC")+"' and r.ORG_CODE='5000'");
-
- List<HashMap> exmts=mapper.query(sqlucomm.toString());
- if (exmts!=null && exmts.size()>0 && "1".equals((String)exmts.get(0).get("IS_EXMT_PIC"))) {
- continue;
- }
-
-
- //把json中的值赋值 list为json值
- //查询取样要求,如果是非按子板取样,不进行引用
- JhyQltyModel tarQlty=getQtlyResource(qlty,list);
- tarQlty.setPhy_group_code(newItem);
-
- //查询订单备注
- sqlucomm.setLength(0);
- sqlucomm.append("SELECT MEMO from QCM_ORD_DESIGN_MEMO where DESIGN_KEY='"+list.get("DESIGN_KEY")+"' and PSC='"+list.get("PSC")+"'");
- List<HashMap> tarMemo=mapper.query(sqlucomm.toString());
- if (tarMemo!=null && tarMemo.size()>0) {
- if (tarMemo.get(0).get("MEMO")!=null ) {
- tarQlty.setOrderMemo((String)tarMemo.get(0).get("MEMO"));
- }
- }
-
- /* //判断是否是件件取样
- if ("3".equals((String)list.get("TYPE"))) {
- qltys.add(tarQlty);
- continue;
- }*/
-
- //螺纹钢特殊处理
- /**
- * HRB400E
- HRB500E
- HPB300
- 这三种为线棒需要按照重量进行检验委托生成的牌号
- */
- if ("HRB400".equals(tarQlty.getSteel_code()) || "HRB400E".equals(tarQlty.getSteel_code()) ||
- "HRB500E".equals(tarQlty.getSteel_code()) || "HRB500".equals(tarQlty.getSteel_code()) ||
- "HPB300".equals(tarQlty.getSteel_code()) || tarQlty.getSteel_code().contains("GHRB400") ||
- tarQlty.getSteel_code().contains("GHRB500") || "TB400E".equals(tarQlty.getSteel_code())
- || "TB400".equals(tarQlty.getSteel_code()) ) {
-
- if (list.get("WEIGHT_STD")==null || list.get("WEIGHT")==null ) {
- qltys.add(tarQlty);
- continue;
- }
- Float weight_std=Float.valueOf((String)list.getString("WEIGHT_STD"));//上限值
- Float weight=Float.valueOf((String)list.getString("WEIGHT"));//总重量
- Float weight_sfd=Float.valueOf((String)list.getString("WEIGHT_SFD"));//浮动值
-
-
- int ran = 2;
- //ran=(int) Math.ceil((weight/weight_std)); 2
- if(weight <= weight_std){ //113 60 40 2+(90-60)%40
- ran = 2;
- }
- if(weight > weight_std && weight <= weight_std + weight_sfd){
- ran = 3;
-
- //22.08.12 取样数量 基本上加 2
- /* BigDecimal a = new BigDecimal(2);
- BigDecimal smpQty = tarQlty.getSmp_qty();
- smpQty = smpQty.add(a);
- tarQlty.setSmp_qty(smpQty);*/
-
- }
- if(weight > weight_std + weight_sfd /*&& weight <= weight_std + (weight_sfd + weight_sfd)*/){
- ran = 4;
-
- //22.08.12取样数量 基本上加 2 + 2
- /*BigDecimal a = new BigDecimal(4);
- BigDecimal smpQty = tarQlty.getSmp_qty();
- smpQty = smpQty.add(a);
- tarQlty.setSmp_qty(smpQty);*/
- }
-
- tarQlty.setWeight(weight.toString());
- tarQlty.setWeight_std(weight_std.toString());
- tarQlty.setWeight_sfd(weight_sfd.toString());
- tarQlty.setTimes(ran);
- //螺纹钢不自动引用
- qltys.add(tarQlty);
-
- continue;
- }
- //硬线特殊处理
- /**
- * 60 SWRH82B tarQlty.getSteel_code().contains("SWRH82B")
- *按照金恒那边下发过来多少生成委托就多少
- *&& (tarQlty.getPline_name().equals("高线") || tarQlty.getPline_name().equals("二线厂"))
- *
- */
- if (!"HRB400".equals(tarQlty.getSteel_code()) && !"HRB400E".equals(tarQlty.getSteel_code())&&
- !"HRB500".equals(tarQlty.getSteel_code()) && !"HRB500E".equals(tarQlty.getSteel_code()) &&
- !"HPB300".equals(tarQlty.getSteel_code()) && !"Q215".equals(tarQlty.getSteel_code()) &&
- !"Q235".equals(tarQlty.getSteel_code())
- && (tarQlty.getPline_name().equals("高线") || tarQlty.getPline_name().equals("二线厂")) ) {
- sqlucomm.setLength(0);
- sqlucomm.append("SELECT smp_count from QCM_ORD_DESIGN_STD_PIC_SMP where DESIGN_KEY='"+list.get("DESIGN_KEY")+"' and PSC='"+list.get("PSC")+"'");
- List<HashMap> smpCount=mapper.query(sqlucomm.toString());
- if (smpCount!=null && smpCount.size()>0) {
- if (smpCount.get(0).get("SMP_COUNT")!=null ) {
- BigDecimal cou = (BigDecimal)smpCount.get(0).get("SMP_COUNT");
- String coun = cou.toString();
- Integer integ = Integer.parseInt(coun);
- tarQlty.setSmpCounts(integ);
- qltys.add(tarQlty);
- continue;
- }
- }
- }
-
-
- qltys.add(tarQlty);
-
-
- }
-
- }
- //赋值 qlty从QCM_ORD_DESIGN_SAMPLE_M查询出来的数据,list为传过来的值
- private JhyQltyModel getQtlyResource(HashMap qlty, JSONObject list) {
- // TODO Auto-generated method stub
- JhyQltyModel tarQlty=new JhyQltyModel();
-
- tarQlty.setSample_style_code((String)qlty.get("SAMPLE_STYLE_CODE"));
- tarQlty.setSample_style_name((String)qlty.get("SAMPLE_STYLE_NAME"));
- tarQlty.setOrg_code((String)qlty.get("ORG_CODE"));
- tarQlty.setOrg_name((String)qlty.get("ORG_NAME"));
-
- tarQlty.setDesign_key(list.getString("DESIGN_KEY"));
- tarQlty.setPsc((String)qlty.get("PSC"));
- tarQlty.setPsc_desc((String)qlty.get("PSC_DESC"));
- tarQlty.setMain_psc(list.getString("PSC"));
- tarQlty.setMain_psc_desc(list.getString("PSC_DESC"));
- tarQlty.setThick(list.getString("THICK"));
- tarQlty.setWidth(list.getString("WIDTH"));
- tarQlty.setLength(list.getString("LENGTH"));
- tarQlty.setBoard_no(list.getString("BOARD_NO"));
- tarQlty.setBatch_no(list.getString("BATCH_NO"));
- tarQlty.setHeat_no(list.getString("HEAT_NO"));
- tarQlty.setInspection_lot(list.getString("INSPECTION_LOT"));
- tarQlty.setDelivery_state_code(list.getString("DELIVERY_STATE_CODE"));
- tarQlty.setDelivery_state_desc(list.getString("DELIVERY_STATE_DESC"));
- tarQlty.setGrade_code(list.getString("GRADE_CODE"));
- tarQlty.setGrade_name(list.getString("GRADE_NAME"));
- tarQlty.setSteel_code((String)qlty.get("STEEL_CODE"));
- tarQlty.setSteel_name((String)qlty.get("STEEL_NAME"));
- tarQlty.setPline_code(list.getString("PLINE_CODE"));
- tarQlty.setPline_name(list.getString("PLINE_NAME"));
- tarQlty.setMaterial_no(list.getString("MATERIAL_NO"));
- tarQlty.setMsc_pline(list.getString("MSC_PLINE"));
- if(list.getString("PLINE_CODE").equals("HB1") || list.getString("PLINE_CODE").equals("ZB1")){
- tarQlty.setProcess_code((String)qlty.get("PROCESS_CODE"));//热处理之前/之后标识 一体化
- tarQlty.setWeight(list.getString("WEIGHT"));
- }else{
- tarQlty.setProcess_code(list.getString("PROCESS_CODE"));//传过来的JOSN
- }
-
-
- tarQlty.setSmp_position_desc((String)qlty.get("SMP_POSITION_DESC"));
- tarQlty.setSmp_position_code((String)qlty.get("SMP_POSITION_CODE"));
- tarQlty.setStd_code((String)qlty.get("STD_CODE"));
- tarQlty.setStd_name((String)qlty.get("STD_NAME"));
-
- tarQlty.setProd_code((String)qlty.get("PROD_CODE"));
- tarQlty.setProd_name((String)qlty.get("PROD_NAME"));
-
- tarQlty.setFreq_code((String)qlty.get("RATE_CODE"));
- tarQlty.setFreq_name((String)qlty.get("RATE_DESC"));
- tarQlty.setPhy_code_l((String)qlty.get("PHY_CODE_L"));
- tarQlty.setPhy_code_m((String)qlty.get("PHY_CODE_M"));
- tarQlty.setPhy_code_s((String)qlty.get("PHY_CODE_S"));
-
- tarQlty.setItem_code_d((String)qlty.get("ITEM_CODE_D"));
- tarQlty.setItem_code_l((String)qlty.get("ITEM_CODE_L"));
- tarQlty.setItem_code_s((String)qlty.get("ITEM_CODE_S"));
- tarQlty.setItem_code_t((String)qlty.get("ITEM_CODE_T"));
-
- tarQlty.setPhy_name_l((String)qlty.get("PHY_NAME_L"));
- tarQlty.setPhy_name_m((String)qlty.get("PHY_NAME_M"));
- tarQlty.setPhy_name_s((String)qlty.get("PHY_NAME_S"));
-
- tarQlty.setItem_name_d((String)qlty.get("ITEM_NAME_D"));
- tarQlty.setItem_desc_l((String)qlty.get("ITEM_DESC_L"));
- tarQlty.setItem_name_s((String)qlty.get("ITEM_NAME_S"));
- tarQlty.setItem_name_t((String)qlty.get("ITEM_NAME_T"));
- tarQlty.setSpecl_fl((String)qlty.get("SPECL_FL"));
- //试验次数
- tarQlty.setSmp_count((BigDecimal)qlty.get("SMP_COUNT"));
- //取样数量
- tarQlty.setSmp_qty((BigDecimal)qlty.get("SMP_QTY"));
- tarQlty.setPhy_unit((String)qlty.get("PHY_UNIT"));
- tarQlty.setIsjudge((String)qlty.get("ISJUDGE"));
- tarQlty.setGroup_seq((String)qlty.get("GROUP_SEQ"));
- tarQlty.setRetest_qty((BigDecimal)qlty.get("RETEST_QTY"));
- tarQlty.setRetest_yn((String)qlty.get("RETEST_YN"));
- tarQlty.setStdmax((String)qlty.get("STDMAX"));
- tarQlty.setStdmax_sign((String)qlty.get("STDMAX_SIGN"));
- tarQlty.setStdmin((String)qlty.get("STDMIN"));
- tarQlty.setStdmin_sign((String)qlty.get("STDMIN_SIGN"));
- tarQlty.setStdmemo((String)qlty.get("STDMEMO"));
-
-
-
-
- if ("0".equals((String)list.get("TYPE"))) {
- //正常检验批
- tarQlty.setSmp_type_code("0");
- tarQlty.setSmp_type_name("初样");
- tarQlty.setSource("0");
-
-
- }else if ("1".equals((String)list.get("TYPE"))) {
- //复样检验批
- tarQlty.setSmp_type_code("1");
- tarQlty.setSmp_type_name("复样");
- tarQlty.setSource("0");
-
- }else if ("3".equals((String)list.get("TYPE"))) {
- //件件取样
- tarQlty.setSmp_type_code("3");
- tarQlty.setSmp_type_name("件件取样");
- tarQlty.setSource("0");
-
- }else{
- //改判检验批
- tarQlty.setSmp_type_code("0");
- tarQlty.setSmp_type_name("初样");
- tarQlty.setSource("1");
-
- }
- return tarQlty;
- }
- /**
- * 数据验证
- * @param lists
- * @return
- */
- @SuppressWarnings("unused")
- private String checkInfo(JSONArray lists) throws Exception {
- // TODO Auto-generated method stub
- String msg = "";
- if (lists == null || lists.size() < 1) {
- return "未寻到或无可生成检验委托的数据";
- }
- String inspection_lot = "";
- String design_key = "";
- String material_no ="";
- String pline_code = "";
- TreeSet<String> treeSet = new TreeSet<String>();
- ResultSet rs = null;
- for (Object list : lists) {
- JSONObject map = (JSONObject) list;
- if(!StringUtils.isBlank(map.getString("MEMORG"))){
- memoRg = map.getString("MEMORG");
- }
- // 检验号
- msg = checkField("INSPECTION_LOT", "检验号", map);
- if (!"".equals(msg)) {
- return msg;
- }
- // 获取共同检验号
- inspection_lot = map.getString("INSPECTION_LOT");
- treeSet.add(inspection_lot);
- // DESIGN_KEY
- msg = checkField("DESIGN_KEY", "订单号", map);
- if (!"".equals(msg)) {
- return msg;
- }
-
- msg = checkField("MATERIAL_NO", "取样材料号", map);
- if (!"".equals(msg)) {
- return msg;
- }
- design_key = map.getString("DESIGN_KEY");
- material_no= map.getString("MATERIAL_NO");
- // 炉号
- msg = checkField("HEAT_NO", "炉号", map);
- if (!"".equals(msg)) {
- return msg;
- }
- // 轧批号
- msg = checkField("BATCH_NO", "轧批号", map);
- if (!"".equals(msg)) {
- return msg;
- }
- // 全程产线号
- /* msg = checkField("MSC_PLINE", "全程产线号", map);
- if (!"".equals(msg)) {
- return msg;
- }*/
- // 全程产线代码
- msg = checkField("PLINE_CODE", "产线代码", map);
- if (!"".equals(msg)) {
- return msg;
- }
- pline_code = map.getString("PLINE_CODE");
- // 全程产线名称
- msg = checkField("PLINE_NAME", "产线名称", map);
- if (!"".equals(msg)) {
- return msg;
- }
- // //交货状态
- // msg=checkField("DELIVERY_STATE_CODE","交货状态代码",map);
- // if (!"".equals(msg)) {
- // return msg;
- // }
- // //交货状态
- // msg=checkField("DELIVERY_STATE_DESC","交货状态",map);
- // if (!"".equals(msg)) {
- // return msg;
- // }
- // 工序代码
- // msg=checkField("PROCESS_CODE","工序代码",map);
- // if (!"".equals(msg)) {
- // return msg;
- // }
- // 厚款长
- msg = checkField("THICK", "厚度", map);
- if (!"".equals(msg)) {
- return msg;
- }
- /*
- * msg=checkField("WIDTH","宽度",map); if (!"".equals(msg)) { return
- * msg; } msg=checkField("LENGTH","长度",map); if (!"".equals(msg)) {
- * return msg; }
- */
- /*msg = checkField("PSC", "产品码", map);
- if (!"".equals(msg)) {
- return msg;
- }*/
-
- if(pline_code.equals("HB1") || pline_code.equals("ZB1")){
- if(memoRg2.equals("false1") && !StringUtils.isBlank(map.getString("MEMO")) && map.getString("MEMO").equals("性能改善")){
- memoXngs = "true1";
- }
-
- }
- }
- if (treeSet.size() != 1) {
- return "检验号不一致";
- }
- // 判断检验号向下是否存在已发送数据
- StringBuffer sqlucomm = new StringBuffer();
- String designKey = design_key.substring(0, 2);
- //包含true 不包含false
- if(!memoRg.contains("人工委托") && !"19".equals(designKey)
- && StringUtils.isNotBlank(pline_code) && !pline_code.equals("HB1") && !pline_code.equals("ZB1")
- && !"39".equals(designKey)&& !"49".equals(designKey)&&!"59".equals(designKey)){
- sqlucomm.append(
- "SELECT COUNT(1) COUNT_NUM FROM QCM_JHY_SAMPLE_CONSIGN_D WHERE STATUS!='0' AND INSPECTION_LOT='"
- + inspection_lot + "'");
- logger.info("引用sql语句:---------"+sqlucomm.toString()+"-------------------------");
- List<HashMap> sendCount = mapper.query(sqlucomm.toString());
- if (sendCount != null && sendCount.size() > 0) {
- if (((BigDecimal) sendCount.get(0).get("COUNT_NUM")) .compareTo(BigDecimal.ZERO)==1) {
- return "检验批向下已经存在不属于未发送的数据,不能再组成检验批";
- }
- }
- }
- return msg;
- }
- /**
- * 验证字段
- *
- * @param field
- * 字段
- * @param name
- * 字段名
- * @param map
- * map对象
- * @return
- */
- private String checkField(String field, String name, JSONObject map) {
- if (map.get(field) == null) {
- return name + "不存在";
- }
- String ran = (String) map.get(field);
- if (ran == null || "".equals(ran.trim())) {
- return name + "为空";
- }
- return "";
- }
-
- //中厚板检验号
- public String ZHBinspection_lotSql(String batch_no,String pline_code){
- String sqlLOT = "select nvl(max(to_number(substr(inspection_lot,-3))),'0') INSPECTION_LOT from QCM_JHY_SAMPLE_CONSIGN_D t "
- + " where t.batch_no = '"+batch_no+"' and t.pline_code='"+pline_code+"' ";
- List<HashMap> hmap = mapper.query(sqlLOT.toString());
- BigDecimal hmap1 = (BigDecimal) hmap.get(0).get("INSPECTION_LOT");
- String hmap2 = hmap1.toString();
- Integer hmap3 = Integer.parseInt(hmap2);
- hmap3++;
- String inspection_lot = batch_no+String.format("%04d", hmap3);
- return inspection_lot;
- }
-
- public String ZHBStringSql(HashMap<String, String> hashMapStr){
- String freqCode="";
- String freqCodeSql = "select t.* from QCM_ORD_DESIGN_SAMPLE_M t "
- +" where t.Rate_Code ='B' and t.design_key = '"+hashMapStr.get("DESIGN_KEY")+"' ";
- List<HashMap> hmfreqCode=mapper.query(freqCodeSql.toString());
- //按母板取样
- if(hmfreqCode!=null && hmfreqCode.size()>=1){
- freqCode =" and t.BOARD_NO = '"+hashMapStr.get("BOARD_NO")+"' ";
- }
- String materialNosql="";
- if(hashMapStr.get("PLINE_CODE").equals("ZB1")){
- materialNosql = "SELECT t.* "
- +" FROM (SELECT A.SAMPLINGREQUESTTIME,T.ORDERNO DESIGN_KEY,T.BATCHNO BATCH_NO,to_char(T.STEELCODE) GRADE_CODE,T.HEIGHT THICK,T.PRODUCTNO MATERIAL_NO "
- +" ,T.MOTHERPLATEID BOARD_NO FROM MB_PLANDETAILOFPLATE@xgcx T, SEL_PACTDETAIL_NEW@xgcx A "
- +" WHERE T.ORDERNO = A.ORDERNO "
- +" and T.PRODUCTNO not in "
- +" (select T.BILLETID from KCZ_TURNOFFLIST@xgcx T where t.ROLLNUMBER = '"+hashMapStr.get("BATCH_NO")+"') "
- +" and T.ORDERNO is not null AND A.SAMPLINGREQUESTTIME IN ('A', 'AB') "
- +" union all "
- +" SELECT A.SAMPLINGREQUESTTIME,T.ORDERNO DESIGN_KEY,T.ROLLNUMBER BATCH_NO,T.DETERMINANTCARDNUMBER GRADE_CODE,T.PLY THICK,T.BILLETID MATERIAL_NO "
- +" ,T.MOTHERBOARDNUMBER BOARD_NO FROM KCZ_TURNOFFLIST@xgcx T, SEL_PACTDETAIL_NEW@xgcx A "
- +" WHERE T.ORDERNO = A.ORDERNO and T.ORDERNO is not null AND T.ISVALID <> '0') t "
- +" WHERE t.BATCH_NO = '"+hashMapStr.get("BATCH_NO")+"' and t.BATCH_NO like 'Z%' "
- +" and t.GRADE_CODE = '"+hashMapStr.get("STEEL_CODE")+"' and to_char(t.THICK, 'fm990.099') = to_char('"+hashMapStr.get("THICK")+"', 'fm990.099') "
- +" and T.DESIGN_KEY = '"+hashMapStr.get("DESIGN_KEY")+"' "
- + freqCode
- + " group by t.SAMPLINGREQUESTTIME,T.DESIGN_KEY,T.BATCH_NO,T.GRADE_CODE,T.THICK,t.MATERIAL_NO,t.BOARD_NO order by t.MATERIAL_NO ";
-
- }else if(hashMapStr.get("PLINE_CODE").equals("HB1")){
-
- materialNosql ="SELECT t.* "
- +" FROM (SELECT A.SAMPLINGREQUESTTIME,T.ORDERID DESIGN_KEY,T.BATCHNO BATCH_NO,to_char(T.STEELTYPE) GRADE_CODE,T.THICK THICK,T.SLABNO MATERIAL_NO, "
- +" T.MOTHERSLAB BOARD_NO FROM ZYHB_PLANDETAILOFPLATE@xgcx T, SEL_PACTDETAIL_NEW@xgcx A "
- +" WHERE T.ORDERID = A.ORDERNO "
- +" and T.SLABNO not in "
- +" (select T.BILLETID from KCH_TURNOFFLIST@xgcx T where t.ROLLNUMBER = '"+hashMapStr.get("BATCH_NO")+"') "
- +" and T.ORDERID is not null "
- +" union all "
- +" SELECT A.SAMPLINGREQUESTTIME,T.ALLOTORDERFORM DESIGN_KEY,T.ROLLNUMBER BATCH_NO,T.DETERMINANTCARDNUMBER GRADE_CODE,T.PLY THICK,T.BILLETID MATERIAL_NO "
- +" ,T.MOTHERBOARDNUMBER BOARD_NO FROM KCH_TURNOFFLIST@xgcx T, SEL_PACTDETAIL_NEW@xgcx A "
- +" WHERE T.ALLOTORDERFORM = A.ORDERNO and T.ALLOTORDERFORM is not null AND T.PSTATFLAG <> '0') t "
- +" WHERE t.BATCH_NO = '"+hashMapStr.get("BATCH_NO")+"' and t.BATCH_NO like 'H%' "
- +" and t.GRADE_CODE = '"+hashMapStr.get("STEEL_CODE")+"' and to_char(t.THICK, 'fm990.099') = to_char('"+hashMapStr.get("THICK")+"', 'fm990.099') "
- +" and T.DESIGN_KEY = '"+hashMapStr.get("DESIGN_KEY")+"' "
- + freqCode
- +" group by t.SAMPLINGREQUESTTIME,T.DESIGN_KEY,T.BATCH_NO,T.GRADE_CODE,T.THICK,t.MATERIAL_NO,t.BOARD_NO order by t.MATERIAL_NO asc";
- }
- return materialNosql;
- }
-
- public String ZHBXlgxStringSql(String processNos,String batch_no,String pline_code,String design_key,String steel_code,String thick){
- String outps ="";
- //if(memoRg2.equals("true1")){//230830性能改善
- outps = " and t.rcl_state= '"+processNos+"' ";
- //}
- String materialNosql="";
- if(pline_code.equals("ZB1")){
- materialNosql = "SELECT t.* "
- +" FROM (SELECT '' RCL_STATE,T.ORDERNO DESIGN_KEY,T.BATCHNO BATCH_NO,to_char(T.STEELCODE) GRADE_CODE,T.HEIGHT THICK,T.PRODUCTNO MATERIAL_NO "
- +" FROM MB_PLANDETAILOFPLATE@xgcx T, SEL_PACTDETAIL_NEW@xgcx A "
- +" WHERE T.ORDERNO = A.ORDERNO "
- +" and T.PRODUCTNO not in "
- +" (select T.BILLETID from KCZ_TURNOFFLIST@xgcx T where t.ROLLNUMBER = '"+batch_no+"') "
- +" and T.ORDERNO is not null AND A.SAMPLINGREQUESTTIME IN ('A', 'AB') "
- +" union all "
- +" SELECT t.rcl_state,T.ORDERNO DESIGN_KEY,T.ROLLNUMBER BATCH_NO,T.DETERMINANTCARDNUMBER GRADE_CODE,T.PLY THICK,T.BILLETID MATERIAL_NO "
- +" FROM KCZ_TURNOFFLIST@xgcx T, SEL_PACTDETAIL_NEW@xgcx A "
- +" WHERE T.ORDERNO = A.ORDERNO and T.ORDERNO is not null AND T.ISVALID <> '0') t "
- +" WHERE t.BATCH_NO = '"+batch_no+"' and t.BATCH_NO like 'Z%' "
- +" and t.GRADE_CODE = '"+steel_code+"' and to_char(t.THICK, 'fm990.099') = to_char('"+thick+"', 'fm990.099') "
- +" and T.DESIGN_KEY = '"+design_key+"' "
- //+" and T.RCL_STATE = '"+processNos+"' "
- +" and T.RCL_STATE like '%G' "
- + outps
- + " group by RCL_STATE,T.DESIGN_KEY,T.BATCH_NO,T.GRADE_CODE,T.THICK,t.MATERIAL_NO order by t.MATERIAL_NO ";
-
- }else if(pline_code.equals("HB1")){
- materialNosql ="SELECT t.* "
- +" FROM (SELECT '' RCL_STATE,T.ORDERID DESIGN_KEY,T.BATCHNO BATCH_NO,to_char(T.STEELTYPE) GRADE_CODE,T.THICK THICK,T.SLABNO MATERIAL_NO "
- +" FROM ZYHB_PLANDETAILOFPLATE@xgcx T, SEL_PACTDETAIL_NEW@xgcx A "
- +" WHERE T.ORDERID = A.ORDERNO "
- +" and T.SLABNO not in "
- +" (select T.BILLETID from KCH_TURNOFFLIST@xgcx T where t.ROLLNUMBER = '"+batch_no+"') "
- +" and T.ORDERID is not null "
- +" union all "
- +" SELECT t.RCL_STATE,T.ALLOTORDERFORM DESIGN_KEY,T.ROLLNUMBER BATCH_NO,T.DETERMINANTCARDNUMBER GRADE_CODE,T.PLY THICK,T.BILLETID MATERIAL_NO "
- +" FROM KCH_TURNOFFLIST@xgcx T, SEL_PACTDETAIL_NEW@xgcx A "
- +" WHERE T.ALLOTORDERFORM = A.ORDERNO and T.ALLOTORDERFORM is not null AND T.PSTATFLAG <> '0') t "
- +" WHERE t.BATCH_NO = '"+batch_no+"' and t.BATCH_NO like 'H%' "
- +" and t.GRADE_CODE = '"+steel_code+"' and to_char(t.THICK, 'fm990.099') = to_char('"+thick+"', 'fm990.099') "
- +" and T.DESIGN_KEY = '"+design_key+"' "
- //+" and T.RCL_STATE = '"+processNos+"' "
- +" and T.RCL_STATE like '%G' "
- + outps
- +" group by RCL_STATE,T.DESIGN_KEY,T.BATCH_NO,T.GRADE_CODE,T.THICK,t.MATERIAL_NO order by t.MATERIAL_NO asc";
- }
- return materialNosql;
- }
- //同样的订单标准 不同订单 同牌号 同规格
- public String ZHBStringSql2(String batch_no,String pline_code,String design_key,String steel_code,String thick){
- String materialNosql="";
- if(pline_code.equals("ZB1")){
- materialNosql = "SELECT t.* "
- +" FROM (SELECT A.SAMPLINGREQUESTTIME,T.ORDERNO DESIGN_KEY,T.BATCHNO BATCH_NO,to_char(T.STEELCODE) GRADE_CODE,T.HEIGHT THICK,T.PRODUCTNO MATERIAL_NO "
- +" FROM MB_PLANDETAILOFPLATE@xgcx T, SEL_PACTDETAIL_NEW@xgcx A "
- +" WHERE T.ORDERNO = A.ORDERNO "
- // +" and T.PRODUCTNO not in "
- // +" (select T.BILLETID from KCZ_TURNOFFLIST@xgcx T where t.ROLLNUMBER = '"+batch_no+"') "
- +" and T.ORDERNO is not null AND A.SAMPLINGREQUESTTIME IN ('A', 'AB') "
- +" union all "
- +" SELECT A.SAMPLINGREQUESTTIME,T.ORDERNO DESIGN_KEY,T.ROLLNUMBER BATCH_NO,T.DETERMINANTCARDNUMBER GRADE_CODE,T.PLY THICK,T.BILLETID MATERIAL_NO "
- +" FROM KCZ_TURNOFFLIST@xgcx T, SEL_PACTDETAIL_NEW@xgcx A "
- +" WHERE T.ORDERNO = A.ORDERNO and T.ORDERNO is not null AND T.ISVALID <> '0') t "
- +" WHERE t.BATCH_NO = '"+batch_no+"' and t.BATCH_NO like 'Z%' "
- +" and t.GRADE_CODE = '"+steel_code+"' and to_char(t.THICK, 'fm990.099') = to_char('"+thick+"', 'fm990.099') and T.DESIGN_KEY not like '19%' "
- //+" and T.DESIGN_KEY = '"+design_key+"' "
- + " group by t.SAMPLINGREQUESTTIME,T.DESIGN_KEY,T.BATCH_NO,T.GRADE_CODE,T.THICK,t.MATERIAL_NO order by t.MATERIAL_NO ";
-
- }else if(pline_code.equals("HB1")){
-
- materialNosql ="SELECT t.* "
- +" FROM (SELECT A.SAMPLINGREQUESTTIME,T.ORDERID DESIGN_KEY,T.BATCHNO BATCH_NO,to_char(T.STEELTYPE) GRADE_CODE,T.THICK THICK,T.SLABNO MATERIAL_NO "
- +" FROM ZYHB_PLANDETAILOFPLATE@xgcx T, SEL_PACTDETAIL_NEW@xgcx A "
- +" WHERE T.ORDERID = A.ORDERNO "
- //+" and T.SLABNO not in "
- //+" (select T.BILLETID from KCH_TURNOFFLIST@xgcx T where t.ROLLNUMBER = '"+batch_no+"') "
- +" and T.ORDERID is not null "
- +" union all "
- +" SELECT A.SAMPLINGREQUESTTIME,T.ALLOTORDERFORM DESIGN_KEY,T.ROLLNUMBER BATCH_NO,T.DETERMINANTCARDNUMBER GRADE_CODE,T.PLY THICK,T.BILLETID MATERIAL_NO "
- +" FROM KCH_TURNOFFLIST@xgcx T, SEL_PACTDETAIL_NEW@xgcx A "
- +" WHERE T.ALLOTORDERFORM = A.ORDERNO and T.ALLOTORDERFORM is not null AND T.PSTATFLAG <> '0') t "
- +" WHERE t.BATCH_NO = '"+batch_no+"' and t.BATCH_NO like 'H%' "
- +" and t.GRADE_CODE = '"+steel_code+"' and to_char(t.THICK, 'fm990.099') = to_char('"+thick+"', 'fm990.099') and T.DESIGN_KEY not like '19%' "
- //+ " and T.DESIGN_KEY = '"+design_key+"' "
- +" group by t.SAMPLINGREQUESTTIME,T.DESIGN_KEY,T.BATCH_NO,T.GRADE_CODE,T.THICK,t.MATERIAL_NO order by t.MATERIAL_NO asc";
- }
- return materialNosql;
- }
-
- //判断标准是否一样
- public String getQcmOrdDesignSampleM(String design_key,String design_key2,String HDNMU){
- String materialNosql="0";
- String qcmOrdM = "select t.* from QCM_ORD_DESIGN_SAMPLE_M t where t.design_key = '"+design_key+"' order by t.phy_code_l,t.phy_code_s ";
- String qcmOrdM2 = "select t.* from QCM_ORD_DESIGN_SAMPLE_M t where t.design_key = '"+design_key2+"' order by t.phy_code_l,t.phy_code_s ";
- List<HashMap> sampleM0=mapper.query(qcmOrdM.toString());//当前订单
- List<HashMap> sampleM1=mapper.query(qcmOrdM2.toString());//已生成订单
-
- if(sampleM0.size() == sampleM1.size()){
- //订单数一样 判断订单标准是否一样
- for (int i = 0; i < sampleM0.size(); i++) {
- String speclFltrue="0";
- String speclFl = (String) sampleM0.get(i).get("SPECL_FL");//标准类型
- String speclFl2 = (String) sampleM1.get(i).get("SPECL_FL");//标准类型
- if(speclFl.equals("2") || speclFl2.equals("2")){
- speclFltrue="1";
- }
- //代码
- String phyCodeL = (String) sampleM0.get(i).get("PHY_CODE_L");//材质检验大项代码
- String phyCodeM = (String) sampleM0.get(i).get("PHY_CODE_M");//试样组代码
- String phyCodeS = (String) sampleM0.get(i).get("PHY_CODE_S");//材质检验项目代码
- String itemCodeD = (String) sampleM0.get(i).get("ITEM_CODE_D");//试验方向代码
- String itemCodeT = (String) sampleM0.get(i).get("ITEM_CODE_T");//试验温度代码 试验温度代码 冲击 被引用
- String itemCodeS = (String) sampleM0.get(i).get("ITEM_CODE_S");//试样尺寸代码
- String itemCodeL = (String) sampleM0.get(i).get("ITEM_CODE_L");//试验位置代码
-
- String STDMIN = "";//判定范围下限
- String STDMAX = "";//判定范围上限
- if(HDNMU.equals("0")){
- STDMIN = (String) sampleM0.get(i).get("STDMIN");//判定范围下限
- STDMAX = (String) sampleM0.get(i).get("STDMAX");//判定范围上限
- }
- 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");
-
- //范围
- if(HDNMU.equals("0")){
- newItem=newItem+"-"+(STDMIN!=null?STDMIN:"null");
- newItem=newItem+"-"+(STDMAX!=null?STDMAX:"null");
- }
- //最后放是否类型
- if(speclFltrue.equals("0")){
- newItem=newItem+"-"+(speclFl!=null?speclFl:"null");
- }
- //代码
- String phyCodeL2 = (String) sampleM1.get(i).get("PHY_CODE_L");//材质检验大项代码
- String phyCodeM2 = (String) sampleM1.get(i).get("PHY_CODE_M");//试样组代码
- String phyCodeS2 = (String) sampleM1.get(i).get("PHY_CODE_S");//材质检验项目代码
- String itemCodeD2 = (String) sampleM1.get(i).get("ITEM_CODE_D");//试验方向代码
- String itemCodeT2 = (String) sampleM1.get(i).get("ITEM_CODE_T");//试验温度代码 试验温度代码 冲击 被引用
- String itemCodeS2 = (String) sampleM1.get(i).get("ITEM_CODE_S");//试样尺寸代码
- String itemCodeL2 = (String) sampleM1.get(i).get("ITEM_CODE_L");//试验位置代码
-
- String STDMIN2 = "";//判定范围下限
- String STDMAX2 = "";//判定范围上限
- if(HDNMU.equals("0")){
- STDMIN2 = (String) sampleM1.get(i).get("STDMIN");//判定范围下限
- STDMAX2 = (String) sampleM1.get(i).get("STDMAX");//判定范围上限
- }
-
- String newItem2=phyCodeL2+"-"+phyCodeM2+"-"+phyCodeS2;
- newItem2=newItem2+"-"+(itemCodeD2!=null?itemCodeD2:"null");
- newItem2=newItem2+"-"+(itemCodeT2!=null?itemCodeT2:"null");
- newItem2=newItem2+"-"+(itemCodeS2!=null?itemCodeS2:"null");
- newItem2=newItem2+"-"+(itemCodeL2!=null?itemCodeL2:"null");
- //范围
- if(HDNMU.equals("0")){
- newItem2=newItem2+"-"+(STDMIN2!=null?STDMIN2:"null");
- newItem2=newItem2+"-"+(STDMAX2!=null?STDMAX2:"null");
- }
- //最后放是否类型
- if(speclFltrue.equals("0")){
- newItem2=newItem2+"-"+(speclFl2!=null?speclFl2:"null");
- }
-
- //同牌号 不同订单 不同标准
- if(!newItem.equals(newItem2)){
- materialNosql="1";
- }
- }
- }
- return materialNosql;
- }
-
- }
|