自动化立体仓库 - WMS系统
zwl
2025-04-16 b4b2da143af53a7422135abffd5306b282be6a39
src/main/java/com/zy/common/web/WcsController.java
@@ -92,6 +92,15 @@
            return storageResult;
        }
        BasDevp basDevp=basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no",param.getWcsSourceStaNo()));
        //
        List<WrkMast> wrkMasts=wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("sta_no",param.getWcsSourceStaNo()).in("wrk_sts",11,12,13));
        if(!Cools.isEmpty(wrkMasts)){
            storageResult.setReturnStatus(1);
            storageResult.setErrorMessage("有出库任务禁止入库");
            basDevp.setArea("有出库任务禁止入库");
            basDevpService.updateById(basDevp);
            return storageResult;
        }
        int ioType = 0;
        List<WaitPakin> waitPakins = null;
        if (param.getWcsIoType() == 1) {
@@ -185,18 +194,21 @@
            WaitPakin waitPakin1=new WaitPakin();
            waitPakin1.sync(wrkDetl);
            locMast1 =commonService.getLocNo2(waitPakin1,arr,0,type,1);
            //更新货物所在库位的深浅号
            wrkDetl.setSource(locMast1.getLocAttribute());
            wrkDetlService.update(wrkDetl,new EntityWrapper<WrkDetl>().eq("wrk_no", wrkDetl.getWrkNo()));
            WrkMast wrkMast=wrkMastService.selectByBarcode(barcode);
            workNo = wrkMast.getWrkNo();
            int mbz=wrkMast.getStaNo()*10+Integer.valueOf(wrkMast.getSourceLocNo().substring(6));
            int mbz=basDevp.getDevNo()*10+Integer.valueOf(wrkMast.getSourceLocNo().substring(6));
            String ykw=wrkMast.getLocNo();
            wrkMast.setIoType(ioType-50);
            wrkMast.setWrkSts(1L);//入库
            wrkMast.setModiTime(new Date());
            wrkMast.setSourceStaNo(wrkMast.getStaNo()); // 源站
            wrkMast.setSourceStaNo(basDevp.getDevNo()); // 源站
            wrkMast.setStaNo(mbz); // 目标站
            wrkMast.setLocNo(locMast1.getLocNo()); // 目标库位 = 出库时的源库位
            wrkMast.setSourceLocNo(ykw); // 源库位
            wrkMastService.updateById(wrkMast);
        }else{
            int type=Cools.isEmpty(waitPakins.get(0).getBeBatch())?1:waitPakins.get(0).getBeBatch();
@@ -233,6 +245,7 @@
                throw new CoolException("保存工作档失败");
            }
            // 生成工作档明细
            int source = locMast1.getLocAttribute();
            waitPakins.forEach(waitPakin -> {
                WrkDetl wrkDetl = new WrkDetl();
                wrkDetl.sync(waitPakin);
@@ -240,6 +253,7 @@
                wrkDetl.setIoTime(wrkMast.getIoTime());
                wrkDetl.setAppeTime(now);
                wrkDetl.setModiTime(now);
                wrkDetl.setSource(source);
                if (!wrkDetlService.insert(wrkDetl)) {
                    basDevp.setArea("保存工作明细失败");
                    basDevpService.updateById(basDevp);