skyouc
2025-07-08 735a9d992e0c1fffbbe942097115b3d0888ca6c0
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocMapController.java
@@ -8,6 +8,7 @@
import com.zy.asrs.framework.common.R;
import com.zy.asrs.wms.asrs.entity.Loc;
import com.zy.asrs.wms.asrs.entity.enums.LocStsType;
import com.zy.asrs.wms.asrs.entity.param.LocMastInitParam;
import com.zy.asrs.wms.asrs.service.LocService;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
@@ -153,32 +154,56 @@
    @OperationLog("初始化库位")
    @PostMapping("/locMap/init")
    @Transactional
    public R init(@RequestBody LocMap locMap) {
        Integer mapLev = locMap.getMapLev();
    public R init(@RequestBody LocMastInitParam param) {
//        Integer mapLev = locMap.getMapLev();
        locService.remove(new LambdaQueryWrapper<Loc>().eq(Loc::getLev1, mapLev));
//        locService.remove(new LambdaQueryWrapper<Loc>().eq(Loc::getLev1, mapLev));
        //解析json地图数据
        List<ArrayList> arrayLists = JSON.parseArray(locMap.getData(), ArrayList.class);
        int rowIdx = 0;
        for (ArrayList row : arrayLists) {
            int bayIdx = 0;
            for (Object bay : row) {
                JSONObject data = JSON.parseObject(JSON.toJSONString(bay));
                if (data.getInteger("value") == 0) {
//        List<ArrayList> arrayLists = JSON.parseArray(locMap.getData(), ArrayList.class);
//        int rowIdx = 0;
//        for (ArrayList row : arrayLists) {
//            int bayIdx = 0;
//            for (Object bay : row) {
//                JSONObject data = JSON.parseObject(JSON.toJSONString(bay));
//                if (data.getInteger("value") == 0) {
//                    Loc loc = new Loc();
//                    loc.setRow1(rowIdx);
//                    loc.setBay1(bayIdx);
//                    loc.setLev1(mapLev);
//                    loc.setLocStsId(LocStsType.O.val());
//                    loc.setLocNo(Utils.getPlatLocNo(rowIdx, bayIdx, mapLev));
//                    locService.save(loc);
//                }
//                bayIdx++;
//            }
//            rowIdx++;
//        }
        List<Loc> list = new ArrayList<>();
        Integer chanl = 0; //默认第一巷道
        for (int r = param.getStartRow(); r <= param.getEndRow(); r++) {
//            if (r % param.getChannel() == 1) {
//                chanl ++;
//            }
            for (int b = param.getStartBay(); b <= param.getEndBay(); b++) {
                for (int l = param.getStartLev(); l <= param.getEndLev(); l++) {
                    // 获取库位号
                    String locNo = Utils.getPlatLocNo(r, b, l);
                    Loc loc = new Loc();
                    loc.setRow1(rowIdx);
                    loc.setBay1(bayIdx);
                    loc.setLev1(mapLev);
                    loc.setRow1(r);
                    loc.setBay1(b);
                    loc.setLev1(l);
                    loc.setLocStsId(LocStsType.O.val());
                    loc.setLocNo(Utils.getLocNo(rowIdx, bayIdx, mapLev));
                    loc.setLocNo(locNo);
                    locService.save(loc);
                    list.add(loc);
                }
                bayIdx++;
            }
            rowIdx++;
        }
        return R.ok("添加成功");
    }