From ad7f461a110cd30ae219bcaa977bbeb0c8409599 Mon Sep 17 00:00:00 2001 From: 严智鑫 <test> Date: 星期三, 29 五月 2024 08:13:26 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/Albania_Mes --- springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java | 127 ++++++++++++++++++++++++++++++----------- 1 files changed, 92 insertions(+), 35 deletions(-) diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java b/springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java index f779ef2..8dc6562 100644 --- a/springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java +++ b/springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java @@ -7,6 +7,7 @@ import com.example.springboot.component.PLCAutoMes; import com.example.springboot.component.S7control; import com.example.springboot.entity.GlassInfo; +import com.example.springboot.entity.StorageCage; import com.example.springboot.entity.device.PlcParameterObject; import com.example.springboot.mapper.AlbaniaMapper; import com.google.common.primitives.Bytes; @@ -19,50 +20,105 @@ //璇诲彇DB105鍖烘枃浠� private PlcParameterObject plcmes=PLCAutoMes.PlcMesObject; public Short selectAll(GlassInfo glassInfo) { + if(glassInfo==null){ + //鏈夎繘鐗囪姹備絾鏄祴閲忓彴娌℃湁鐜荤拑 + return 400; + } + + System.out.println(glassInfo+"鍒濆"); //瀹氫箟鍒濆瀛楁 - int cageid; + StorageCage cage; String glassid=glassInfo.getGlassid(); Double width=glassInfo.getWidth(); Double height=glassInfo.getHeight(); + String flowcard=glassInfo.getFlowcard(); int glasstype=glassInfo.getGlasstype(); - - - //鍒ゆ柇鏄惁鏈夊悓绫诲瀷鐨� - cageid=albaniaMapper.SelectCage(glassInfo.getGlasstype(), glassInfo.getWidth(), 50); + cage=albaniaMapper.SelectCage(glasstype,width, 50); + //濡傛灉鏈夊悓绫诲瀷鏃剁洿鎺ュ鍔� - if(cageid!=Integer.MIN_VALUE){ + if(cage!=null){ //鍙戦�乸lc浠诲姟 + Mestast(glassid, 1001, cage.getId(), 1,"MESID1",1); - //浠诲姟瀹屾垚鍚庡鍔犳暟閲� - albaniaMapper.UpdateCageNumberAdd(cageid); - }else{ + }else{ //鍒ゆ柇鐜荤拑鏄惁杩涘叆澶х墖绗� - if(glassInfo.getThickness()>=15){ - cageid=albaniaMapper.SelectNewCell(3,5); + if(glassInfo.getThickness()>=15){ + cage=albaniaMapper.SelectNewCell(3,5); }else{ - cageid=albaniaMapper.SelectNewCell(3,5); - //鍙戦�乸lc浠诲姟 + cage=albaniaMapper.SelectNewCell(0,4); + + System.out.println(cage+"鐞嗙墖绗煎垽鏂�"); } //褰撹繑鍥炵殑鏍煎瓙鍙蜂负绌烘椂,杩斿洖400绗煎瓙宸叉弧 - if(cageid==Integer.MIN_VALUE){ - return(400); + if(cage!=null){ + albaniaMapper.AddCage(cage.getId(), glassid,width, height, 1, glasstype, 0); + Mestast(glassid,1001,cage.getId(),1,"MESID1",1); + albaniaMapper.UpdateStorage(width,height,cage.getId()); + System.out.println(cage+"浠诲姟鍙戦��"); }else{ - //鍒ゆ柇瀹屾垚浠诲姟鍚庡鍔犳暟閲� - albaniaMapper.AddCage(cageid, glassid, width, height, width, height, 0, glasstype, 1); + return(400); } } //澧炲姞浠诲姟璁板綍 - albaniaMapper.Inserttask(0, 0, 0, cageid, glassInfo.getGlassid(), 0, 0); + albaniaMapper.Inserttask(0, 0, 1001, cage.getId(), glassid,glasstype, flowcard,0,0); + albaniaMapper.UpdateQueueState(glassid); return(200); } - - public Short selectout(String glasstype) { - //鍒ゆ柇绗煎瓙鏈�鍏堝嚭鍝墖 - - + //鍑虹墖 + public Short selectout(int line) { + GlassInfo glassmate=new GlassInfo(); + GlassInfo method=new GlassInfo(); + StorageCage glass=new StorageCage(); + int glassend=0; + method=albaniaMapper.SelectMethod(line); + double width=0; + for(int i=1;i<=7;i++){ + //濡傛灉涓嶆槸鐩撮�氭ā寮忓彧鍑烘湁瀹屾暣閰嶇墖鐨勬祦绋嬪崱 + if(method.getMethod()==0){ + glassmate= albaniaMapper.SelectOutGlass(line); + }else{ + //鐩撮�氭ā寮忔椂鎸夐『搴忕洿鍑� + glassmate= albaniaMapper.SelectOutGlass2(line); + //鑾峰彇鐩撮�氭ā寮忔渶鍚庝竴鍧� + glassend=albaniaMapper.SelectOutGlassend(line); + } + + if(glassmate==null){ + //鏈鍙栦换鍔� + return (400); + }else{ + + glass= albaniaMapper.SelectCageGlass(glassmate.getGlasstype()); + if(glass!=null){ + //鍙戦�佷换鍔′箣鍓嶅垽鏂溅涓婄殑鍓╀綑瀹藉害鏄惁澶т簬姝ょ幓鐠� + width=width+glassmate.getWidth()+50; + //澶т簬杞︿笂绌轰綑瀹藉害鏃舵彁鍓嶅彂閫佸嚭鐗囧惎鍔� + if(width>5000){ + //鏈閰嶇墖瀹屾垚鍙戦�佸惎鍔ㄥ懡浠� + S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short)1);//鍑虹墖浠诲姟鍚姩 + return (200);//缁撴潫 + } + //鍙戦�侀厤鐗囨暟鎹� + Mestast(glass.getGlassId(), glass.getId(),40, 0,"MESID"+i,i); + albaniaMapper.AddFinishNumber(glassmate.getFlowcard(), glassmate.getMateid(), glassmate.getTier()); + albaniaMapper.Inserttask(1, 0, glass.getId(), 2002, glassmate.getGlassid(), glassmate.getGlasstype(),glass.getFlowcard(),glassmate.getMateid(),glassmate.getTier()); + if(glassmate.getTier()==glassmate.getId()||glassmate.getTier()==glassend){//褰撻厤鐗囨暟閲忕瓑浜庢垚鍝佸皬鐗囨�荤墖鏁版椂 + //鏈閰嶇墖瀹屾垚鍙戦�佸惎鍔ㄥ懡浠� + S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short)1);//鍑虹墖浠诲姟鍚姩 + return (200);//缁撴潫 + } + + + }else{ + return (400);//缁撴潫 + } + + + } + } return(200);// 缁撴潫 } @@ -77,9 +133,10 @@ glassidlist.add((byte) iditem); } byte[] bytes = Bytes.toArray(glassidlist); + //writeString System.out.println("outmesidbytes:" + bytes.length); - S7control.getinstance().WriteByte(plcmes.getPlcParameter(address).getAddress(plcmes.getPlcParameter(address).getAddressIndex()),bytes); - //S7control.getinstance().WriteByte(address, bytes);// 娲惧彂鍑虹墖id + System.out.println(plcmes.getPlcParameter(address).getAddress()); + System.out.println(); } @@ -93,7 +150,7 @@ writedstrIdOut.append((char) iditem); } } - return writedstrIdOut; + return writedstrIdOut; } // char鏁扮粍杞寲鎴恇it鏁扮粍 @@ -115,15 +172,15 @@ return listbool; } - // 鏍规嵁鐜荤拑id瀹屾垚鍦ㄨ繘琛屼腑鐨勪换鍔� - public void overtask(String glassid) { - - // spianMapper.UpdatetaskOut(glassid.toString());// 瀹屾垚涓婁竴娆� 鍑虹墖鎴栬�呰繘鐗囦换鍔� - // spianMapper.OverOutSlice(glassid.toString(), 2, 1);// 瀹屾垚鍑虹墖闃熷垪浠诲姟 - // spianMapper.UpdataGlassCage(glassid.toString(), 0);// 娓呴櫎鍑虹墖鏍煎瓙鐜荤拑淇℃伅 - // spianMapper.UpdateCageOver(glassid.toString(), 0);// 鏇存敼绗煎瓙琛ㄥ嚭鐗囩姸鎬� - // spianMapper.UpdateCageadd(glassid.toString(), 1);// 鏇存敼绗煎瓙琛ㄨ繘鐗囩姸鎬� - // spianMapper.UpdateAddQueue(glassid.toString());// 鎶婅繘鐗囩殑鐜荤拑鏇存柊鍒板嚭鐗囬槦鍒椾腑 + //涓嬪彂鐞嗙墖浠诲姟 + public void Mestast(String glassid,int MESToPLCStart1,int MESToPLCTarget1,int MESToPLC,String address,int i) { + S7control.getinstance().writeString(plcmes.getPlcParameter(address).getAddress(),glassid);//鐜荤拑id + S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLCStart"+i).getAddress(), (short) MESToPLCStart1);//璧峰浣嶇疆 + S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLCTarget"+i).getAddress(), (short) MESToPLCTarget1);//鐩爣浣嶇疆 + if(MESToPLC!=0){ + S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short)MESToPLC);//mes鐞嗙墖浠诲姟绫诲瀷 + } } + } -- Gitblit v1.8.0