From 7687eb6cc76ab8ca20b39e7567255939abc4ff66 Mon Sep 17 00:00:00 2001 From: ZengTao <2773468879@qq.com> Date: 星期一, 29 四月 2024 09:16:24 +0800 Subject: [PATCH] 修改进片逻辑判断,添加异常捕获 --- springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java | 161 +++++++++++++++++++++++++++++++---------------------- 1 files changed, 94 insertions(+), 67 deletions(-) diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java b/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java index baf7fa9..2fb7429 100644 --- a/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java +++ b/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java @@ -7,6 +7,7 @@ import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.nio.charset.StandardCharsets; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; @@ -17,15 +18,16 @@ import com.example.springboot.mapper.SpianMapper; import com.google.common.primitives.Bytes; - @Service public class SpianService { @Autowired private SpianMapper spianMapper; - + public static List<String> result=new ArrayList<String>(); // @GetMapping("/all") public Short selectAll(north_glass_buffer1 glasslist) { - + try { + + int cage1 = 0; int cells; int ids; @@ -34,17 +36,23 @@ int prctier; double width; double minwidth = 0; - - //north_glass_buffer1 glasslist = spianMapper.selectGlass(glassid); // 鑾峰彇鐜荤拑鍙傛暟 + double widths; + // north_glass_buffer1 glasslist = spianMapper.selectGlass(glassid); // 鑾峰彇鐜荤拑鍙傛暟 // 濡傛灉娌℃湁姝d鏃� if (glasslist == null) { return (300); } + if(glasslist.getglasslengthmm()>glasslist.getglassheightmm()) { + widths= glasslist.getglasslengthmm(); + }else{ + widths= glasslist.getglassheightmm(); + } + // Map result=new HashMap(); + - double widths = glasslist.getglasslengthmm(); String orderids = glasslist.getordernumber(); String FrameBarcode = glasslist.getFrameBarcode(); - String glassid=glasslist.getbarcode(); + String glassid = glasslist.getbarcode(); List<String> adddresslist = new ArrayList<>(); adddresslist.add("DB105.0");// 杩涚墖杞﹁捣濮嬩綅缃� adddresslist.add("DB105.2");// 杩涚墖杞︾洰鏍囦綅缃� @@ -70,10 +78,10 @@ // 淇濆瓨璁㈠崟浼樺厛椤哄簭绗煎瓙鍙� cage1 = storageCage2.getCage(); // 鍒ゆ柇璇ョ瀛愬彿鐩搁偦鏈�澶х殑绌烘牸鏁� - int cages = spianMapper.selectCage(cage1); + StorageCage cages = spianMapper.selectCage(cage1); // 濡傛灉鐩搁偦绗煎瓙娌℃湁绌烘牸,鎴栬�呮湁姝e湪鎵ц鐨勫嚭鐗囦换鍔℃椂杩斿洖400 - if (cages == 0) { + if (cages == null) { return (400); } StorageCage cages1; @@ -86,13 +94,13 @@ } // 鍒ゆ柇閫変腑绗煎瓙鏄惁鏈夊悎閫傚搴︾┖鏍� // 鏈夊悎閫傜┖鏍兼椂杩涚墖 - if (cages1 != null && cages >= 1 && storageCage2.getDisabled() == 0) { + if (cages1 != null && cages.getCell() >= 1 && storageCage2.getDisabled() == 0) { ids = cages1.getId();// 鏁版嵁搴揑D tiers = cages1.getTier();// 鍐呭鐗� cells = cages1.getCell();// 鏍煎瓙鍙� prcid = cages1.getPrcId();// 浼犵粰prc鐨勭洰鏍囧湴id width = cages1.getWidth();// 鏍煎瓙鍓╀綑瀹藉害 - widths = glasslist.getglasslengthmm(); + // 鎵ц杩涚墖 datas.add((short) 1000);// 璧峰浣嶇疆 @@ -103,54 +111,66 @@ // 鑾峰彇璇ユ牸瀛愬唴鏄惁鏈夌幓鐠� int cellint = spianMapper.selectcell(cage1, cells); if (cellint == 1) { - // 灏嗗鐗囩幓鐠冪殑鏁版嵁鏇存柊鍒板唴鐗� - spianMapper.UpdateDBCage(ids, cage1, cells, 1); - // 灏嗘柊鍏ョ殑鐜荤拑瀛樺叆澶栫墖 - - spianMapper.UpdataAddCage2(orderids, glassid, glasslist, cage1, cells, ids - 1, 2); - spianMapper.UpdataAddCage1(widths, cage1, cells);// 鍑忓皯鏍煎瓙瀹藉害 - + result.add("杩涚墖浠诲姟|feedstart1:" + datas+ LocalDateTime.now()); + outmesid(glassid, "DB105.20"); S7control.getinstance().WriteWord(adddresslist, datas); boolean qidong = listbool("DB105.16"); int qidong2 = 0; if (qidong == true) { qidong2 = 1; - }else{ + } else { while (qidong) { S7control.getinstance().WriteWord("DB105.16", (short) 1);// 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1 qidong = listbool("DB105.16"); } } - spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString(), prctier,qidong2);// 鏂板浠诲姟 - System.out.println("杩涚墖浠诲姟|" + datas); + // 灏嗗鐗囩幓鐠冪殑鏁版嵁鏇存柊鍒板唴鐗� + spianMapper.UpdateDBCageAdd(ids, cage1, cells, 1); + // 灏嗘柊鍏ョ殑鐜荤拑瀛樺叆澶栫墖 + spianMapper.UpdataAddCage2(orderids, glassid, glasslist, cage1, cells, ids - 1, 2,widths); + spianMapper.UpdataAddCage1(widths, cage1, cells);// 鍑忓皯鏍煎瓙瀹藉害 + spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString(), prctier, qidong2);// 鏂板浠诲姟 + result.add("杩涚墖浠诲姟|feedend1" + datas+ LocalDateTime.now()); + } else { // 鏁版嵁搴撲慨鏀圭瀛愯〃鏂板涓�鏉$幓鐠� - - spianMapper.UpdataAddCage2(orderids, glassid, glasslist, cage1, cells, ids, 2); - spianMapper.UpdataAddCage1(widths, cage1, cells);// 鍑忓皯鏍煎瓙瀹藉害 - - S7control.getinstance().WriteWord(adddresslist, datas); + result.add("杩涚墖浠诲姟|feedstart2" + datas+ LocalDateTime.now()); + outmesid(glassid, "DB105.20"); + S7control.getinstance().WriteWord(adddresslist, datas); boolean qidong = listbool("DB105.16"); int qidong2 = 0; if (qidong == true) { qidong2 = 1; + } else { + while (qidong) { + S7control.getinstance().WriteWord("DB105.16", (short) 1);// 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1 + qidong = listbool("DB105.16"); + } } - spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString(), prctier,qidong2);// 鏂板浠诲姟 - System.out.println("杩涚墖浠诲姟|" + datas); + spianMapper.UpdataAddCage2(orderids, glassid, glasslist, cage1, cells, ids, 2,widths); + spianMapper.UpdataAddCage1(widths, cage1, cells);// 鍑忓皯鏍煎瓙瀹藉害 + spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString(), prctier, qidong2);// 鏂板浠诲姟 + result.add("杩涚墖浠诲姟|feedend2" + datas+ LocalDateTime.now()); } - outmesid(glassid, "DB105.20"); + return (200); } } return (400); + } catch (Exception e) { + e.printStackTrace(); + return (500); + // TODO: handle exception + } } public Short selectout2(String glassid) { + try { // 瀹氫箟PRC鏁版嵁浼犻�佹暟缁� List<String> adddresslist = new ArrayList<>(); char[] a = glassid.toCharArray(); @@ -189,14 +209,14 @@ spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴� spianMapper.UpdataGlassCageState(glassid.toString(), 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵�� - System.out.println("鍑虹墖浠诲姟|" + datas); + result.add("鍑虹墖浠诲姟|outstart1" + datas+ LocalDateTime.now()); S7control.getinstance().WriteWord(adddresslist, datas);// 娲惧彂鍑虹墖杞︿换鍔� - S7control.getinstance().WriteWord("DB105.18", (short) 1);// 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1 + //S7control.getinstance().WriteWord("DB105.18", (short) 1);// 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1 boolean qidong = listbool("DB105.18"); int qidong2 = 0; if (qidong == true) { qidong2 = 1; - }else{ + } else { while (qidong) { S7control.getinstance().WriteWord("DB105.18", (short) 1);// 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1 qidong = listbool("DB105.18"); @@ -204,7 +224,7 @@ } spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid, state, qidong2);// 鏂板浠诲姟 outmesid(glassid, "DB105.34");// 娲惧彂鍑虹墖ID - + result.add("鍑虹墖浠诲姟|outend1" + datas+ LocalDateTime.now()); return (200);// 缁撴潫 } else { // 鑾峰彇鏍煎瓙鐨勭幓鐠冩暟閲� @@ -216,26 +236,25 @@ datas.add((short) 1000); datas.add((short) 1); datas.add((short) 1); - spianMapper.OverOutSlice(glassid.toString(), 1, 0);// 鏇存柊鍑虹墖闃熷垪浠诲姟鐘舵�佷负杩涜涓� - - spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴� - spianMapper.UpdataGlassCageState(glassid, 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵�� - - System.out.println("鍑虹墖浠诲姟|" + datas); + result.add("鍑虹墖浠诲姟|outstart2" + datas+ LocalDateTime.now()); outmesid(glassid, "DB105.34");// 娲惧彂鍑虹墖ID S7control.getinstance().WriteWord(adddresslist, datas);// 娲惧彂鍑虹墖杞︿换鍔� - S7control.getinstance().WriteWord("DB105.18", (short) 1);// 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1 + //S7control.getinstance().WriteWord("DB105.18", (short) 1);// 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1 boolean qidong = listbool("DB105.18"); int qidong2 = 0; if (qidong == true) { qidong2 = 1; - }else{ + } else { while (qidong) { S7control.getinstance().WriteWord("DB105.18", (short) 1);// 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1 qidong = listbool("DB105.18"); } } + spianMapper.OverOutSlice(glassid.toString(), 1, 0);// 鏇存柊鍑虹墖闃熷垪浠诲姟鐘舵�佷负杩涜涓� + spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴� + spianMapper.UpdataGlassCageState(glassid, 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵�� spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid, 1, qidong2);// 鏂板浠诲姟 + result.add("鍑虹墖浠诲姟|outend2" + datas+ LocalDateTime.now()); return (200);// 缁撴潫 } else { @@ -257,29 +276,29 @@ datas.add((short) 2); datas.add((short) 1); // 鏇存崲鐜荤拑鐨勭瀛� - String glassids = spianMapper.SelectGlassid(cage, cell); // 鑾峰彇琚皟鎷ㄧ殑鐜荤拑id - spianMapper.UpdataGlassCageState(glassids, 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵�� - spianMapper.UpdateDBCage(ids, cage, cell, 2);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲� - spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 鍑忓皯鏂版牸瀛愬搴� - spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴� - // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹� - System.out.println("鍑虹墖浠诲姟|" + datas); - S7control.getinstance().WriteWord(adddresslist, datas);// 娲惧彂鍑虹墖杞︿换鍔� - S7control.getinstance().WriteWord("DB105.18", (short) 1);// 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1 - outmesid(glassids, "DB105.34");// 娲惧彂璋冩嫧鐜荤拑ID + StorageCage glassids = spianMapper.SelectGlassid(cage, cell); // 鑾峰彇琚皟鎷ㄧ殑鐜荤拑id + // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹� + result.add("鍑虹墖浠诲姟|outstart3" + datas+ LocalDateTime.now()); + outmesid(glassids.getGlassId(), "DB105.34");// 娲惧彂璋冩嫧鐜荤拑ID + S7control.getinstance().WriteWord(adddresslist, datas);// 娲惧彂鍑虹墖杞︿换鍔� + //S7control.getinstance().WriteWord("DB105.18", (short) 1);// 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1 boolean qidong = listbool("DB105.18"); int qidong2 = 0; if (qidong == true) { qidong2 = 1; - }else{ + } else { while (qidong) { S7control.getinstance().WriteWord("DB105.18", (short) 1);// 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1 qidong = listbool("DB105.18"); } } - spianMapper.Inserttask(2, 0, cageout.getId(), ids, glassids, 2, qidong2);// 鏂板璋冨害浠诲姟 - + spianMapper.UpdataGlassCageState(glassids.getGlassId(), 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵�� + spianMapper.UpdateDBCage(ids, cage, cell, 2);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲� + spianMapper.UpdataAddCage1(glassids.getGlassWidth(), cages, cells);// 鍑忓皯鏂版牸瀛愬搴� + spianMapper.UpdataOutCage1(glassids.getGlassWidth(), cage, cell);// 澧炲姞鍘熸牸瀛愬搴� + spianMapper.Inserttask(2, 0, cageout.getId(), ids, glassids.getGlassId(), 2, qidong2);// 鏂板璋冨害浠诲姟 + result.add("鍑虹墖浠诲姟|outend3" + datas+ LocalDateTime.now()); return (200); // 缁撴潫 } else {// 绗煎瓙鍙峰ぇ浜�5鏃� @@ -297,39 +316,45 @@ datas.add((short) prcid2); datas.add((short) 2); datas.add((short) 1); - String glassids = spianMapper.SelectGlassid(cage, cell); // 鑾峰彇琚皟鎷ㄧ殑鐜荤拑id + StorageCage glassids = spianMapper.SelectGlassid(cage, cell); // 鑾峰彇琚皟鎷ㄧ殑鐜荤拑id // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹� - System.out.println("鍑虹墖浠诲姟|" + datas); + result.add("鍑虹墖浠诲姟|outstart4" + datas+ LocalDateTime.now()); + outmesid(glassids.getGlassId(), "DB105.34");// 娲惧彂璋冩嫧鐜荤拑ID S7control.getinstance().WriteWord(adddresslist, datas);// 娲惧彂鍑虹墖杞︿换鍔� - S7control.getinstance().WriteWord("DB105.18", (short) 1);// 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1 - - outmesid(glassids, "DB105.34");// 娲惧彂璋冩嫧鐜荤拑ID - spianMapper.UpdataGlassCageState(glassids, 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵�� + //S7control.getinstance().WriteWord("DB105.18", (short) 1);// 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1 boolean qidong = listbool("DB105.18"); int qidong2 = 2; if (qidong == true) { qidong2 = 1; - }else{ + } else { while (qidong) { S7control.getinstance().WriteWord("DB105.18", (short) 1);// 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1 qidong = listbool("DB105.18"); } } - spianMapper.Inserttask(2, 0, cageout.getId() + 1, ids, glassids, 2, qidong2);// 鏂板璋冨害浠诲姟 + spianMapper.UpdataGlassCageState(glassids.getGlassId(), 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵�� spianMapper.UpdateDBCage(ids, cage, cell, 2);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲� - spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 鍑忓皯鏂版牸瀛愬搴� - spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴� - + spianMapper.UpdataAddCage1(glassids.getGlassWidth(), cages, cells);// 鍑忓皯鏂版牸瀛愬搴� + spianMapper.UpdataOutCage1(glassids.getGlassWidth(), cage, cell);// 澧炲姞鍘熸牸瀛愬搴� + spianMapper.Inserttask(2, 0, cageout.getId() + 1, ids, glassids.getGlassId(), 2, qidong2);// 鏂板璋冨害浠诲姟 + result.add("鍑虹墖浠诲姟|outend4" + datas+ LocalDateTime.now()); return (200);// 缁撴潫 } } } - + } catch (Exception e) { + e.printStackTrace(); + return (500); + // TODO: handle exception } +} // 娲惧彂浠诲姟鐜荤拑id public void outmesid(String glassid, String address) { + try { + + // System.out.println("outmesid:" + glassid); List<Byte> glassidlist = new ArrayList(); char ds[] = glassid.toCharArray(); @@ -339,7 +364,9 @@ byte[] bytes = Bytes.toArray(glassidlist); System.out.println("outmesidbytes:" + bytes.length); S7control.getinstance().WriteByte(address, bytes);// 娲惧彂鍑虹墖id - + } catch (Exception e) { + e.printStackTrace(); + } } // 鑾峰彇鍦板潃鍐呯殑鐜荤拑id杞瓧绗︿覆 -- Gitblit v1.8.0