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 | 361 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 355 insertions(+), 6 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 4498c05..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 @@ -1,8 +1,14 @@ package com.example.springboot.service; +import java.util.ArrayList; +import java.util.List; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import com.example.springboot.common.Result; +import com.example.springboot.component.S7control; +import com.example.springboot.entity.Glass; import com.example.springboot.entity.StorageCage; import com.example.springboot.mapper.SpianMapper; @@ -10,12 +16,355 @@ public class SpianService { @Autowired private SpianMapper spianMapper; - public void Save(StorageCage spian){ - if(spian.getId()==null){ - spianMapper.update(); - }else{ - spianMapper.update(); + + // @GetMapping("/all2") + public Result selectout(String orderid) { + + spianMapper.UpdatetaskOut(); //瀹屾垚涓婁竴娆″嚭鐗囨垨鑰呰皟搴︿换鍔� + // 瀹氫箟PRC鏁版嵁浼犻�佹暟缁� + List<String> adddresslist = new ArrayList<>(); + adddresslist.add("DB105.6");// 鍑虹墖杞﹁捣濮嬩綅缃� + adddresslist.add("DB105.8");// 鍑虹墖杞︾洰鏍囦綅缃� + adddresslist.add("DB105.10");// 鍑虹墖绗肩幓鐠冩暟 + adddresslist.add("DB105.14");// 鍑虹墖杞﹀惎鍔� 1涓哄惎鍔� + 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) { + // 鍒ゆ柇鐜荤拑鍙洿鎺ュ嚭鐗囨椂 + // 淇敼鏁版嵁搴撶瀛愯〃(鍑虹墖) + datas.add((short) prcid); + datas.add((short) 1000); + datas.add((short) 1); + datas.add((short) 1); + + 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); + // 鍒ゆ柇鍐呯墖鏄惁闇�瑕佽皟鎷� + if (state == 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 Result.success(datas);//缁撴潫 + + } else { + // 鐜荤拑闇�瑕佽皟鎷ㄦ椂锛屽垽鏂睘浜庡摢涓崐鍖虹殑绗煎瓙 + if (cage < 6) { + StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 0, 6); + if (cagecell == null) { + return Result.success(cagecell); + } + // 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧 + 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.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("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); + if (cagecell == null) { + return Result.success(cagecell); + } + // 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧 + 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);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹� + // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹� + S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0 + S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰� + S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔� + return Result.success(cagecell); //缁撴潫 + + } + + } + } + } - + + // @GetMapping("/all") + // 杩涚墖浠诲姟,浼犺鍗昳d + // 鎸夎鍗曚紭鍏堣繘鐗� + public Short selectAll(Short glassid) { + + int cage1; + int cells; + int ids; + int prcid; + int tiers; + int prctier; + + spianMapper.Updatetask(1, 0);//瀹屾垚浠诲姟 + Glass glasslist = spianMapper.selectGlass(glassid); + if(glasslist==null){ + return (300); + } + double widths = glasslist.getWidth(); + Short orderids = glasslist.getOrderId(); + + List<String> adddresslist = new ArrayList<>(); + adddresslist.add("DB105.0");// 杩涚墖杞﹁捣濮嬩綅缃� + adddresslist.add("DB105.2");// 杩涚墖杞︾洰鏍囦綅缃� + adddresslist.add("DB105.4");// 杩涚墖绗肩幓鐠冩暟 + adddresslist.add("DB105.12");// 杩涚墖杞﹀惎鍔� 1涓哄惎鍔� + List<Short> datas = new ArrayList<>(); + + // String orderid="A001"; + // 鑾峰彇璁㈠崟鐩稿叧搴︽渶楂樼殑绗煎瓙鎺掑簭 + List<StorageCage> storageCage = spianMapper.selectAll(orderids); + if (storageCage == null) { + return (400); + } + for (StorageCage storageCage2 : storageCage) { + // 淇濆瓨璁㈠崟浼樺厛椤哄簭绗煎瓙鍙� + cage1 = storageCage2.getCage(); + // 鍒ゆ柇璇ョ瀛愬彿鐩搁偦鏈�澶х殑绌烘牸鏁� + int cages = spianMapper.selectCage(cage1); + // 鍒ゆ柇閫変腑绗煎瓙鏄惁鏈夊悎閫傚搴︾┖鏍� + StorageCage cages1 = spianMapper.selectCage1(cage1, widths); + if (cages1 != null) { + ids = cages1.getId();// 鏁版嵁搴揑D + 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) { + // 鎵ц杩涚墖 + datas.add((short) 1000); + datas.add((short) prcid); + datas.add((short) prctier); + 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 (400); + + } + + // @GetMapping("/all2") + public Short selectout2(String glassid) { + // 瀹氫箟PRC鏁版嵁浼犻�佹暟缁� + List<String> adddresslist = new ArrayList<>(); + adddresslist.add("DB105.6");// 鍑虹墖杞﹁捣濮嬩綅缃� + adddresslist.add("DB105.8");// 鍑虹墖杞︾洰鏍囦綅缃� + adddresslist.add("DB105.10");// 鍑虹墖绗肩幓鐠冩暟 + adddresslist.add("DB105.14");// 鍑虹墖杞﹀惎鍔� 1涓哄惎鍔� + 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) { + // 鍒ゆ柇鐜荤拑鍙洿鎺ュ嚭鐗囨椂 + // 淇敼鏁版嵁搴撶瀛愯〃(鍑虹墖) + datas.add((short) prcid); + datas.add((short) 1000); + datas.add((short) 1); + datas.add((short) 1); + + 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) { + 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 (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.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("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 (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);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹� + // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹� + S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0 + S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰� + S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔� + return (200);//缁撴潫 + + } + } + } + + } + + /*** 淇敼鐢ㄦ埛* @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(); + // } + } + -- Gitblit v1.8.0