自动化立体仓库 - WMS系统
zyx
2024-04-24 9d2d63ee09e8bcf494fc3fd14a48d82731fac9ef
根据楼层入库出库
7个文件已修改
24 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OutController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/AgvBasDevpMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/AgvBasDevpService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/AgvCommonService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OutController.java
@@ -126,7 +126,7 @@
            }
            AgvLocMast agvLocMast = agvLocMastService.selectById(locDto.getLocNo());
            List<String> staNoList = agvBasDevpService.selectCacheShelvesStationCodeByLocType(agvLocMast.getLocType1());
            List<String> staNoList = agvBasDevpService.selectCacheShelvesStationCodeByLocType(agvLocMast.getLocType1(),agvLocMast.getFloor());
            if(!staNoList.contains(locDto.getAgvStaNo())){
                return R.error(locDto.getStaNo()+"该站点已有出库任务,无法选择该站点出库");
src/main/java/com/zy/asrs/mapper/AgvBasDevpMapper.java
@@ -33,8 +33,9 @@
            "WHERE\n" +
            "\tagv_wrk_mast.loc_no IS NULL \n" +
            "\tAND agv_bas_devp.loc_type1 = #{locType} \n" +
            "\tAND agv_bas_devp.floor = #{floor} \n" +
            "\tAND agv_bas_devp.out_enable = 'Y'")
    List<String> selectCacheShelvesStationCodeByLocType(@Param("locType") Short locType);
    List<String> selectCacheShelvesStationCodeByLocType(@Param("locType") Short locType, @Param("floor") int floor);
    @Select("SELECT\n" +
            "\tbas.dev_no,\n" +
src/main/java/com/zy/asrs/service/AgvBasDevpService.java
@@ -25,7 +25,7 @@
    List<AgvBasDevp> getBasDevpByNoCacheShelves();
    List<String> selectCacheShelvesStationCodeByFloor(int floor);
    List<String> selectCacheShelvesStationCodeByLocType(short locType);
    List<String> selectCacheShelvesStationCodeByLocType(short locType, int floor);
    public List<Map<String,Object>> selectDevNoAndNumBystationCode(String stationCode);
src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java
@@ -300,8 +300,8 @@
    }
    @Override
    public List<String> selectCacheShelvesStationCodeByLocType(short locType) {
        return this.baseMapper.selectCacheShelvesStationCodeByLocType(locType);
    public List<String> selectCacheShelvesStationCodeByLocType(short locType, int floor) {
        return this.baseMapper.selectCacheShelvesStationCodeByLocType(locType,floor);
    }
    public List<Map<String,Object>> selectDevNoAndNumBystationCode(String stationCode){
src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
@@ -93,7 +93,7 @@
                //当前库位所处楼层
                int floor = Integer.parseInt(agvLocDetl.getLocNo().split("F")[1]);
                //locDto.setAgvStaNos(queryAgvStaNosByFloor(floor));
                locDto.setAgvStaNos(agvBasDevpService.selectCacheShelvesStationCodeByLocType(agvLocMast.getLocType1()));
                locDto.setAgvStaNos(agvBasDevpService.selectCacheShelvesStationCodeByLocType(agvLocMast.getLocType1(),floor));
                locDtoList.add(locDto);
                issued -= anfme;
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -89,7 +89,7 @@
            List<AgvWaitPakin> agvWaitPakinList = agvWaitPakinService.selectList(new EntityWrapper<AgvWaitPakin>().eq("supp_code", agvBasDevp.getBarcode()));
            //检索库位,选择合适的库位
            AgvLocMast agvLocMast = agvCommonService.getLocNo(agvBasDevp.getLocType1());
            AgvLocMast agvLocMast = agvCommonService.getLocNo(agvBasDevp.getLocType1(),agvBasDevp.getFloor());
            //生成工作档
            AgvWrkMast wrkMast = createWrkMast(1,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),agvBasDevp.getBarcode(),now,userId, agvBasDevp.getLocType2());
            //标记是否为输送线入库
@@ -333,7 +333,7 @@
        }
        //检索库位,选择合适的库位
        AgvLocMast agvLocMast = agvCommonService.getLocNo(agvBasDevp.getLocType1());
        AgvLocMast agvLocMast = agvCommonService.getLocNo(agvBasDevp.getLocType1(),agvBasDevp.getFloor());
        //查询入库通知档
        List<AgvWaitPakin> agvWaitPakinList = agvWaitPakinService.selectByContainerCode(containerCode);
src/main/java/com/zy/common/service/AgvCommonService.java
@@ -71,7 +71,7 @@
     * 检索库位号
     * @return locNo 检索到的库位号
     */
    public AgvLocMast getLocNo(int type) {
    public AgvLocMast getLocNo(int type, int floor) {
        // 目标库位
        AgvLocMast locMast = null;
//        if(Cools.isEmpty(agvWaitPakinList)){
@@ -110,7 +110,7 @@
        // 开始查找库位 ==============================>>
        locMast = getLocNoRule(type);
        locMast = getLocNoRule(type,floor);
        if (locMast != null) {
            return locMast;
        }
@@ -227,9 +227,10 @@
    }
    //随机取一个货位
    private AgvLocMast getLocNoRule(int type){
    private AgvLocMast getLocNoRule(int type,int floor){
        return agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>()
                .eq("loc_sts","O")
                .eq("floor",floor)
                .eq("loc_type1",type));
    }