| src/main/java/com/zy/asrs/controller/BasMapController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/utils/MapExcelUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/common/utils/NavigateMapData.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/core/thread/impl/NyLiftThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/map/demo.xlsx | 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/map/qlsxk_map.xlsx | 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/sql/20260109152748.nb3 | 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/BasMapController.java
@@ -176,63 +176,4 @@ return R.ok(); } @PostMapping("/basMap/crn/upload") public R uploadExcel2(@RequestParam("file") MultipartFile file) throws IOException { // 保存上传的文件到临时位置 String filePath = System.getProperty("java.io.tmpdir") + file.getOriginalFilename(); file.transferTo(new File(filePath)); HashMap<Integer, List<List<HashMap<String, Object>>>> dataMap = mapExcelUtils.readExcel(filePath); List<List<HashMap<String, Object>>> dataList = new ArrayList<>(); for (Map.Entry<Integer, List<List<HashMap<String, Object>>>> entry : dataMap.entrySet()) { Integer key = entry.getKey(); List<List<HashMap<String, Object>>> list = entry.getValue(); for (int i = 0; i < list.size(); i++) { List<HashMap<String, Object>> bayList = list.get(i); List<HashMap<String, Object>> arrayList = new ArrayList<>(); for (int j = 0; j < bayList.size(); j++) { HashMap<String, Object> map = bayList.get(j); HashMap<String, Object> nodeData = new HashMap<>(); nodeData.put("value", map.get("value")); String nodeType = map.get("bgColor").toString(); if (nodeType.equals("RGB(0,176,80)")) { //货架 nodeData.put("type", "shelf"); }else if (nodeType.equals("RGB(255,192,0)")) { //堆垛机 nodeData.put("type", "crn"); }else if (nodeType.equals("RGB(0,112,192)")) { //输送线 nodeData.put("type", "devp"); nodeData.put("value", (int) Double.parseDouble(map.get("value").toString())); }else if (nodeType.equals("RGB(0,176,240)")) { //RGV nodeData.put("type", "rgv"); } else if (nodeType.equals("none")) { //空白区域 nodeData.put("type", "none"); } else if (nodeType.equals("merge")) { //合并区域 nodeData.put("type", "merge"); } nodeData.put("cellWidth", map.get("cellWidth")); nodeData.put("cellHeight", map.get("cellHeight")); nodeData.put("rowSpan", map.get("rowSpan")); nodeData.put("colSpan", map.get("colSpan")); arrayList.add(nodeData); } dataList.add(arrayList); } } return R.ok().add(JSON.toJSONString(dataList)); } } src/main/java/com/zy/asrs/utils/MapExcelUtils.java
@@ -9,7 +9,6 @@ import com.zy.common.model.MapNode; import com.zy.core.enums.MapNodeType; import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.xssf.usermodel.XSSFColor; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.stereotype.Component; @@ -258,74 +257,12 @@ String levStr = split[0]; Integer lev = Integer.parseInt(levStr); int idx = 0; int rowLength = -1; int cellLength = -1; Row titleRow = sheet.getRow(1); for (Cell cell : titleRow) { if (idx < 2) { idx++; continue; } HashMap<String, Object> map = getCellValue(sheet, titleRow, cell); String value = map.get("value").toString(); if (!Cools.isEmpty(value)) { rowLength = (int) Double.parseDouble(value); } } idx = 0; for (Row row : sheet) { if (idx < 2) { idx++; continue; } Cell cell = row.getCell(1); if(cell != null) { HashMap<String, Object> map = getCellValue(sheet, row, cell); String value = map.get("value").toString(); if (!Cools.isEmpty(value)) { cellLength = (int) Double.parseDouble(value); } } } for (int j = 0; j < cellLength; j++) { Row row = sheet.getRow(j + 2); List<HashMap<String, Object>> rowData = new ArrayList<>(); for (int k = 0; k < rowLength; k++) { Cell cell = row.getCell(k + 2); rowData.add(getCellValue(sheet, row, cell)); for (Cell cell : row) { rowData.add(getCellValue(cell)); } data.add(rowData); } int numMergedRegions = sheet.getNumMergedRegions(); for (int j = 0; j < numMergedRegions; j++) { CellRangeAddress region = sheet.getMergedRegion(j); int rowSpan = region.getLastRow() - region.getFirstRow() + 1; int colSpan = region.getLastColumn() - region.getFirstColumn() + 1; int rowIdx = region.getFirstRow() - 2; int colIdx = region.getFirstColumn() - 2; HashMap<String, Object> map = data.get(rowIdx).get(colIdx); map.put("rowSpan", rowSpan); map.put("colSpan", colSpan); for (int k = region.getFirstRow(); k <= region.getLastRow(); k++) { for (int l = region.getFirstColumn(); l <= region.getLastColumn(); l++) { if(k == region.getFirstRow() && l == region.getFirstColumn()) { continue; } HashMap<String, Object> mapData = data.get(k - 2).get(l - 2); mapData.put("bgColor", "merge"); } } } dataMap.put(lev, data); @@ -337,29 +274,15 @@ return dataMap; } private HashMap<String, Object> getCellValue(Sheet sheet, Row row, Cell cell) { private HashMap<String, Object> getCellValue(Cell cell) { if (cell == null) { HashMap<String, Object> map = new HashMap<>(); map.put("bgColor", "none"); map.put("cellWidth", ""); map.put("cellHeight", ""); map.put("value", ""); map.put("rowSpan", 1); map.put("colSpan", 1); return map; return null; } HashMap<String, Object> map = new HashMap<>(); String bgColor = getCellBackgroundColor(cell); map.put("bgColor", bgColor); int columnIndex = cell.getColumnIndex(); int columnWidth = sheet.getColumnWidth(columnIndex);//获取列宽 short rowHeight = row.getHeight(); //获取行高 map.put("cellWidth", columnWidth); map.put("cellHeight", rowHeight); String value = ""; switch (cell.getCellType()) { @@ -388,8 +311,6 @@ } map.put("value", value); map.put("rowSpan", 1); map.put("colSpan", 1); return map; } src/main/java/com/zy/common/utils/NavigateMapData.java
@@ -223,8 +223,8 @@ } List<MapNode> list = lists.get(row); MapNode mapNode = list.get(bay); List<MapNode> list = lists.get(row - 1); MapNode mapNode = list.get(bay - 1); if (mapType == NavigationMapType.NONE.id) { //不过滤任何数据 @@ -250,8 +250,8 @@ mapNode.setLocNo(locMast.getLocNo()); //更新list list.set(bay, mapNode); lists.set(row, list); list.set(bay - 1, mapNode); lists.set(row - 1, list); } }catch (Exception e) { e.printStackTrace(); src/main/java/com/zy/core/thread/impl/NyLiftThread.java
@@ -195,17 +195,19 @@ InnerLiftExtend liftExtend = (InnerLiftExtend) liftProtocol.getExtend(); liftProtocol.setExtend(liftExtend); JSONObject extend = data.getJSONObject("extend"); liftExtend.setFrontOverrun(extend.getInteger("frontOverrun") == 1); liftExtend.setBackOverrun(extend.getInteger("backOverrun") == 1); liftExtend.setLeftOverrun(extend.getInteger("leftOverrun") == 1); liftExtend.setRightOverrun(extend.getInteger("rightOverrun") == 1); liftExtend.setOverHeight(extend.getInteger("overHeight") == 1); liftExtend.setOverWeight(extend.getInteger("overWeight") == 1); liftExtend.setPlcTaskNoComplete(extend.getInteger("plcTaskNoComplete")); if (extend != null) { liftExtend.setFrontOverrun(extend.getInteger("frontOverrun") == 1); liftExtend.setBackOverrun(extend.getInteger("backOverrun") == 1); liftExtend.setLeftOverrun(extend.getInteger("leftOverrun") == 1); liftExtend.setRightOverrun(extend.getInteger("rightOverrun") == 1); liftExtend.setOverHeight(extend.getInteger("overHeight") == 1); liftExtend.setOverWeight(extend.getInteger("overWeight") == 1); liftExtend.setPlcTaskNoComplete(extend.getInteger("plcTaskNoComplete")); if (!liftExtend.getPlcTaskNoComplete().equals(liftProtocol.getPlcTaskNo())) { //设备状态 liftProtocol.setDeviceStatus(LiftDeviceStatusType.BUSY.id); if (!liftExtend.getPlcTaskNoComplete().equals(liftProtocol.getPlcTaskNo())) { //设备状态 liftProtocol.setDeviceStatus(LiftDeviceStatusType.BUSY.id); } } //读取站点 src/main/resources/map/demo.xlsxBinary files differ
src/main/resources/map/qlsxk_map.xlsxBinary files differ
src/main/resources/sql/20260109152748.nb3Binary files differ