自动化立体仓库 - WMS系统
#
LSH
2023-12-16 920a4ebef6f4f70f097ee9d10c05a5481e2d43ab
src/main/java/com/zy/asrs/controller/MapController.java
@@ -11,7 +11,6 @@
import com.zy.asrs.utils.Utils;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ClassPathResource;
import org.springframework.web.bind.annotation.*;
import java.io.*;
@@ -38,18 +37,8 @@
            String mapFilename = "map.json";
//            String fileName ="file:" + new ClassPathResource(mapFilename).getPath();
            //获取当前楼层库位数据
            List<LocMast> locMasts = locMastService.selectLocByLev(lev);
            switch (area){
                case 1:
                    break;
                case 2:
                case 3:
                case 4:
                case 5:
                    mapFilename = "DTDnode.json";
                    locMasts = locMastService.selectNodeLocByLev(lev);
                    break;
            }
            List<LocMast> locMasts = locMastService.selectNodeLocByLev(lev);
            String fileName = this.getClass().getClassLoader().getResource(mapFilename).getPath();//获取文件路径
//            File file = new File("D:\\workspace\\zy-asrs\\src\\main\\resources\\map.json");
            File file = new File(fileName);
@@ -85,72 +74,136 @@
                for (LocMast locMast : locMasts) {
                    Integer row = locMast.getRow1();
                    Integer bay = locMast.getBay1();
                    switch (area){
                        case 1:
                            if (row % 4 == 0 || (row+1) % 4 == 0) {
                                row=row+locMast.getCrnNo();
                            }else{
                                row=row+locMast.getCrnNo()-1;
                            }
                            bay=32-bay;
                            break;
                        case 2:
                        case 3:
                        case 4:
                        case 5:
                            if (row<=11){
                                if (row%2==0){
                                    row=row+(row/2)-1;
                                }else {
                                    row=row+((row+1)/2)-1;
                                }
                            }else {
                                if (row%2==0){
                                    row=row+(row/2);
                                }else {
                                    row=row+((row-1)/2);
                                }
                            }
//                    switch (area){
//                        case 1:
//                            if (row % 4 == 0 || (row+1) % 4 == 0) {
//                                row=row+locMast.getCrnNo();
//                            }else{
//                                row=row+locMast.getCrnNo()-1;
//                            }
//                            bay=32-bay;
//                            break;
//                        case 2:
//                        case 3:
////                            if (row<=3 || row>=5){
////                                if (row%1==0){
////                                    row=row+(row/1)-1;
////                                }else {
////                                    row=row+((row+1)/1)-1;
////                                }
////                            }else {
////                                if (row%2==0){
////                                    row=row+(row/2);
////                                }else {
////                                    row=row+((row-1)/2);
////                                }
////                            }
////                            if (row == 9){
////                                row= row -1;
////                            }
//
//                            if (row ==7) {
//                                row=row+2;
//                            }else{
//                                if (row>7){
//                                    row=row+locMast.getCrnNo()+1;
//                                }else {
//                                    row=row+locMast.getCrnNo()-1;
//                                }
//                            }
//                            break;
////                        case 4:
//////                            if (row<=11){
////////                                if (row%2==0){
////////                                    row=row+(row/2)-1;
////////                                }else {
////////                                    row=row+((row+1)/2)-1;
////////                                }
////////                            }else {
////////                                if (row%2==0){
////////                                    row=row+(row/2);
////////                                }else {
////////                                    row=row+((row-1)/2);
////////                                }
////////                            }
////
////                            if (row % 10 == 0) {
////                                row=row+2;
////                            }else{
////                                if (row>10){
////                                    row=row+locMast.getCrnNo()+1;
////                                }else {
////                                    row=row+locMast.getCrnNo()-1;
////                                }
////                            }
////                            break;
//                        case 5:
////                            if (row<=11){
////                                if (row%2==0){
////                                    row=row+(row/2)-1;
////                                }else {
////                                    row=row+((row+1)/2)-1;
////                                }
////                            }else {
////                                if (row%2==0){
////                                    row=row+(row/2);
////                                }else {
////                                    row=row+((row-1)/2);
////                                }
////                            }
//
//                            if (row % 7 == 0) {
//                                row=row+2;
//                            }else{
//                                if (row>7){
//                                    row=row+locMast.getCrnNo()+1;
//                                }else {
//                                    row=row+locMast.getCrnNo()-1;
//                                }
//                            }
//                            break;
//
//
//
//                    }
                            if (bay % 7 == 0) {
                                bay=bay+1;
                            }else{
                                if (bay>7){
                                    bay=bay+locMast.getCrnNo();
                                }else {
                                    bay=bay+locMast.getCrnNo()-1;
                                }
                            }
                            break;
                    ArrayList rowData = arrayLists.get(row);
                    Object o = rowData.get(bay);
                    JSONObject jsonObject = JSON.parseObject(o.toString());
                    jsonObject.put("locNo", locMast.getLocNo());//设置库位号
                    jsonObject.put("locSts", locMast.getLocSts());//库位状态
                    //jsonObject.put("locSts$", locMast.getLocSts$());//库位状态
                    //更新list
                    rowData.set(bay, jsonObject);
                    arrayLists.set(row, rowData);
                    }
                    if (area == 1){
                        ArrayList rowData = arrayLists.get(row);
                        Object o = rowData.get(bay);
                        JSONObject jsonObject = JSON.parseObject(o.toString());
                        jsonObject.put("locNo", locMast.getLocNo());//设置库位号
                        jsonObject.put("locSts", locMast.getLocSts());//库位状态
                        //jsonObject.put("locSts$", locMast.getLocSts$());//库位状态
                        //更新list
                        rowData.set(bay, jsonObject);
                        arrayLists.set(row, rowData);
                    }else {
                        ArrayList rowData = arrayLists.get(bay);
                        Object o = rowData.get(row);
                        JSONObject jsonObject = JSON.parseObject(o.toString());
                        jsonObject.put("locNo", locMast.getLocNo());//设置库位号
                        jsonObject.put("locSts", locMast.getLocSts());//库位状态
                        //jsonObject.put("locSts$", locMast.getLocSts$());//库位状态
                        //更新list
                        rowData.set(row, jsonObject);
                        arrayLists.set(bay, rowData);
                    }
//                    if (area == 1 || area == 6){
//                        ArrayList rowData = arrayLists.get(row);
//                        Object o = rowData.get(bay);
//                        JSONObject jsonObject = JSON.parseObject(o.toString());
//                        jsonObject.put("locNo", locMast.getLocNo());//设置库位号
//                        jsonObject.put("locSts", locMast.getLocSts());//库位状态
//                        //jsonObject.put("locSts$", locMast.getLocSts$());//库位状态
//                        //更新list
//                        rowData.set(bay, jsonObject);
//                        arrayLists.set(row, rowData);
//                    }else {
//                        ArrayList rowData = arrayLists.get(bay);
//                        Object o = rowData.get(row);
//                        JSONObject jsonObject = JSON.parseObject(o.toString());
//                        jsonObject.put("locNo", locMast.getLocNo());//设置库位号
//                        jsonObject.put("locSts", locMast.getLocSts());//库位状态
//                        //jsonObject.put("locSts$", locMast.getLocSts$());//库位状态
//                        //更新list
//                        rowData.set(row, jsonObject);
//                        arrayLists.set(bay, rowData);
//                    }