自动化立体仓库 - WMS系统
#
tzsk
3 天以前 71592bfa6e09c482ba6c12d4bacedd470fedbec8
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);
@@ -319,6 +334,7 @@
        // 更新目标库位状态
        LocMast locMast = locMastService.selectById(dto.getLocNo());
        if (locMast.getLocSts().equals("O")) {
            log.warn("Flag - 25,{}库位状态变更,{} => {}", locMast.getLocNo(), locMast.getLocSts(), "S");
            locMast.setLocSts("S"); // S.入库预约
            locMast.setModiTime(now);
            if (!locMastService.updateById(locMast)) {
@@ -385,6 +401,7 @@
        // 更新目标库位状态
        LocMast locMast = locMastService.selectById(dto.getLocNo());
        if (locMast.getLocSts().equals("O")) {
            log.warn("Flag - 26,{}库位状态变更,{} => {}", locMast.getLocNo(), locMast.getLocSts(), "S");
            locMast.setLocSts("S"); // S.入库预约
            locMast.setModiTime(new Date());
            if (!locMastService.updateById(locMast)) {
@@ -428,6 +445,7 @@
        // 更新目标库位状态
        LocMast locMast = locMastService.selectById(dto.getLocNo());
        if (locMast.getLocSts().equals("O")) {
            log.warn("Flag - 27,{}库位状态变更,{} => {}", locMast.getLocNo(), locMast.getLocSts(), "S");
            locMast.setLocSts("S"); // S.入库预约
            locMast.setModiTime(new Date());
            if (!locMastService.updateById(locMast)) {
@@ -467,12 +485,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;
@@ -483,6 +501,7 @@
        // 更新目标库位状态
        LocMast locMast = locMastService.selectById(dto.getLocNo());
        if (locMast.getLocSts().equals("O")) {
            log.warn("Flag - 28,{}库位状态变更,{} => {}", locMast.getLocNo(), locMast.getLocSts(), "Q");
            locMast.setLocSts("Q"); // Q.拣料再入库
            locMast.setModiTime(new Date());
            if (!locMastService.updateById(locMast)) {
@@ -726,6 +745,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);