自动化立体仓库 - WMS系统
#
whycq
2024-06-12 0ff532196c988263dac617fbfbbbc903df40159c
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -99,7 +99,7 @@
            wrkMast.setMk(isConveyor ? "Y" : "N");
            //生成工作档明细
            agvWaitPakinList.forEach(wp -> {
                createWrkDetlReWrite(wp.getMatnr(),wrkMast.getWrkNo(),wp.getOrderNo(),wp.getBatch(),wp.getAnfme(),wp.getSuppCode(),now,userId,wp.getThreeCode(),wp.getDeadTime());
                createWrkDetlReWrite(wp.getMatnr(),wrkMast.getWrkNo(),wp.getOrderNo(),wp.getBatch(),wp.getAnfme(),wp.getSuppCode(),now,userId,wp.getThreeCode(),wp.getDeadTime(),wp.getProcessSts());
            });
            //更新源站点信息
            updateAgvBasDevp(agvBasDevp,"R");
@@ -151,7 +151,8 @@
                            now,
                            userId,
                            locDto.getCsocode(),
                            locDto.getIsoseq());
                            locDto.getIsoseq(),
                            locDto.getProcessSts());
                }else {
                    List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class);
                    orderDtoList.forEach(orderDto -> {
@@ -165,7 +166,8 @@
                                now,
                                userId,
                                locDto.getCsocode(),
                                locDto.getIsoseq());
                                locDto.getIsoseq(),
                                locDto.getProcessSts());
                    });
                }
@@ -243,7 +245,7 @@
        List<TaskDto> taskDtos = new ArrayList<>();
        param.getLocDetls().forEach(locDetl -> {
            LocDto locDto = new LocDto(locDetl.getLocNo(),locDetl.getCount(),locDetl.getMatnr(),locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime(),locDetl.getSuppCode());
            LocDto locDto = new LocDto(locDetl.getLocNo(),locDetl.getCount(),locDetl.getMatnr(),locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime(),locDetl.getSuppCode(), locDetl.getProcessSts());
            TaskDto taskDto = new TaskDto(locDetl.getLocNo(),station,locDto);
            if(TaskDto.has(taskDtos,taskDto)){
                TaskDto.find(taskDtos,taskDto).getLocDtos().add(locDto);
@@ -277,7 +279,8 @@
                        now,
                        userId,
                        locDto.getCsocode(),
                        locDto.getIsoseq());
                        locDto.getIsoseq(),
                        locDto.getProcessSts());
            });
            updateAgvLocMast(agvLocMastService.selectById(wrkMast.getSourceLocNo()),"P");
            //更新目标站点状态
@@ -308,7 +311,7 @@
        //生成移库工作档
        AgvWrkMast wrkMast = createWrkMast(11, 21L, sourceLocNo, targetLocNo, sourceLocDetl.getSuppCode(), now, userId,getContainerTypeByloc(sourceLocNo));
        //生成工作党明细
        createWrkDetlReWrite(sourceLocDetl.getMatnr(),wrkMast.getWrkNo(),null,sourceLocDetl.getBatch(),sourceLocDetl.getAnfme(),sourceLocDetl.getZpallet(),now,userId,sourceLocDetl.getThreeCode(),sourceLocDetl.getDeadTime());
        createWrkDetlReWrite(sourceLocDetl.getMatnr(),wrkMast.getWrkNo(),null,sourceLocDetl.getBatch(),sourceLocDetl.getAnfme(),sourceLocDetl.getZpallet(),now,userId,sourceLocDetl.getThreeCode(),sourceLocDetl.getDeadTime(),sourceLocDetl.getProcessSts());
        //修改目标库位状态
        updateAgvLocMast(targetLocMast,"S");
        //修改原库位状态
@@ -385,9 +388,11 @@
        if(!Cools.isEmpty(agvWaitPakinList)){
            AtomicBoolean isCurrLev = new AtomicBoolean(false);
            agvWaitPakinList.forEach(agvWaitPakin -> {
                if (!Cools.isEmpty(agvWaitPakin.getProcessSts())) {
                if (agvWaitPakin.getProcessSts() == 1) {
                    isCurrLev.set(true);
                }
                }
            });
            if (isCurrLev.get()) {
                agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,true);