自动化立体仓库 - WMS系统
野心家
2025-06-21 288e45a990a5abf4ab50f820ed4e870e8314468e
src/main/java/com/zy/common/web/WcsController.java
@@ -76,22 +76,33 @@
                return R.error("条码不能为空");
            }
            waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()));
            if (Cools.isEmpty(waitPakins) || waitPakins.size() !=1) {
            List<WaitPakin> beBatch = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("be_batch", 1));
            if(beBatch.size() > 1){
                return  R.error("组托档中有多条搬运任务");
            }else if(Cools.isEmpty(beBatch)){
                return  R.error("组托档中没有搬运任务");
            }
            if (Cools.isEmpty(waitPakins)) {
                WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode());
                if (wrkMast != null || waitPakins.size() !=1) {
                if (wrkMast != null) {
                    return R.parse("600-重复组托");
                }
                return R.parse(CodeRes.NO_COMB_700);
            }
            int countWait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet",param.getBarcode())
            .eq("io_status", "Y"));
            int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
            int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
            if (countLoc > 0 || countWrk > 0 || countWait > 0) {
                if (!Cools.isEmpty(waitPakins.get(0).getDeadWarn()) && waitPakins.get(0).getDeadWarn()!=0){
                    return R.error(CodeRes.EXIST_500);
                for (WaitPakin waitPakin : beBatch) {
                    waitPakin.setZpallet(param.getBarcode());
                    waitPakinService.update(waitPakin,new EntityWrapper<WaitPakin>().eq("be_batch",1));
                }
            }else {
                int countWait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet",param.getBarcode())
                        .eq("io_status", "Y"));
                int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
                int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
                if (countLoc > 0 || countWrk > 0 || countWait > 0) {
                    if (!Cools.isEmpty(waitPakins.get(0).getDeadWarn()) && waitPakins.get(0).getDeadWarn()!=0){
                        return R.error(CodeRes.EXIST_500);
                    }
                }
            }
        }
        if (Cools.isEmpty(param.getLocType1())){
            param.setLocType1((short)1);
@@ -228,18 +239,6 @@
            locMast.setModiTime(now);
            if (!locMastService.updateById(locMast)){
                throw new CoolException("改变库位状态失败");
            }else{
                if (locMast.getRow1()<2){
                    //1.扫码上报
                    CombParam combParam = new CombParam();
                    combParam.setPackNo(waitPakins.get(0).getMatnr());
                    combParam.setBarcode(wrkMast.getBarcode());
                    combParam.setLocNo(wrkMast.getLocNo());
                    combParam.setPackSts(0);
                    combParam.setStepSts(1);
                    combParam.setRequestTime(DateUtils.convert(now));
//                    new PostMesDataUtils().postMesData("MES系统",mesUrl,inpath,combParam);
                }
            }
        } else {
            throw new CoolException(dto.getLocNo()+"目标库位已被占用");