b6fdee9da53afedd0c03b3ec29284360d54b1290..c72c95f66a00d04dd54e2b49a4f3e3766f01871f
19 小时以前 Junjie
#
c72c95 对比 | 目录
19 小时以前 Junjie
#
307db0 对比 | 目录
23 小时以前 zhou zhou
#
dfdf04 对比 | 目录
2个文件已添加
5个文件已修改
176 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/BasMapController.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/utils/MapExcelUtils.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/utils/NavigateMapData.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/impl/NyLiftThread.java 22 ●●●● 补丁 | 查看 | 原始文档 | 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.xlsx
Binary files differ
src/main/resources/map/qlsxk_map.xlsx
Binary files differ
src/main/resources/sql/20260109152748.nb3
Binary files differ