From af5edce322ff326356a32011e140182846c5dbed Mon Sep 17 00:00:00 2001 From: ZengTao <2773468879@qq.com> Date: 星期二, 28 十一月 2023 08:02:15 +0800 Subject: [PATCH] 测试后调整理片逻辑 --- springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java | 137 ++++++++++++++++++++++++++------------------- 1 files changed, 80 insertions(+), 57 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 9a6cb6a..f97d3a1 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 @@ -1,6 +1,7 @@ package com.example.springboot.service; import java.lang.reflect.Array; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; @@ -11,6 +12,7 @@ import com.example.springboot.component.S7control; import com.example.springboot.entity.Glass; import com.example.springboot.entity.StorageCage; +import com.example.springboot.entity.north_glass_buffer1; import com.example.springboot.mapper.SpianMapper; import com.google.common.primitives.Bytes; @@ -33,18 +35,20 @@ double width; double minwidth = 0; - Glass glasslist = spianMapper.selectGlass(glassid); // 鑾峰彇鐜荤拑鍙傛暟 + north_glass_buffer1 glasslist = spianMapper.selectGlass(glassid); // 鑾峰彇鐜荤拑鍙傛暟 if (glasslist == null) { return (300); } - double widths = glasslist.getwidth(); - String orderids = glasslist.getOrderId(); + double widths = glasslist.getglasslengthmm(); + String orderids = glasslist.getordernumber(); List<String> adddresslist = new ArrayList<>(); adddresslist.add("DB105.0");// 杩涚墖杞﹁捣濮嬩綅缃� adddresslist.add("DB105.2");// 杩涚墖杞︾洰鏍囦綅缃� - adddresslist.add("DB105.4");// 杩涚墖绗肩幓鐠冩暟 - adddresslist.add("DB105.12");// 杩涚墖杞﹀惎鍔� 1涓哄惎鍔� + adddresslist.add("DB105.4");// 杩涚墖鐜荤拑瀹� + adddresslist.add("DB105.8");//杩涚墖绗煎唴宸叉湁鐜荤拑鏁� + adddresslist.add("DB105.16");// 杩涚墖杞﹀惎鍔� 1涓哄惎鍔� + List<Short> datas = new ArrayList<>(); // String orderid="A001"; @@ -74,20 +78,34 @@ cells = cages1.getCell();// 鏍煎瓙鍙� prcid = cages1.getPrcId();// 浼犵粰prc鐨勭洰鏍囧湴id width = cages1.getWidth();// 鏍煎瓙鍓╀綑瀹藉害 - widths = glasslist.getwidth(); + widths = glasslist.getglasslengthmm(); // 鎵ц杩涚墖 - datas.add((short) 1000); - datas.add((short) prcid); - datas.add((short) prctier); - datas.add((short) 1); - // 鏁版嵁搴撲慨鏀圭瀛愯〃鏂板涓�鏉$幓鐠� + datas.add((short) 1000);//璧峰浣嶇疆 + datas.add((short) prcid);//鐩爣浣嶇疆 + datas.add((short) widths);//杩涚墖鐜荤拑瀹� + datas.add((short) prctier); //鐜荤拑鏁� + datas.add((short) 1);//浠诲姟鍚姩 + //鑾峰彇璇ユ牸瀛愬唴鏄惁鏈夌幓鐠� + int cellint=spianMapper.selectcell(cage1,cells); + if(cellint==1){ + //灏嗗鐗囩幓鐠冪殑鏁版嵁鏇存柊鍒板唴鐗� + spianMapper.UpdateDBCage(ids, cage1, cells,1); + //灏嗘柊鍏ョ殑鐜荤拑瀛樺叆澶栫墖 + spianMapper.UpdataAddCage(orderids.toString(), glassid, widths, cage1, cells, ids-1, 2); + spianMapper.UpdataAddCage1(widths, cage1, cells);// 鍑忓皯鏍煎瓙瀹藉害 + spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString());// 鏂板浠诲姟 + S7control.getinstance().WriteWord(adddresslist, datas); + }else{ + // 鏁版嵁搴撲慨鏀圭瀛愯〃鏂板涓�鏉$幓鐠� spianMapper.UpdataAddCage(orderids.toString(), glassid, widths, cage1, cells, ids, 2); spianMapper.UpdataAddCage1(widths, cage1, cells);// 鍑忓皯鏍煎瓙瀹藉害 spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString());// 鏂板浠诲姟 S7control.getinstance().WriteWord(adddresslist, datas); // S7control.getinstance().WriteByte("DB105.16",glassid); + } + return (200); } @@ -118,7 +136,6 @@ double widths = queGlass.getWidth(); String orderids = queGlass.getOrderId(); int num = spianMapper.SelectQueOrder(); - if (num == 1) { // 鑾峰彇璁㈠崟鐩稿叧搴︽渶楂樼殑绗煎瓙鎺掑簭 @@ -142,12 +159,12 @@ prcid = cages1.getPrcId();// 浼犵粰prc鐨勭洰鏍囧湴id // 鏁版嵁搴撲慨鏀圭瀛愯〃鏂板涓�鏉$幓鐠� for (int i = 2; i > 0; i--) { - Glass qglass = spianMapper.SelectQueueGlass(i); - width = qglass.getwidth();// 鏍煎瓙鍓╀綑瀹藉害 - spianMapper.UpdataAddqueCage(qglass.getOrderId(), qglass.getGlassId(), width, cage1, cells, i, + north_glass_buffer1 qglass = spianMapper.SelectQueueGlass(i); + width = qglass.getglasslengthmm();// 鏍煎瓙鍓╀綑瀹藉害 + spianMapper.UpdataAddqueCage(qglass.getordernumber(), qglass.getbarcode(), width, cage1, cells, i, 1); spianMapper.UpdataAddCage1(width, cage1, cells);// 鍑忓皯鏍煎瓙瀹藉害 - spianMapper.Inserttask(0, 0, 1000, ids, qglass.getGlassId().toString());// 鏂板浠诲姟 + spianMapper.Inserttask(0, 0, 1000, ids, qglass.getbarcode().toString());// 鏂板浠诲姟 } // 鎵ц杩涚墖 datas.add((short) 1000); @@ -163,10 +180,10 @@ } else { for (int i = 2; i > 0; i--) { - Glass qglass = spianMapper.SelectQueueGlass(i); - String orderid = qglass.getOrderId().toString(); - String glassid = qglass.getGlassId(); - widths = qglass.getwidth(); + north_glass_buffer1 qglass = spianMapper.SelectQueueGlass(i); + String orderid = qglass.getordernumber().toString(); + String glassid = qglass.getbarcode(); + widths = qglass.getglasslengthmm(); List<StorageCage> storageCage = spianMapper.selectAll(orderid); if (storageCage == null) { return (400); @@ -192,7 +209,7 @@ cells = cages1.getCell();// 鏍煎瓙鍙� prcid = cages1.getPrcId();// 浼犵粰prc鐨勭洰鏍囧湴id width = cages1.getWidth();// 鏍煎瓙鍓╀綑瀹藉害 - widths = qglass.getwidth(); + widths = qglass.getglasslengthmm(); // 鎵ц杩涚墖 datas.add((short) 1000); @@ -327,7 +344,7 @@ datas.add((short) 1); // 鏇存崲鐜荤拑鐨勭瀛� String glassids = spianMapper.SelectGlassid(cage, cell); // 鑾峰彇琚皟鎷ㄧ殑鐜荤拑id - spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲� + spianMapper.UpdateDBCage(ids, cage, cell,2);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲� spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 鍑忓皯鏂版牸瀛愬搴� spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴� spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 3);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹� @@ -354,7 +371,7 @@ datas.add((short) 2); datas.add((short) 1); String glassids = spianMapper.SelectGlassid(cage, cell); // 鑾峰彇琚皟鎷ㄧ殑鐜荤拑id - spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲� + spianMapper.UpdateDBCage(ids, cage, cell,2);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲� spianMapper.Inserttask(2, 0, cageout.getId(), ids, orderid);// 鏂板璋冨害浠诲姟 spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 鍑忓皯鏂版牸瀛愬搴� spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴� @@ -373,15 +390,17 @@ } - // @GetMapping("/all2") + public Short selectout2(String glassid) { // spianMapper.UpdatetaskOut(); //瀹屾垚涓婁竴娆″嚭鐗囨垨鑰呰皟搴︿换鍔�,鏀瑰埌plchold閲岋紝鍑虹墖鎴栬皟搴︿换鍔″畬鎴愮珛鍗虫敼鍙樼粨鏉熶换鍔★紱 // 瀹氫箟PRC鏁版嵁浼犻�佹暟缁� List<String> adddresslist = new ArrayList<>(); - adddresslist.add("DB105.6");// 鍑虹墖杞﹁捣濮嬩綅缃� - adddresslist.add("DB105.8");// 鍑虹墖杞︾洰鏍囦綅缃� - adddresslist.add("DB105.10");// 鍑虹墖绗肩幓鐠冩暟 - adddresslist.add("DB105.14");// 鍑虹墖杞﹀惎鍔� 1涓哄惎鍔� + char[] a=glassid.toCharArray(); + + adddresslist.add("DB105.10");// 鍑虹墖杞﹁捣濮嬩綅缃� + adddresslist.add("DB105.12");// 鍑虹墖杞︾洰鏍囦綅缃� + adddresslist.add("DB105.14");// 鍑虹墖绗肩幓鐠冩暟 + adddresslist.add("DB105.18");// 鍑虹墖杞﹀惎鍔� 1涓哄惎鍔� List<Short> datas = new ArrayList<>(); // 鑾峰彇浼樺厛鍑虹墖鐨勪綅缃� StorageCage cageout = spianMapper.selectOut2(glassid); @@ -417,23 +436,23 @@ spianMapper.UpdateDBCage2(cage, cell);// 娓呴櫎鍐呯墖鏁版嵁 } S7control.getinstance().WriteWord(adddresslist, datas);// 娲惧彂鍑虹墖杞︿换鍔� - //outmesid(glassid);// 娲惧彂鍑虹墖ID + outmesid(glassid);// 娲惧彂鍑虹墖ID return (200);// 缁撴潫 } else { // 鑾峰彇鏍煎瓙鐨勭幓鐠冩暟閲� int state = spianMapper.selectGlassState(cage, cell); // 鍒ゆ柇鍐呯墖鏄惁闇�瑕佽皟鎷� - if (state == 0) { + if (state == 1) { // spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 3); datas.add((short) prcid); datas.add((short) 1000); datas.add((short) 1); datas.add((short) 1); + outmesid(glassid);// 娲惧彂鍑虹墖ID spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 鏂板浠诲姟 spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴� spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 3);// 娓呴櫎鏍煎瓙鐜荤拑淇℃伅 - //outmesid(glassid);// 娲惧彂鍑虹墖ID S7control.getinstance().WriteWord(adddresslist, datas);// 娲惧彂鍑虹墖杞︿换鍔� return (200);// 缁撴潫 @@ -458,7 +477,7 @@ datas.add((short) 1); // 鏇存崲鐜荤拑鐨勭瀛� String glassids = spianMapper.SelectGlassid(cage, cell); // 鑾峰彇琚皟鎷ㄧ殑鐜荤拑id - spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲� + spianMapper.UpdateDBCage(ids, cage, cell,2);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲� spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 鍑忓皯鏂版牸瀛愬搴� spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴� spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 3);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹� @@ -488,7 +507,7 @@ String glassids = spianMapper.SelectGlassid(cage, cell); // 鑾峰彇琚皟鎷ㄧ殑鐜荤拑id spianMapper.Inserttask(2, 0, cageout.getId() + 1, ids, glassid);// 鏂板璋冨害浠诲姟 spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 鏂板鍑虹墖浠诲姟 - spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲� + spianMapper.UpdateDBCage(ids, cage, cell,2);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲� spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 鍑忓皯鏂版牸瀛愬搴� spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴� spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 3);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹� @@ -503,34 +522,38 @@ } } - + //娲惧彂璋冩嫧浠诲姟鐜荤拑id public void outmesid(String glassid) { - System.out.println("outmesid:" + glassid); + //System.out.println("outmesid:" + glassid); List<Byte> glassidlist = new ArrayList(); - for (char iditem : glassid.toCharArray()) { - glassidlist.add(Byte.valueOf(String.valueOf(iditem))); + char ds[]=glassid.toCharArray(); + for (char iditem : ds) { + glassidlist.add((byte)iditem); } byte[] bytes = Bytes.toArray(glassidlist); System.out.println("outmesidbytes:" + bytes.length); - S7control.getinstance().WriteByte("DB105.30", bytes);// 娲惧彂鍑虹墖id + S7control.getinstance().WriteByte("DB105.34", bytes);// 娲惧彂鍑虹墖id } - - /*** 淇敼鐢ㄦ埛* @throws SQLException */ - // public static int updateUser(Glass user) throws SQLException {conn = - // getConn(); - // String sql = "update t_user set name=?,gender=?,age=?,score=?"+ " where - // id=?";ps = conn.prepareStatement(sql); - // ps.setString(1, user.getName());ps.setString(2, user.getGender()); - // ps.setInt(3, user.getAge());ps.setDouble(4, user.getScore());ps.setInt(5, - // user.getId());return ps.executeUpdate();} - // /*** 澧炲姞鐢ㄦ埛* @throws SQLException */ - // public static int insertUser(User user) throws SQLException { - // conn = getConn(); - // String sql = "insert into t_user(name,gender,age,score)"+ " values(?,?,?,?)"; - // ps = conn.prepareStatement(sql);ps.setString(1, - // user.getName());ps.setString(2, user.getGender()); - // ps.setInt(3, user.getAge());ps.setDouble(4, user.getScore());return - // ps.executeUpdate(); - // } - + //鑾峰彇鍦板潃鍐呯殑鐜荤拑id杞瓧绗︿覆 + public StringBuilder queGlassid(String address) { + StringBuilder writedstrIdOut = new StringBuilder(); + byte[] writedglassidbytesOut = S7control.getinstance().ReadByte(address, 14); + if (writedglassidbytesOut != null) { + // 鑾峰彇鐜荤拑id + for (byte iditem : writedglassidbytesOut) { + writedstrIdOut.append((char) iditem); + } + } + return writedstrIdOut; + } + //char鏁扮粍杞寲鎴恇it鏁扮粍 + public static byte[] toBytes(char[] chars) { + String s = new String(chars); + return s.getBytes(StandardCharsets.UTF_8); + } + //bit鏁扮粍杞寲鎴恈har鏁扮粍 + public static char[] toChars(byte[] bytes) { + String s = new String(bytes, StandardCharsets.UTF_8); + return s.toCharArray(); + } } -- Gitblit v1.8.0