自动化立体仓库 - WMS系统
#
luxiaotao1123
2022-04-24 c1eee79b96d70a3e93d84f88865dcd0bb30f0ab3
#
1个文件已添加
4个文件已修改
44 ■■■■ 已修改文件
src/main/java/com/zy/asrs/service/StaDescService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/WorkService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/model/enums/IoWorkType.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/StaDescService.java
@@ -11,4 +11,6 @@
    StaDesc queryCrnStn(Integer typeNo, Integer crnNo, Integer stnNo);
    StaDesc queryCrnStnAuto(Integer typeNo, Integer crnNo, Integer stnNo);
}
src/main/java/com/zy/asrs/service/WorkService.java
@@ -9,6 +9,7 @@
import com.zy.common.model.LocDetlDto;
import com.zy.common.model.StartupDto;
import com.zy.common.model.TaskDto;
import com.zy.common.model.enums.IoWorkType;
import java.util.List;
@@ -31,7 +32,7 @@
     * @param locDetls 待出库物料
     * @param ioType 入出库类型
     */
    void stockOut(BasDevp staNo, List<LocDetlDto> locDetls, Integer ioType, Long userId);
    void stockOut(BasDevp staNo, List<LocDetlDto> locDetls, IoWorkType ioWorkType, Long userId);
    void stockOut(BasDevp staNo, TaskDto taskDto, Long userId);
src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
@@ -28,6 +28,19 @@
                .eq("crn_no", crnNo);
        StaDesc staDesc = this.selectOne(wrapper);
        if (staDesc == null) {
            throw new CoolException("出库路径不存在");
        }
        return staDesc;
    }
    @Override
    public StaDesc queryCrnStnAuto(Integer typeNo, Integer crnNo, Integer stnNo) {
        Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
                .eq("type_no", typeNo)
                .eq("stn_no", stnNo)
                .eq("crn_no", crnNo);
        StaDesc staDesc = this.selectOne(wrapper);
        if (staDesc == null) {
            wrapper = new EntityWrapper<StaDesc>()
                    .eq("type_no", typeNo)
                    .eq("crn_no", crnNo);
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -14,6 +14,7 @@
import com.zy.asrs.entity.param.StockOutParam;
import com.zy.asrs.service.*;
import com.zy.common.model.*;
import com.zy.common.model.enums.IoWorkType;
import com.zy.common.model.enums.WorkNoType;
import com.zy.common.service.CommonService;
import com.zy.common.web.WcsController;
@@ -168,7 +169,7 @@
    @Override
    @Transactional
    public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, Integer ioType, Long userId) {
    public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, IoWorkType ioWorkType, Long userId) {
        Date now = new Date();
        // 合并同类项
        Set<String> locNos = new HashSet<>();
@@ -187,13 +188,16 @@
                dtos.add(new OutLocDto(locNo, locDetlDto));
            }
        }
        Integer ioType = null;
        // 生成工作档
        for (OutLocDto dto : dtos) {
            // 判断入出库类型:101.全板出库 or 103.拣料出库
            if (ioType == null) {
            if (ioWorkType == null) {
                ioType = dto.isAll() ? 101 : 103;
            } else if (ioWorkType.equals(IoWorkType.CHECK_OUT)) {
                ioType = 107;
            }
            assert ioType != null;
            // 获取库位
            LocMast locMast = locMastService.selectById(dto.getLocNo());
            // 获取路径
@@ -270,7 +274,7 @@
        LocMast locMast = locMastService.selectById(taskDto.getLocNo());
        // 获取路径
        int ioType = taskDto.isAll() ? 101 : 103;
        StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), staNo.getDevNo());
        StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo());
        // 生成工作号
        int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
        // 生成工作档
@@ -466,7 +470,7 @@
        }
        if (!locDetlDtos.isEmpty()) {
            // 启动出库开始 107.盘点出库
            stockOut(staNo, locDetlDtos, 107, userId);
            stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId);
        } else {
            throw new CoolException("库位物料不存在");
        }
src/main/java/com/zy/common/model/enums/IoWorkType.java
New file
@@ -0,0 +1,12 @@
package com.zy.common.model.enums;
public enum IoWorkType {
    ALL_IN,
    PICK_IN,
    ALL_OUT,
    PICK_OUT,
    CHECK_OUT,
    ;
}