自动化立体仓库 - WMS系统
#1
lsh
19 小时以前 809f49807ce5f587fe881cfe4cc3d38d9c1a46a3
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -180,9 +180,14 @@
        for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
            if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
                one.setMemo(paramLocDetl.getMemo());
                one.setColor(paramLocDetl.getColor());
                if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount(), param.getOrderNo()));
                if (null != one) {
                    one.setMemo(paramLocDetl.getMemo());
                    one.setColor(paramLocDetl.getColor());
                    if (param.getOutSite()!=212 && param.getOutSite()!=1901 && one.getBrandArmType$()==999){
                        staNo = basDevpService.checkSiteStatus(1901);
                    }
                    locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount(), param.getOrderNo()));
                }
            }
        }
        if (!locDetlDtos.isEmpty()) {
@@ -632,14 +637,46 @@
        for (OutLocDto dto : dtos) {
            // 判断入出库类型:101.全板出库 or 103.拣料出库
            if (ioWorkType == null) {
                ioType = dto.isAll() ? 101 : 103;
                boolean dtoAll = dto.isAll();
                if (!dtoAll){
                    for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
                        LocDetl locDetl = detlDto.getLocDetl();
                        LocDetl one = locDetlService.selectItem(dto.getLocNo(), locDetl.getMatnr(), locDetl.getBatch());
                        if (null != one) {
                            if (one.getBrandArmType$()==999){
                                dtoAll = true;
                            }
                        } else {
                            log.error("出库但未找到明细!!!"+locDetl.getMatnr());
                            dtoAll = true;
                        }
                    }
                    if (dtoAll) {
                        List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", dto.getLocNo()));
                        for (LocDetl locDetl : locDetlList) {
                            boolean signAddAll = true;
                            for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
                                if (detlDto.getLocDetl().getBatch().equals(locDetl.getBatch())) {
                                    signAddAll = false;
                                }
                            }
                            if (signAddAll) {
                                LocDetl one = locDetlService.selectItem(dto.getLocNo(), locDetl.getMatnr(), locDetl.getBatch());
                                dto.getLocDetlDtos().add(new LocDetlDto(one, one.getAnfme(), "affiliated"));
                            }
                        }
                    }
                    if (staNo.getDevNo() == 1901 && !dtoAll){//紧急出库需修改
                        staNo.setDevNo(118);
                    }
                }
                ioType = dtoAll ? 101 : 103;
            } else if (ioWorkType.equals(IoWorkType.CHECK_OUT)) {
                ioType = 107;
            }
            assert ioType != null;
            // 获取库位
            LocMast locMast = locMastService.selectById(dto.getLocNo());
            Integer outSta = staNo.getDevNo();
//            //2号堆垛机全板出库站指定为204站,拣料站指定为202
//            if(locMast.getCrnNo()==2){