From ca1ae93196be366e707647c42e3039512a2cf45f Mon Sep 17 00:00:00 2001 From: wu <731351411@qq.com> Date: 星期二, 12 十一月 2024 14:00:24 +0800 Subject: [PATCH] 字段显示,结束任务功能更新,界面调整,测量显示 --- springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java | 188 +++++++++++++++++++++++++++++++--------------- 1 files changed, 126 insertions(+), 62 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 f2a2366..0641df8 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 @@ -9,6 +9,7 @@ import com.example.springboot.component.S7control; import com.example.springboot.entity.GlassInfo; import com.example.springboot.entity.StorageCage; +import com.example.springboot.entity.StorageTask; import com.example.springboot.entity.device.PlcParameterObject; import com.example.springboot.mapper.AlbaniaMapper; import com.google.common.primitives.Bytes; @@ -48,7 +49,7 @@ } else { // 鍒ゆ柇鐜荤拑鏄惁杩涘叆澶х墖绗� - if (glassInfo.getThickness() >= 15) { + if (glassInfo.getThickness() > 4 &&glassInfo.getWidth()>= 1500) { cage = albaniaMapper.SelectNewCell(3, 5); } else { cage = albaniaMapper.SelectNewCell(0, 4); @@ -58,7 +59,7 @@ // 褰撹繑鍥炵殑鏍煎瓙鍙蜂负绌烘椂,杩斿洖400绗煎瓙宸叉弧 if (cage != null) { albaniaMapper.AddCage(cage.getId(), glassid, width, height, 1, glasstype, 0, thickness, - glassfilms.getFilms(),glassfilms.getFlowcard(),glassfilms.getMateid()); + glassfilms.getFilms(), glassfilms.getFlowcard(), glassfilms.getMateid()); Mestast(glassid, 1001, cage.getId(), 1, "MESID1", 1); System.out.println("浠诲姟鍙戦�佺幓鐠僫d:" + glassid + "璧峰浣嶇疆:" + 1001 + "鏍煎瓙鍙�:" + cage.getId() + "鍚姩:" + 1); albaniaMapper.UpdateStorage(width, height, cage.getId()); @@ -72,12 +73,43 @@ return (200); } - //琛ュ厖鍑虹墖 + + // 琛ュ厖鍑虹墖 public Short mateOut() { double carwidth = -300; - list<StorageTask> glassmate = albaniaMapper.SelectMateOut(); + + List<StorageTask> glassmate = albaniaMapper.SelectOutTask(); + String type=glassmate.get(0).getTaskType(); + if (glassmate.size() == 0) { + return (400); + } else { + for (int i = 0; i < glassmate.size(); i++) { + GlassInfo glass = albaniaMapper.SelectGlassInfo(glassmate.get(i).getGlasstype()); + carwidth = carwidth + glass.getWidth() + 300; + if (carwidth >= 4300&&type!=glassmate.get(i).getTaskType()) { + S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short) 1);// 鍑虹墖浠诲姟鍚姩 + return (200); + } else { + //澧炲姞涓�鏉′换鍔¤褰� + albaniaMapper.Inserttask(1, 0, Integer.parseInt(glassmate.get(i).getShelfRack()), 2001, + glassmate.get(i).getGlassId(), glassmate.get(i).getGlasstype(), + glassmate.get(i).getFlowcard(), glassmate.get(i).getMateid(), glassmate.get(i).geTier()); + //瀹屾垚鍑虹墖闃熷垪鐨勪换鍔� + albaniaMapper.UpdateOutTask(glassmate.get(i).getId()); + //鍙戦�乸lc浠诲姟 + Mestast(glassmate.get(i).getGlassId(), + Integer.parseInt(glassmate.get(i).getShelfRack()), 2001, 0, "MESID" + (i + 1),i + 1); + System.out.println("鍙戦�佸嚭鐗囬槦鍒楅厤鐗囦换鍔�:"+glassmate.get(i).getShelfRack()); + } + } + // 鏈閰嶇墖瀹屾垚鍙戦�佸惎鍔ㄥ懡浠� + // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short) 1);// 鍑虹墖浠诲姟鍚姩 + MestoPlc(); + + } return (200); } + // 鍑虹墖 public Short selectout(int line) { GlassInfo glassmate = new GlassInfo(); @@ -85,58 +117,69 @@ StorageCage glass = new StorageCage(); int glassend = 0; double carwidth = -300; - method = albaniaMapper.SelectMethod(line); - if (method == null) { - return (400); - } double width = 0; for (int i = 1; i <= 7; i++) { + method = albaniaMapper.SelectMethod(line); + if (method == null) { + return (400); + } // 濡傛灉涓嶆槸鐩撮�氭ā寮忓彧鍑烘湁瀹屾暣閰嶇墖鐨勬祦绋嬪崱 if (method.getMethod() == 0) { // glassmate= albaniaMapper.SelectOutGlass(1); - //鍒ゆ柇鏈夋暟閲忕殑閰嶇墖id + // 鍒ゆ柇鏈夋暟閲忕殑閰嶇墖id List<GlassInfo> peipianid = albaniaMapper.SelectOutGlass3(method.getFlowcard()); if (peipianid.size() == 0) { - System.out.println("peipianid:"+peipianid); + System.out.println("peipianid:" + peipianid); return (400); } else { for (int j = 0; j < peipianid.size(); j++) { // 鍒ゆ柇閰嶇墖瀹藉害鏄惁澶熶笂澶ц溅 - // GlassInfo glasswidth = albaniaMapper.SelectOutGlass6(peipianid.get(j).getFlowcard(),peipianid.get(j).getMateid()); + // GlassInfo glasswidth = + // albaniaMapper.SelectOutGlass6(peipianid.get(j).getFlowcard(),peipianid.get(j).getMateid()); // if (glasswidth.getWidth() <= 4300) { - //鏄惁鏈夎冻澶熺殑搴撳瓨鏁伴噺 - List<String> peipiancage = albaniaMapper.SelectOutGlass4(peipianid.get(j).getFlowcard(),peipianid.get(j).getMateid()); - //鏄惁鏈夎冻澶熺殑鍙嚭鐗囨暟閲� - List<String> peipiancage2 = albaniaMapper.SelectOutGlass8(peipianid.get(j).getFlowcard(),peipianid.get(j).getMateid()); - // System.out.println("peipiancage:"+peipiancage+peipianid.get(j).getMateid()); - // System.out.println("peipiancage2:"+peipiancage2); - if (!peipiancage.contains("涓嶈冻")&&!peipiancage2.contains("涓嶈冻")) { - List<GlassInfo> chupian = albaniaMapper.SelectOutGlass7(peipianid.get(j).getFlowcard(),peipianid.get(j).getMateid()); - for (int k = 0; k < chupian.size(); k++) { - glass = albaniaMapper.SelectCageGlass(chupian.get(k).getGlasstype()); - carwidth= carwidth+glass.getGlassWidth()+300; - if (carwidth<=4300) { - // 鍙戦�侀厤鐗囨暟鎹� - // Mestast(chupian.get(k).getGlassid(), glass.getId(), 2001, 0, "MESID" + (k+1), k+1); - albaniaMapper.AddFinishNumber(chupian.get(k).getFlowcard(), chupian.get(k).getMateid(), chupian.get(k).getTier()); - storageCageService.UpdateStroageCageByCell(glass.getId(), -1);// 鐜荤拑鏁伴噺-1 - albaniaMapper.Inserttask(1, 0, glass.getId(), 2001, chupian.get(k).getGlassid(), - chupian.get(k).getGlasstype(), chupian.get(k).getFlowcard(), chupian.get(k).getMateid(), chupian.get(k).getTier()); - }else { - albaniaMapper.AddFinishNumber(chupian.get(k).getFlowcard(), chupian.get(k).getMateid(), chupian.get(k).getTier()); - storageCageService.UpdateStroageCageByCell(glass.getId(), -1);// 鐜荤拑鏁伴噺-1 - albaniaMapper.InsertOutTask(1, 0, glass.getId(), 2001, chupian.get(k).getGlassid(), - chupian.get(k).getGlasstype(), chupian.get(k).getFlowcard(), chupian.get(k).getMateid(), chupian.get(k).getTier()); - } - + // 鏄惁鏈夎冻澶熺殑搴撳瓨鏁伴噺 + List<String> peipiancage = albaniaMapper.SelectOutGlass4(peipianid.get(j).getFlowcard(), + peipianid.get(j).getMateid()); + // 鏄惁鏈夎冻澶熺殑鍙嚭鐗囨暟閲� + List<String> peipiancage2 = albaniaMapper.SelectOutGlass8(peipianid.get(j).getFlowcard(), + peipianid.get(j).getMateid()); + // System.out.println("peipiancage:"+peipiancage+peipianid.get(j).getMateid()); + // System.out.println("peipiancage2:"+peipiancage2); + if (!peipiancage.contains("涓嶈冻") && !peipiancage2.contains("涓嶈冻")) { + List<GlassInfo> chupian = albaniaMapper.SelectOutGlass7(peipianid.get(j).getFlowcard(), + peipianid.get(j).getMateid()); + for (int k = 0; k < chupian.size(); k++) { + glass = albaniaMapper.SelectCageGlass(chupian.get(k).getGlasstype()); + carwidth = carwidth + glass.getGlassWidth() + 300; + if (carwidth <= 4300) { + // 鍙戦�侀厤鐗囨暟鎹� + Mestast(chupian.get(k).getGlassid(), glass.getId(), 2001, 0, "MESID" + (k + 1), + k + 1); + albaniaMapper.AddFinishNumber(chupian.get(k).getFlowcard(), + chupian.get(k).getMateid(), chupian.get(k).getTier()); + storageCageService.UpdateStroageCageByCell(glass.getId(), -1);// 鐜荤拑鏁伴噺-1 + albaniaMapper.Inserttask(1, 0, glass.getId(), 2001, chupian.get(k).getGlassid(), + chupian.get(k).getGlasstype(), chupian.get(k).getFlowcard(), + chupian.get(k).getMateid(), chupian.get(k).getTier()); + } else { + albaniaMapper.AddFinishNumber(chupian.get(k).getFlowcard(), + chupian.get(k).getMateid(), chupian.get(k).getTier()); + storageCageService.UpdateStroageCageByCell(glass.getId(), -1);// 鐜荤拑鏁伴噺-1 + //澧炲姞鍑虹墖闃熷垪鐨勪换鍔� + albaniaMapper.InsertOutTask(1, 0, glass.getId(), 2001, chupian.get(k).getGlassid(), + chupian.get(k).getGlasstype(), chupian.get(k).getFlowcard(), + chupian.get(k).getMateid(), chupian.get(k).getTier()); } - // 鏈閰嶇墖瀹屾垚鍙戦�佸惎鍔ㄥ懡浠� - S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short) 1);// 鍑虹墖浠诲姟鍚姩 - return (200);// 缁撴潫 + } + // 鏈閰嶇墖瀹屾垚鍙戦�佸惎鍔ㄥ懡浠� + // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(),(short) 1);// 鍑虹墖浠诲姟鍚姩 + MestoPlc(); + return (200);// 缁撴潫 + } // } - // else { - // continue; + // else { + // continue; // } } System.out.println("鏈湁瀹屾暣閰嶇墖"); @@ -145,33 +188,39 @@ } else { // 鐩撮�氭ā寮忔椂鎸夐『搴忕洿鍑� - glassmate= albaniaMapper.SelectOutGlass(1); - // glassmate = albaniaMapper.SelectOutGlass2(1); + // glassmate = albaniaMapper.SelectOutGlass(1); + glassmate = albaniaMapper.SelectOutGlass2(1); + System.out.println("glassmate:"+glassmate); // // 鑾峰彇鐩撮�氭ā寮忔渶鍚庝竴鍧� // glassend = albaniaMapper.SelectOutGlassend(1); - + } System.err.println("鍑虹墖:" + glassmate); if (glassmate == null && i > 1) { // 鏈閰嶇墖瀹屾垚鍙戦�佸惎鍔ㄥ懡浠� - S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short) 1);// 鍑虹墖浠诲姟鍚姩 + // 鍑虹墖浠诲姟鍚姩 + MestoPlc(); System.out.println("鍑哄畬浠诲姟:1,浠诲姟鐘舵��:0,璧峰:" + glass.getId() + ",鐩爣" + "2001"); return (200);// 缁撴潫 } if (glassmate == null) { // 鏈鍙栦换鍔� System.out.println("鏈鍙栦换鍔�:" + i); - return (400); + glassmate = albaniaMapper.SelectOutGlass2(1); + if(glassmate==null){ + System.out.println("glassmate绌�"); + return (400); + } } else { glass = albaniaMapper.SelectCageGlass(glassmate.getGlasstype()); - System.out.println("glassmate:" + glassmate + "glass:" + glass); + System.out.println("glassmate:" + glassmate + "glass:" + glass); if (glass != null) { // 鍙戦�佷换鍔′箣鍓嶅垽鏂溅涓婄殑鍓╀綑瀹藉害鏄惁澶т簬姝ょ幓鐠� width = width + glassmate.getWidth() + 300; // 澶т簬杞︿笂绌轰綑瀹藉害鏃舵彁鍓嶅彂閫佸嚭鐗囧惎鍔� if (width > 4300) { // 鏈閰嶇墖瀹屾垚鍙戦�佸惎鍔ㄥ懡浠� - S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short) 1);// 鍑虹墖浠诲姟鍚姩 + MestoPlc(); return (200);// 缁撴潫 } // 鍙戦�侀厤鐗囨暟鎹� @@ -179,12 +228,14 @@ albaniaMapper.AddFinishNumber(glassmate.getFlowcard(), glassmate.getMateid(), glassmate.getTier()); storageCageService.UpdateStroageCageByCell(glass.getId(), -1);// 鐜荤拑鏁伴噺-1 albaniaMapper.Inserttask(1, 0, glass.getId(), 2001, glassmate.getGlassid(), - glassmate.getGlasstype(), glass.getFlowcard(), glassmate.getMateid(), glassmate.getTier()); - // if (glassmate.getTier() == glassmate.getId() || glassmate.getTier() == glassend|| method.getMethod() == 1) {// 褰撻厤鐗囨暟閲忕瓑浜庢垚鍝佸皬鐗囨�荤墖鏁版椂 - // // 鏈閰嶇墖瀹屾垚鍙戦�佸惎鍔ㄥ懡浠� - // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short) 1);// 鍑虹墖浠诲姟鍚姩 - // System.out.println("浠诲姟绫诲瀷:1,浠诲姟鐘舵��:0,璧峰:" + glass.getId() + ",鐩爣" + "2001"); - // return (200);// 缁撴潫 + glassmate.getGlasstype(), glass.getFlowcard(), glassmate.getMateid(), glassmate.getTier()); + // if (glassmate.getTier() == glassmate.getId() || glassmate.getTier() == + // glassend|| method.getMethod() == 1) {// 褰撻厤鐗囨暟閲忕瓑浜庢垚鍝佸皬鐗囨�荤墖鏁版椂 + // // 鏈閰嶇墖瀹屾垚鍙戦�佸惎鍔ㄥ懡浠� + // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), + // (short) 1);// 鍑虹墖浠诲姟鍚姩 + // System.out.println("浠诲姟绫诲瀷:1,浠诲姟鐘舵��:0,璧峰:" + glass.getId() + ",鐩爣" + "2001"); + // return (200);// 缁撴潫 // } } else { @@ -248,20 +299,14 @@ // 涓嬪彂鐞嗙墖浠诲姟 public void Mestast(String glassid, int MESToPLCStart1, int MESToPLCTarget1, int MESToPLC, String address, int i) { - // System.out.println("涓嬪彂鐞嗙墖浠诲姟鏁版嵁锛�"); - // System.out.println("鐜荤拑 ID: " + glassid); - // System.out.println("璧峰浣嶇疆: " + MESToPLCStart1); - // System.out.println("鐩爣浣嶇疆: " + MESToPLCTarget1); - // System.out.println("浠诲姟绫诲瀷: " + MESToPLC); - // System.out.println("鍦板潃: " + address); - // System.out.println("绱㈠紩: " + 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鐞嗙墖浠诲姟绫诲瀷 + // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short) MESToPLC);// mes鐞嗙墖浠诲姟绫诲瀷 + MestoPlc(); } } @@ -272,4 +317,23 @@ return listbool; } + public void MestoPlc() { + while (true) { + String currentValue = plcmes.getPlcParameter("MESToPLC").getValue(); + // 妫�鏌� MESToPLC 鐨勫�兼槸鍚︿负 0 + if (currentValue.equals("1")) { + System.out.println("鍙戦�佸惎鍔ㄥ瓧鐜板湪涓�1,鍋滄寰幆鍐欏叆"); + break; // 閫�鍑哄惊鐜� + } + // 濡傛灉涓嶄负 1锛岀户缁啓鍏� + S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(),(short) 1);// 浠诲姟鍙戦�佸瓧 + System.out.println("缁х画鍐欏叆 MESToPLC,褰撳墠鍊�:" + currentValue); + try { + Thread.sleep(100); // 渚嬪姣忕妫�鏌ヤ竴娆� + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + } -- Gitblit v1.8.0