自动化立体仓库 - WMS系统
whycq
2023-08-26 82bcd0328dddbaad65933e2fada22bc68e82b3d5
src/main/java/com/zy/asrs/controller/OutController.java
@@ -10,6 +10,7 @@
import com.core.common.R;
import com.zy.asrs.entity.*;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.Utils;
import com.zy.common.model.LocDto;
import com.zy.common.model.OrderDto;
import com.zy.common.model.OrderMergeVo;
@@ -177,7 +178,45 @@
                taskDtos.add(taskDto);
            }
        }
        List<String> locNos = new ArrayList<>();
        for (TaskDto taskDto : taskDtos) {
            if (!locNos.contains(taskDto.getLocNo())){
                locNos.add(taskDto.getLocNo());
            }
        }
        List<TaskDto> taskDtos1 = new ArrayList<>();
        for (TaskDto taskDto : taskDtos) {
            String locNo = taskDto.getLocNo();
            List<String> groupOuterSingleLoc = Utils.getGroupOuterSingleLoc(locNo);
            if (Utils.getBay(locNo)>=21){
                groupOuterSingleLoc = Utils.getGroupOuterSingleLocLowFrequency(locNo);
            }
            for (String locNo1 : groupOuterSingleLoc){
                if (!locNos.contains(locNo1)){
                    locNos.add(locNo1);
                    LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locNo1));
                    if (locMast.getLocSts().equals("F")){
                        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locNo1));
                        if (Cools.isEmpty(locDetls) || locDetls.size()==0) {
                            TaskDto taskDto1 = new TaskDto(locNo1, taskDto.getStaNo());
                            taskDtos1.add(taskDto1);
                        }else {
                            List<LocDto> locDtos1 = new ArrayList<>();
                            for (LocDetl locDetl:locDetls){
                                LocDto locDto = new LocDto(locDetl,taskDto.getLocDtos().get(0),"伴生出库");
                                locDtos1.add(locDto);
                            }
                            TaskDto taskDto1 = new TaskDto(locNo1, taskDto.getStaNo(),locDtos1);
                            taskDtos1.add(taskDto1);
                        }
                    }else if (locMast.getLocSts().equals("D")){
                        TaskDto taskDto1 = new TaskDto(locNo1, taskDto.getStaNo());
                        taskDtos1.add(taskDto1);
                    }
                }
            }
        }
        taskDtos.addAll(taskDtos1);
        // -----------------------------------------------------------------------------------------------
        List<String> excludeLocNos = taskDtos.stream().map(TaskDto::getLocNo).distinct().collect(Collectors.toList());
        for (TaskDto taskDto : taskDtos) {