自动化立体仓库 - WMS系统
zwl
2025-10-13 03b5b8a480fb201e288486299eb385a00d2aac66
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -3,12 +3,11 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.MobileAdjustParam;
@@ -16,13 +15,13 @@
import com.zy.asrs.entity.result.MobileAdjustResult;
import com.zy.asrs.mapper.ManLocDetlMapper;
import com.zy.asrs.service.*;
import com.zy.common.model.LocDto;
import com.zy.common.model.TaskDto;
import com.zy.common.model.WrkDto;
import com.zy.common.utils.HttpHandler;
import com.zy.common.web.BaseController;
import com.zy.system.entity.Config;
import com.zy.system.service.ConfigService;
import com.zy.third.entity.ExdvYanbu;
import com.zy.third.mapper.ExdMaterialMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -80,6 +79,9 @@
    @Autowired
    private ConfigService configService;
    @Autowired
    private ExdMaterialMapper exdMaterialMapper;
    // 商品上架
    @RequestMapping("/mat/onSale/auth")
    @ManagerAuth
@@ -87,6 +89,7 @@
        mobileService.onSale(combParam);
        return R.ok("上架成功");
    }
    // 商品下架
    @RequestMapping("/mat/offSale/auth")
    //@ManagerAuth
@@ -94,7 +97,6 @@
        mobileService.offSale(offSaleParam);
        return R.ok("下架成功");
    }
    // 组托 ----------------------------------------------------------------------------------------------------
@@ -127,7 +129,7 @@
    @RequestMapping("/comb/auth")
    @ManagerAuth(memo = "组托")
    public R comb(@RequestBody CombParam combParam){
        mobileService.comb(combParam, getUserId());
        mobileService.comb(combParam, getUserId(), getUser().getEmail());
        return R.ok("组托成功");
    }
@@ -359,6 +361,7 @@
    /**
     * 补空板   区域到点
     *
     * @param locNo 目标站点
     * @param size  托盘大小 1:小托盘  2:大托盘
     * @return
@@ -446,6 +449,7 @@
    /**
     * 空托盘回库
     *
     * @param sourceStaNo 原站点
     * @param barcode  托盘大小 1:小托盘  2:大托盘  目标区或者巷道
     * @return
@@ -459,9 +463,30 @@
        }
        //空托盘缓冲区 小:E8  大:E9
        String rStaNo ="E8";
        if (barcode.substring(0, 1).equals("9")) {
        String rStaNo ="E8";
        String type ="ZONE"; //区域
        if(barcode.substring(0,1).equals("9")){
            rStaNo = "E9";
        }
        String type = "ZONE"; //区域
        Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "autoE").eq("status", "1"));
        if (config != null) {
            type = "STACK"; //巷道
            if (Cools.isEmpty(config.getValue())) {
                rStaNo = rStaNo + "01";
                config.setValue("2");
            } else if (config.getValue().equals("1")) {
                rStaNo = rStaNo + "01";
                config.setValue("2");
            } else if (config.getValue().equals("2")) {
                rStaNo = rStaNo + "02";
                config.setValue("3");
            } else if (config.getValue().equals("3")) {
                rStaNo = rStaNo + "03";
                config.setValue("1");
            }
            configService.updateById(config);
        }else{
            Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "autoE").eq("status", "1"));
@@ -483,8 +508,6 @@
                configService.updateById(config);
            }
        }
        LinkedHashMap<String,Object> rcsParam=new LinkedHashMap<>();
        rcsParam.put("taskType", "PF-FMR-COMMON");
@@ -558,6 +581,7 @@
    /**
     * 执行移库任务--点到点
     *
     * @param sourceStaNo
     * @param staNo
     * @return
@@ -646,6 +670,7 @@
    /**
     * 执行移库任务--点到区域
     *
     * @param sourceStaNo
     * @param staNo
     * @return
@@ -733,6 +758,7 @@
    /**
     * 执行移库任务--区域到点
     *
     * @param sourceStaNo
     * @param staNo
     * @return
@@ -820,6 +846,7 @@
    /**
     * AGV站点绑定和解绑
     *
     * @param sourceStaNo   //站点
     * @param barcodeType   //托盘码
     * @param invoke        //BIND为绑定    UNBIND为解绑
@@ -906,6 +933,7 @@
    /**
     * 空板回库或者拣料回库
     *
     * @param sourceStaNo
     * @param staNo
     * @return
@@ -955,6 +983,7 @@
    /**
     * 获取仓库
     *
     * @return
     */
    @RequestMapping("/ck")
@@ -967,4 +996,25 @@
    }
    @RequestMapping(value = "/mat/tiaoma/auth")
    @ManagerAuth
    public R find(@RequestParam("barcode") String barcode) {
        ExdvYanbu barcode1 = exdMaterialMapper.getBacode(barcode);
        if (barcode1 == null) {
            return R.error("批次对应的验布数据不存在");
        }
        return R.ok(barcode1);
    }
    @RequestMapping(value = "/getOrderNo/auth")
    @ManagerAuth
    public R findOrderNo(@RequestParam("orderNo") String orderNo) {
        Page<Order> orderPage = orderService.selectPage(new Page<>(0, 10), new EntityWrapper<Order>().like("order_no", "%" + orderNo + "%"));
        List<String> objects = new ArrayList<>();
        for (Order record : orderPage.getRecords()) {
            objects.add(record.getOrderNo());
        }
        return R.ok(objects);
    }
}