DESKTOP-LMJ82IJ\Eno
2025-01-05 e2e5cea7617ce0632750b3123dd600db95410919
#平库入库功能
4个文件已修改
1个文件已添加
123 ■■■■■ 已修改文件
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/enums/LocAreaTypeSts.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/MobileService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java 84 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java
@@ -6,6 +6,7 @@
import com.zy.asrs.framework.annotations.ManagerAuth;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
import com.zy.asrs.wms.asrs.entity.Loc;
import com.zy.asrs.wms.asrs.entity.Order;
import com.zy.asrs.wms.asrs.entity.WaitPakin;
import com.zy.asrs.wms.asrs.entity.dto.OrderInfoDto;
@@ -89,8 +90,12 @@
            return R.error("库位不能为空!!");
        }
        //TODO 绑定库位,添加库位明细
        if (mobileService.pakinToStock(shelvesParams)) {
            return R.ok("入库成功!!");
        } else {
            return R.error("入库失败!!");
        }
        return R.ok();
    }
    /**
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/enums/LocAreaTypeSts.java
New file
@@ -0,0 +1,26 @@
package com.zy.asrs.wms.asrs.entity.enums;
/**
 * 仓库库区类型
 */
public enum LocAreaTypeSts {
    //四方库
    LOC_AREA_TYPE_ROUND(1L, "四向库"),
    //UTC库
    LOC_AREA_TYPE_UTC(4L, "UTC库"),
    //平库
    LOC_AREA_TYPE_FLAT(7L, "平库")
;
    public Long id;
    public String desc;
    LocAreaTypeSts(Long id, String desc) {
        this.id = id;
        this.desc = desc;
    }
}
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/MobileService.java
@@ -1,6 +1,8 @@
package com.zy.asrs.wms.asrs.service;
import com.zy.asrs.wms.asrs.entity.Loc;
import com.zy.asrs.wms.asrs.entity.param.BatchMergeOrdersParam;
import com.zy.asrs.wms.asrs.entity.param.PakinOnShelvesParams;
import com.zy.asrs.wms.system.entity.Host;
import java.util.List;
@@ -11,4 +13,6 @@
    boolean batchMergeOrders(BatchMergeOrdersParam ordersParam);
    List<Host> getHosts();
    boolean pakinToStock(PakinOnShelvesParams shelvesParams);
}
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java
@@ -2,17 +2,13 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.asrs.framework.exception.CoolException;
import com.zy.asrs.wms.asrs.entity.Order;
import com.zy.asrs.wms.asrs.entity.WaitPakin;
import com.zy.asrs.wms.asrs.entity.enums.LocTypeHeightType;
import com.zy.asrs.wms.asrs.entity.*;
import com.zy.asrs.wms.asrs.entity.enums.*;
import com.zy.asrs.wms.asrs.entity.enums.OrderType;
import com.zy.asrs.wms.asrs.entity.enums.TaskStsType;
import com.zy.asrs.wms.asrs.entity.param.BatchMergeOrdersParam;
import com.zy.asrs.wms.asrs.entity.param.GeneratePakInParam;
import com.zy.asrs.wms.asrs.service.MobileService;
import com.zy.asrs.wms.asrs.service.OrderService;
import com.zy.asrs.wms.asrs.service.WaitPakinService;
import com.zy.asrs.wms.asrs.service.WorkService;
import com.zy.asrs.wms.asrs.entity.param.PakinOnShelvesParams;
import com.zy.asrs.wms.asrs.service.*;
import com.zy.asrs.wms.system.entity.Host;
import com.zy.asrs.wms.system.service.HostService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -20,6 +16,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -32,9 +29,16 @@
    private WorkService workService;
    @Autowired
    private HostService hostService;
    @Autowired
    private OrderService orderService;
    @Autowired
    private LocService locService;
    @Autowired
    private LocDetlService locDetlService;
    @Autowired
    private LocAreaService locAreaService;
    @Autowired
    private LocAreaTypeService locAreaTypeService;
    @Override
@@ -85,4 +89,66 @@
    public List<Host> getHosts() {
        return hostService.list();
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean pakinToStock(PakinOnShelvesParams shelvesParams) {
        Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getLocNo, shelvesParams.getLoc()));
        if (Objects.isNull(loc)) {
            throw new CoolException("库位不存在!!");
        }
        if (loc.getLocStsId() != LocStsType.O.val()) {
            throw new CoolException("当前库位状态不是空库状态." + LocStsType.O.val());
        }
        //判断当前仓库是否为平库位
        List<LocArea> locAreas = locAreaService.list(new LambdaQueryWrapper<LocArea>().eq(LocArea::getLocId, loc.getId()));
        locAreas.forEach(locArea -> {
            LocAreaType typeServiceOne = locAreaTypeService.getOne(new LambdaQueryWrapper<LocAreaType>().eq(LocAreaType::getId, locArea.getTypeId()), false);
            if (typeServiceOne.getParentId() != LocAreaTypeSts.LOC_AREA_TYPE_FLAT.id && typeServiceOne.getId() != LocAreaTypeSts.LOC_AREA_TYPE_FLAT.id) {
                throw new CoolException("请选择平库区库位,再操作!!");
            }
        });
        loc.setBarcode(shelvesParams.getBarcode());
        loc.setUpdateTime(new Date());
        //库存状态修改为在库状态
        loc.setLocStsId(LocStsType.F.val());
        if (!locService.save(loc)) {
            throw new CoolException("库位更新失败!!");
        }
        List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, shelvesParams.getBarcode()));
        waitPakins.forEach(pakin -> {
            LocDetl locDetl = new LocDetl();
            locDetl.setAnfme(pakin.getAnfme());
            locDetl.setBatch(pakin.getBatch());
            locDetl.setMatnr(pakin.getMatnr());
            locDetl.setCreateTime(new Date());
            locDetl.setOrderNo(pakin.getOrderNo());
            locDetl.setLocNo(loc.getLocNo());
            locDetl.setLocId(loc.getLocStsId());
            locDetl.setMatnr(pakin.getMatnr());
            locDetl.setMemo(pakin.getMemo());
            locDetl.setUpdateTime(new Date());
            if (!locDetlService.save(locDetl)) {
                throw new CoolException("库存明细更新失败!!");
            }
        });
        return true;
    }
//    /**
//     * 获取当前库位是否存在
//     * @param shelvesParams
//     * @return
//     */
//    @Override
//    public Loc selectPakinLocs(PakinOnShelvesParams shelvesParams) {
//        return locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getLocNo, shelvesParams.getLoc()));
//    }
}
zy-asrs-wms/src/main/resources/application.yml
@@ -14,7 +14,7 @@
      connection-test-query: select 1
    driver-class-name: com.mysql.cj.jdbc.Driver
#    url: jdbc:mysql://127.0.0.1:3306/wms_dev_test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
    url: jdbc:mysql://127.0.0.1:3306/wms_dev_test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
    url: jdbc:mysql://127.0.0.1:3306/wms_dev?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
    username: root
    password: 34821015
#    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver