From 209a57aecbf26911f6a3ae0692b51ed0289f5b1a Mon Sep 17 00:00:00 2001 From: wu <731351411@qq.com> Date: 星期四, 14 九月 2023 17:04:56 +0800 Subject: [PATCH] 优化理片笼逻辑 --- springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java | 201 ++++++++++++++++++++++++++++++++------------------ 1 files changed, 129 insertions(+), 72 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 2d8f2f3..942e6dd 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 @@ -19,6 +19,8 @@ // @GetMapping("/all2") public Result selectout(String orderid) { + + spianMapper.UpdatetaskOut(); //瀹屾垚涓婁竴娆″嚭鐗囨垨鑰呰皟搴︿换鍔� // 瀹氫箟PRC鏁版嵁浼犻�佹暟缁� List<String> adddresslist = new ArrayList<>(); adddresslist.add("DB105.6");// 鍑虹墖杞﹁捣濮嬩綅缃� @@ -28,25 +30,39 @@ List<Short> datas = new ArrayList<>(); // 鑾峰彇浼樺厛鍑虹墖鐨勪綅缃� StorageCage cageout = spianMapper.selectOut(orderid); + if(cageout==null){ + return Result.success("200"); + } + + + + int cage = cageout.getCage(); // 鍌ㄥ瓨鍑虹墖浣嶇疆锛岀瀛愭牸瀛愬嚑鍙风幓鐠� int cell = cageout.getCell();// 鍑虹墖鏍煎彿 int tier = cageout.getTier();// 鍑虹墖鍐呭鐗� int prcid = cageout.getPrcId();// prcid int prcid2; int ids; + int cages; + int cells; double glasswidth = cageout.getGlassWidth(); // 鍒ゆ柇鐜荤拑鍐呭鐗� if (tier == 2) { // 鍒ゆ柇鐜荤拑鍙洿鎺ュ嚭鐗囨椂 // 淇敼鏁版嵁搴撶瀛愯〃(鍑虹墖) - spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0); - datas.add((short) prcid); datas.add((short) 1000); datas.add((short) 1); datas.add((short) 1); - S7control.getinstance().WriteWord(adddresslist, datas); - return Result.success(datas); + + spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴� + spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);//娓呴櫎鏍煎瓙鐜荤拑淇℃伅 + spianMapper.Inserttask(1, 0,cageout.getId(),1000 );//鏂板浠诲姟 + + S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0 + S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰� + S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔� + return Result.success(datas);//缁撴潫 } else { // 鑾峰彇鏍煎瓙鐨勭幓鐠冩暟閲� int state = spianMapper.selectGlassState(cage, cell); @@ -57,8 +73,15 @@ datas.add((short) 1000); datas.add((short) 1); datas.add((short) 1); - S7control.getinstance().WriteWord(adddresslist, datas); - return Result.success("鐘舵�佷负0,鐩存帴鍑虹墖"); + spianMapper.Inserttask(1, 0,cageout.getId(),1000 );//鏂板浠诲姟 + spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴� + spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);//娓呴櫎鏍煎瓙鐜荤拑淇℃伅 + S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0 + S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰� + S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔� + //spianMapper.Updatetask(1, 1);//瀹屾垚浠诲姟 + return Result.success(datas);//缁撴潫 + } else { // 鐜荤拑闇�瑕佽皟鎷ㄦ椂锛屽垽鏂睘浜庡摢涓崐鍖虹殑绗煎瓙 if (cage < 6) { @@ -69,26 +92,27 @@ // 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧 prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峆RCID ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D - // 鏇存崲鐜荤拑鐨勭瀛� - spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲� - spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎鍘熸牸瀛愭暟鎹� + cages=cagecell.getCage();//璋冩嫧鐩爣浣嶇瀛� + cells=cagecell.getCell();//璋冩嫧鐩爣浣嶆牸瀛� + + + + // 濉叆璋冩嫧鏁版嵁 datas.add((short) prcid);// 璋冩嫧澶栫墖璧峰浣嶇疆 datas.add((short) prcid2); datas.add((short) 2); datas.add((short) 1); + // 鏇存崲鐜荤拑鐨勭瀛� + spianMapper.UpdataAddCage1(glasswidth, cages, cells);//鍑忓皯鏂版牸瀛愬搴� + spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲� + spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹� + spianMapper.Inserttask(2, 0,cageout.getId(),ids );//鏂板璋冨害浠诲姟 // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹� - S7control.getinstance().WriteWord(adddresslist, datas); - datas.clear(); // 娓呯┖鏁翠釜鍒楄〃 - // 鍒ゆ柇璋冩嫧缁撴潫鍚庡啀娆″嚭鐗�,濉叆鍑虹墖鏁版嵁 - datas.add((short) prcid); - datas.add((short) 1000); - datas.add((short) 1); - datas.add((short) 1); - S7control.getinstance().WriteWord(adddresslist, datas); - // 淇敼鏁版嵁搴撶瀛愯〃(鍑虹墖) - - return Result.success(cagecell); // 璋冩嫧浣嶇疆鐨勫弬鏁板唴瀹� + S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0 + S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰� + S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔� + return Result.success(cagecell); //缁撴潫 } else {// 绗煎瓙鍙峰ぇ浜�5鏃� StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 5, 11); @@ -98,25 +122,22 @@ // 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧 prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峱rcID ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D + cages=cagecell.getCage();//璋冩嫧鐩爣浣嶇瀛� + cells=cagecell.getCell();//璋冩嫧鐩爣浣嶆牸瀛� // 濉叆璋冩嫧鏁版嵁 datas.add((short) prcid); datas.add((short) prcid2); datas.add((short) 2); datas.add((short) 1); - // 杞Щ鍘熻皟鎷ㄦ牸瀛愭暟鎹� + spianMapper.Inserttask(2, 0,cageout.getId(),ids );//鏂板璋冨害浠诲姟 + spianMapper.UpdataAddCage1(glasswidth, cages, cells);//鍑忓皯鏂版牸瀛愬搴� spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲� - spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎鍘熸牸瀛愭暟鎹� + spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹� // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹� - S7control.getinstance().WriteWord(adddresslist, datas); - datas.clear(); // 娓呯┖鏁翠釜鍒楄〃 - // 鍒ゆ柇璋冩嫧缁撴潫鍚庡啀娆″嚭鐗� - // 濉叆鍑虹墖鏁版嵁 - datas.add((short) prcid); - datas.add((short) 1000); - datas.add((short) 1); - datas.add((short) 1); - S7control.getinstance().WriteWord(adddresslist, datas); - return Result.success(cagecell); // 璋冩嫧浣嶇疆鐨勫弬鏁板唴瀹� + S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0 + S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰� + S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔� + return Result.success(cagecell); //缁撴潫 } @@ -136,10 +157,11 @@ int prcid; int tiers; int prctier; - + + spianMapper.Updatetask(1, 0);//瀹屾垚浠诲姟 Glass glasslist = spianMapper.selectGlass(glassid); - if (glasslist == null) { - return (300); + if(glasslist==null){ + return (300); } double widths = glasslist.getWidth(); Short orderids = glasslist.getOrderId(); @@ -169,6 +191,12 @@ tiers = cages1.getTier();// 鍐呭鐗� cells = cages1.getCell();// 鏍煎瓙鍙� prcid = cages1.getPrcId();// 浼犵粰prc鐨勭洰鏍囧湴id + + + if (glasslist == null) { + return (300); + } + spianMapper.Inserttask(0, 0, 1000, ids);//鏂板浠诲姟 prctier = spianMapper.selectsum(cage1, cells);// 浼犵粰prc鐨勬牸瀛愬唴鐜荤拑鏁� // 鏈夊悎閫傜┖鏍兼椂杩涚墖 if (cages > 1 && cages1.getTier() != null) { @@ -179,19 +207,22 @@ datas.add((short) 1); // 鏁版嵁搴撲慨鏀圭瀛愯〃鏂板涓�鏉$幓鐠� spianMapper.UpdataAddCage(orderids, glassid, widths, cage1, cells, ids, 1); + spianMapper.UpdataAddCage1(widths, cage1, cells);//鍑忓皯鏍煎瓙瀹藉害 + S7control.getinstance().WriteWord(adddresslist, datas); - + S7control.getinstance().WriteWord("DB106.10", (short)0); //杩涚墖浠诲姟瀹屾垚鏀规垚0 + S7control.getinstance().WriteWord("DB106.8", (short)1); //杩涚墖杞︾姸鎬佹敼鎴愬繖纰� return (200); } } } - return (300); + return (400); } // @GetMapping("/all2") - public Result selectout2(String glassid) { + public Short selectout2(String glassid) { // 瀹氫箟PRC鏁版嵁浼犻�佹暟缁� List<String> adddresslist = new ArrayList<>(); adddresslist.add("DB105.6");// 鍑虹墖杞﹁捣濮嬩綅缃� @@ -201,92 +232,117 @@ List<Short> datas = new ArrayList<>(); // 鑾峰彇浼樺厛鍑虹墖鐨勪綅缃� StorageCage cageout = spianMapper.selectOut2(glassid); + if(cageout==null){ + return (300); + } + + + + int cage = cageout.getCage(); // 鍌ㄥ瓨鍑虹墖浣嶇疆锛岀瀛愭牸瀛愬嚑鍙风幓鐠� int cell = cageout.getCell();// 鍑虹墖鏍煎彿 int tier = cageout.getTier();// 鍑虹墖鍐呭鐗� int prcid = cageout.getPrcId();// prcid int prcid2; int ids; + int cages; + int cells; double glasswidth = cageout.getGlassWidth(); // 鍒ゆ柇鐜荤拑鍐呭鐗� if (tier == 2) { // 鍒ゆ柇鐜荤拑鍙洿鎺ュ嚭鐗囨椂 // 淇敼鏁版嵁搴撶瀛愯〃(鍑虹墖) - spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0); - datas.add((short) prcid); datas.add((short) 1000); datas.add((short) 1); datas.add((short) 1); - S7control.getinstance().WriteWord(adddresslist, datas); - return Result.success(datas); + + spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴� + spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);//娓呴櫎鏍煎瓙鐜荤拑淇℃伅 + spianMapper.Inserttask(1, 0,cageout.getId(),1000 );//鏂板浠诲姟 + + S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0 + S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰� + S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔� + return (200);//缁撴潫 } else { // 鑾峰彇鏍煎瓙鐨勭幓鐠冩暟閲� int state = spianMapper.selectGlassState(cage, cell); // 鍒ゆ柇鍐呯墖鏄惁闇�瑕佽皟鎷� if (state == 0) { - return Result.success("鐘舵�佷负0,鐩存帴鍑虹墖"); + spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0); + datas.add((short) prcid); + datas.add((short) 1000); + datas.add((short) 1); + datas.add((short) 1); + spianMapper.Inserttask(1, 0,cageout.getId(),1000 );//鏂板浠诲姟 + spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴� + spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);//娓呴櫎鏍煎瓙鐜荤拑淇℃伅 + S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0 + S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰� + S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔� + //spianMapper.Updatetask(1, 1);//瀹屾垚浠诲姟 + return (200);//缁撴潫 + } else { // 鐜荤拑闇�瑕佽皟鎷ㄦ椂锛屽垽鏂睘浜庡摢涓崐鍖虹殑绗煎瓙 if (cage < 6) { StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 0, 6); if (cagecell == null) { - return Result.success(cagecell); + return (300); } // 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧 prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峆RCID ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D - // 鏇存崲鐜荤拑鐨勭瀛� - spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲� - spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎鍘熸牸瀛愭暟鎹� + cages=cagecell.getCage();//璋冩嫧鐩爣浣嶇瀛� + cells=cagecell.getCell();//璋冩嫧鐩爣浣嶆牸瀛� + + + + + // 濉叆璋冩嫧鏁版嵁 datas.add((short) prcid);// 璋冩嫧澶栫墖璧峰浣嶇疆 datas.add((short) prcid2); datas.add((short) 2); datas.add((short) 1); + // 鏇存崲鐜荤拑鐨勭瀛� + spianMapper.UpdataAddCage1(glasswidth, cages, cells);//鍑忓皯鏂版牸瀛愬搴� + spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲� + spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹� + spianMapper.Inserttask(2, 0,cageout.getId(),ids );//鏂板璋冨害浠诲姟 // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹� - S7control.getinstance().WriteWord(adddresslist, datas); - datas.clear(); // 娓呯┖鏁翠釜鍒楄〃 - // 鍒ゆ柇璋冩嫧缁撴潫鍚庡啀娆″嚭鐗�,濉叆鍑虹墖鏁版嵁 - datas.add((short) prcid); - datas.add((short) 1000); - datas.add((short) 1); - datas.add((short) 1); - S7control.getinstance().WriteWord(adddresslist, datas); - // 淇敼鏁版嵁搴撶瀛愯〃(鍑虹墖) - - return Result.success(cagecell); // 璋冩嫧浣嶇疆鐨勫弬鏁板唴瀹� + S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0 + S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰� + S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔� + return (200); //缁撴潫 } else {// 绗煎瓙鍙峰ぇ浜�5鏃� StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 5, 11); if (cagecell == null) { - return Result.success(cagecell); + return (300); } // 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧 prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峱rcID ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D + cages=cagecell.getCage();//璋冩嫧鐩爣浣嶇瀛� + cells=cagecell.getCell();//璋冩嫧鐩爣浣嶆牸瀛� // 濉叆璋冩嫧鏁版嵁 datas.add((short) prcid); datas.add((short) prcid2); datas.add((short) 2); datas.add((short) 1); - // 杞Щ鍘熻皟鎷ㄦ牸瀛愭暟鎹� + spianMapper.Inserttask(2, 0,cageout.getId(),ids );//鏂板璋冨害浠诲姟 + spianMapper.UpdataAddCage1(glasswidth, cages, cells);//鍑忓皯鏂版牸瀛愬搴� spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲� - spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎鍘熸牸瀛愭暟鎹� + spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹� // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹� - S7control.getinstance().WriteWord(adddresslist, datas); - datas.clear(); // 娓呯┖鏁翠釜鍒楄〃 - // 鍒ゆ柇璋冩嫧缁撴潫鍚庡啀娆″嚭鐗� - // 濉叆鍑虹墖鏁版嵁 - datas.add((short) prcid); - datas.add((short) 1000); - datas.add((short) 1); - datas.add((short) 1); - S7control.getinstance().WriteWord(adddresslist, datas); - return Result.success(cagecell); // 璋冩嫧浣嶇疆鐨勫弬鏁板唴瀹� + S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0 + S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰� + S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔� + return (200);//缁撴潫 } - } } @@ -311,3 +367,4 @@ // } } + -- Gitblit v1.8.0