自动化立体仓库 - WMS系统
lty
9 天以前 d599942e79ea0198898bdfde049b908418debf54
src/main/java/com/zy/common/web/WcsController.java
@@ -177,10 +177,23 @@
                return R.parse(CodeRes.NO_COMB_700);
            }
            boolean checkTimeout = false;
            for (WaitPakin waitPakin : waitPakins) {
                Mat mat = matService.selectByMatnr(waitPakin.getMatnr());
                mat.setWeight(waitPakin.getAnfme());
                mats.add(mat);
                Date appeTime = waitPakin.getAppeTime();
                Date now = new Date();
                long diffTime = now.getTime() - appeTime.getTime();
                if (diffTime >= 1000 * 60 * 60 * 4) {
                    checkTimeout = true;
                    break;
                }
            }
            if (checkTimeout) {
                return R.error("托盘组托超时,删除后重新组托");
            }
            int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
@@ -278,6 +291,8 @@
            WrkDetl wrkDetl = new WrkDetl();
            BeanUtils.copyProperties(waitPakin, wrkDetl);
            wrkDetl.setZpallet(barcode);
            wrkDetl.setProddate(waitPakin.getProddate());
            wrkDetl.setDeadline(waitPakin.getDeadline());
            wrkDetl.setWrkNo(wrkMast.getWrkNo());
            wrkDetl.setIoTime(wrkMast.getIoTime());
            wrkDetl.setAppeTime(now);
@@ -467,12 +482,12 @@
            log.error("{}任务【ioType = {}】已过期!!!", wrkNo, ioType);
            throw new CoolException(CodeRes.NONE_MAST_800);
        }
        List<LocDetl> locDetls = locDetlService.selectByLocNo(wrkMast.getSourceLocNo());
        if (locDetls.isEmpty()) {
            throw new CoolException("库存明细不存在");
        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
        if (Cools.isEmpty(wrkDetls)) {
            throw new CoolException(CodeRes.NONE_DETL_900);
        }
        // 检索库位
        List<String> matnrList = locDetls.stream().map(LocDetl::getMatnr).distinct().collect(Collectors.toList());
        List<String> matnrList = wrkDetls.stream().map(WrkDetl::getMatnr).distinct().collect(Collectors.toList());
        if (ioType == 103) {//拣料任务
            if (devpNo == 325 || devpNo == 331 || devpNo == 333 || devpNo == 339) {
                devpNo = 341;
@@ -529,7 +544,7 @@
        }
        //获取回库提升机目标站
        Integer staNo = liftNo * 100 + locMast1.getLev1();
        Integer staNo = liftNo * 100 + locMast.getLev1();
        // 更新工作档数据状态
        wrkMast.setIoType(wrkMast.getIoType() - 50); // 入出库类型: 103->53,104->54
@@ -726,6 +741,17 @@
                    }
                }
            };
            if (agvWrkMast.getIoType() == 103){
                List<AgvLocDetl> suppCodes = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("supp_code", agvWrkMast.getBarcode()));
                if (!Cools.isEmpty(suppCodes)){
                    for (AgvLocDetl agvLocDetl : suppCodes){
                        AgvWrkDetl agvWrkDetl = new AgvWrkDetl(agvLocDetl.getSuppCode(), agvLocDetl.getMatnr(), agvLocDetl.getMaktx(), agvLocDetl.getSpecs(), agvLocDetl.getAnfme());
                        agvWrkDetlList.add(agvWrkDetl);
                    }
                }
            }
            agvBasDevpDto.setAgvWrkDetls(agvWrkDetlList);
            agvBasDevpDto.setAgvWrkMast(agvWrkMast);