src/main/java/com/zy/asrs/controller/LocMastController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/entity/BasDevp.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/entity/LocMast.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/utils/Utils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/model/LocTypeDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/static/js/locMast/locMast.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/locMast/locMast.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/LocMastController.java
@@ -15,10 +15,12 @@ import com.zy.asrs.entity.param.LocMastInitParam; import com.zy.asrs.service.LocDetlService; import com.zy.asrs.service.LocMastService; import com.zy.asrs.utils.Utils; import com.zy.common.entity.Parameter; import com.zy.common.model.Shelves; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import java.util.*; @@ -204,4 +206,56 @@ locMastService.insertBatch(list); return R.ok("初始化成功"); } @RequestMapping(value = "/locMast/convert/size/auth") @ManagerAuth(memo = "大小库位转换") @Transactional public R convertSize(@RequestParam String param) { List<LocMast> list = JSONArray.parseArray(param, LocMast.class); if (Cools.isEmpty(list)){ return R.error(); } for (LocMast entity : list){ if (!entity.getCrnNo().equals(1) && !entity.getCrnNo().equals(4)){ return R.error("请选择1号、4号堆垛机的货位!!!不符合条件库位:"+entity.getLocNo()); } if (!entity.getLocSts().equals("O") && !entity.getLocSts().equals("Y")){ return R.error("请选择空闲、被合并的货位!!!不符合条件库位:"+entity.getLocNo()); } } List<String> innermostSideLoc = Utils.getInnermostSideLoc(list); StringBuilder msg=new StringBuilder(); for (String locNo : innermostSideLoc){ String innermostSideLocLBR = Utils.getInnermostSideLocLBR(locNo); LocMast locMast1 = locMastService.selectById(innermostSideLocLBR);//浅 if (Cools.isEmpty(locMast1)){ msg.append("请选择浅库位存在的货位!!!不符合条件库位:").append(innermostSideLocLBR).append("/n"); continue; } if (!locMast1.getLocSts().equals("O")){ msg.append("请选择浅库位空闲的货位!!!不符合条件库位:").append(locMast1.getLocNo()).append("/n"); continue; } LocMast locMast = locMastService.selectById(locNo);//深 if (Cools.isEmpty(locMast)){ msg.append("请选择深库位存在的货位!!!不符合条件库位:").append(locNo).append("/n"); continue; } if (!Cools.isEmpty(locMast) && locMast.getLocSts().equals("O")){ locMast1.setLocType1((short)2); locMast.setLocType1((short)2); locMast.setLocSts("Y"); }else if (!Cools.isEmpty(locMast) && locMast.getLocSts().equals("Y")){ locMast1.setLocType1((short)1); locMast.setLocType1((short)1); locMast.setLocSts("O"); }else { msg.append("请选择深库位库位空闲、被合并的货位!!!不符合条件库位:").append(locMast.getLocNo()).append("/n"); continue; } locMastService.updateById(locMast1); locMastService.updateById(locMast); } return R.ok(msg); } } src/main/java/com/zy/asrs/entity/BasDevp.java
@@ -228,9 +228,9 @@ case 0: return "未知"; case 1: return "低库位"; return "小库位"; case 2: return "高库位"; return "大库位"; default: return String.valueOf(this.locType1); } src/main/java/com/zy/asrs/entity/LocMast.java
@@ -215,9 +215,9 @@ case 0: return "未知"; case 1: return "低库位"; return "小库位"; case 2: return "高库位"; return "大库位"; default: return String.valueOf(this.locType1); } src/main/java/com/zy/asrs/utils/Utils.java
@@ -3,6 +3,8 @@ import com.core.common.Arith; import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.entity.LocMast; import com.zy.common.model.LocDetlDto; import com.zy.common.properties.SlaveProperties; import java.text.DecimalFormat; @@ -168,6 +170,26 @@ } /** * 通过库位号获取 列 */ public static int getBay(String locNo) { if (!Cools.isEmpty(locNo)) { return Integer.parseInt(locNo.substring(2, 5)); } throw new RuntimeException("库位解析异常"); } /** * 通过库位号获取 层 */ public static int getLev(String locNo) { if (!Cools.isEmpty(locNo)) { return Integer.parseInt(locNo.substring(5, 7)); } throw new RuntimeException("库位解析异常"); } /** * 当检索到双深库位的浅库位时,如果深库位无货,则放入对应的深库位 */ public static void toDeepIfEmptyByShallow(String shallowLoc) { @@ -185,17 +207,16 @@ } public static void main(String[] args) { SlaveProperties slaveProperties = new SlaveProperties(); slaveProperties.setDoubleDeep(true); List<Integer> list = new ArrayList<>(); list.add(1);list.add(4);list.add(5);list.add(8);list.add(9);list.add(12); slaveProperties.setDoubleLocs(list); slaveProperties.setGroupCount(4); Integer deepRow = getDeepRow(slaveProperties, 6); System.out.println(deepRow); } // public static void main(String[] args) { // SlaveProperties slaveProperties = new SlaveProperties(); // slaveProperties.setDoubleDeep(true); // List<Integer> list = new ArrayList<>(); // list.add(1);list.add(4);list.add(5);list.add(8);list.add(9);list.add(12); // slaveProperties.setDoubleLocs(list); // slaveProperties.setGroupCount(4); // Integer deepRow = getDeepRow(slaveProperties, 6); // System.out.println(deepRow); // } public static boolean BooleanWhsTypeSta(Integer whsType){ if (whsType==1){ @@ -214,12 +235,15 @@ public static int RowCount(Integer whsType,Integer curRow,Integer crnNumber){ return LocNecessaryParameters(whsType, curRow,crnNumber)[0]; } public static int getCurRow(Integer whsType,Integer curRow,Integer crnNumber){ return LocNecessaryParameters(whsType, curRow,crnNumber)[1]; } public static int getCrnNo(Integer whsType,Integer curRow,Integer crnNumber){ return LocNecessaryParameters(whsType, curRow,crnNumber)[2]; } public static int getNearRow(Integer whsType,Integer curRow,Integer crnNumber){ return LocNecessaryParameters(whsType, curRow,crnNumber)[3]; } @@ -263,4 +287,56 @@ } return necessaryParameters; } public static void main(String[] args) { List<LocMast> locS = new ArrayList<LocMast>(); String locNo = "0000102"; for (int i = 1; i < 16; i++) { String s = zerofill(String.valueOf(i), 2) + locNo.substring(2); LocMast locMast = new LocMast(); locMast.setLocNo(s); locS.add(locMast); } List<String> innermostSideLoc = getInnermostSideLoc(locS); System.out.println(innermostSideLoc); } //转换为各自对应的深库位 public static List<String> getInnermostSideLoc(List<LocMast> locS) { ArrayList<String> listLocRBL = new ArrayList<>(); for (LocMast locMast : locS) { String innermostSideLocRBL = Utils.getInnermostSideLocRBL(locMast.getLocNo()); if (Cools.isEmpty(innermostSideLocRBL)) { continue; } if (!listLocRBL.contains(innermostSideLocRBL)) { listLocRBL.add(innermostSideLocRBL); } } return listLocRBL; } public static String getInnermostSideLocRBL(String locNo) { int row = Utils.getRow(locNo); if (row % 4 == 0 || (row + 3) % 4 == 0) { return zerofill(String.valueOf(row), 2) + locNo.substring(2); } else if ((row + 2) % 4 == 0) { return zerofill(String.valueOf(row - 1), 2) + locNo.substring(2); } else if ((row + 1) % 4 == 0) { return zerofill(String.valueOf(row + 1), 2) + locNo.substring(2); } return null; } public static String getInnermostSideLocLBR(String locNo) { int row = Utils.getRow(locNo); if (row % 4 == 0) { return zerofill(String.valueOf(row - 1), 2) + locNo.substring(2); } else if ((row + 3) % 4 == 0) { return zerofill(String.valueOf(row + 1), 2) + locNo.substring(2); } return null; } } src/main/java/com/zy/common/model/LocTypeDto.java
@@ -30,9 +30,9 @@ throw new CoolException("plc高低检测异常"); } if (basDevp.getLocType1() == 1) { this.locType1 = 1; // 低库位 this.locType1 = 1; // 小库位 } else { this.locType1 = 2; // 高库位 this.locType1 = 2; // 大库位 } log.info(JSON.toJSONString(this)); } src/main/webapp/static/js/locMast/locMast.js
@@ -229,6 +229,32 @@ }) }); break; case 'convertSize': var data = checkStatus.data; if (data.length === 0){ layer.msg('请选择数据'); } else { layer.confirm('确定转换'+(data.length===1?'此':data.length)+'条数据吗', function(){ $.ajax({ url: baseUrl+"/locMast/convert/size/auth", headers: {'token': localStorage.getItem('token')}, data: {param: JSON.stringify(data)}, method: 'POST', traditional:true, success: function (res) { if (res.code === 200){ layer.closeAll(); tableReload(false); } else if (res.code === 403){ top.location.href = baseUrl+"/"; } else { layer.msg(res.msg) } } }) }); } break; } }); src/main/webapp/views/locMast/locMast.html
@@ -76,6 +76,7 @@ <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">新增</button> <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">删除</button> <button class="layui-btn layui-btn-primary" id="btn-init" lay-event="init">初始化</button> <button class="layui-btn layui-btn-sm" id="btn-convertSize" lay-event="convertSize">大小库位转换</button> <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">导出</button> </div> </script> @@ -147,8 +148,8 @@ <select name="locType1"> <option style="display: none"></option> <option value="0">未知</option> <option value="1">低库位</option> <option value="2">高库位</option> <option value="1">小库位</option> <option value="2">大库位</option> </select> </div> </div>