自动化立体仓库 - WMS系统
zyx
2024-03-08 29fc12b38133fd1361dd4d368b29719c2bfca161
src/main/java/com/zy/common/model/TaskDto.java
@@ -110,22 +110,34 @@
                if (!dto.getMatnr().equals(locDetl.getMatnr())) {
                    continue;
                }
                if (Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(locDetl.getBatch())) {
                if(!Cools.eq(dto.getBatch(),locDetl.getBatch())){
                    continue;
                }
                if (!Cools.isEmpty(dto.getBatch()) && Cools.isEmpty(locDetl.getBatch())) {
                if(!Cools.eq(dto.getCsocode(),locDetl.getThreeCode())){
                    continue;
                }
                if (!Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(locDetl.getBatch())) {
                    if (!dto.getBatch().equals(locDetl.getBatch())) {
                        continue;
                    }
                if(!Cools.eq(dto.getIsoseq(),locDetl.getDeadTime())){
                    continue;
                }
                if (!Cools.isEmpty(dto.getContainerCode()) && !Cools.isEmpty(locDetl.getSuppCode())) {
                    if (!dto.getContainerCode().equals(locDetl.getSuppCode())) {
                        continue;
                    }
                if(!Cools.eq(dto.getContainerCode(),locDetl.getSuppCode())){
                    continue;
                }
//                if (Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(locDetl.getBatch())) {
//                    continue;
//                }
//                if (!Cools.isEmpty(dto.getBatch()) && Cools.isEmpty(locDetl.getBatch())) {
//                    continue;
//                }
//                if (!Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(locDetl.getBatch())) {
//                    if (!dto.getBatch().equals(locDetl.getBatch())) {
//                        continue;
//                    }
//                }
//                if (!Cools.isEmpty(dto.getContainerCode()) && !Cools.isEmpty(locDetl.getSuppCode())) {
//                    if (!dto.getContainerCode().equals(locDetl.getSuppCode())) {
//                        continue;
//                    }
//                }
                if (dto.getAnfme() > locDetl.getAnfme()) {
                    throw new CoolException("服务器内部错误");
                }
@@ -139,4 +151,52 @@
        return sameNumber == locDetls.size();
    }
    public void sortLocDtos() {
        ArrayList<LocDto> list = new ArrayList<>();
        String orderNo = "";
        for (LocDto locDto : locDtos) {
            if (!Cools.isEmpty(locDto.getOrderNo())) {
                orderNo = locDto.getOrderNo();
                break;
            }
        }
        EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
        wrapper.eq("loc_no", locNo);
        LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class);
        List<LocDetl> locDetls = locDetlService.selectList(wrapper);
        for (LocDetl locDetl : locDetls) {
            boolean flag = true;
            for (LocDto locDto : locDtos) {
                if (!Cools.isEmpty(locDetl.getMatnr())) {
                    if (!locDetl.getMatnr().equals(locDto.getMatnr())) {
                        continue;
                    }
                }
                if (!Cools.isEmpty(locDetl.getBatch())) {
                    if (!locDetl.getBatch().equals(locDto.getBatch())) {
                        continue;
                    }
                }
                if (!Cools.isEmpty(locDetl.getSuppCode())) {
                    if (!locDetl.getSuppCode().equals(locDto.getContainerCode())) {
                        continue;
                    }
                }
                locDto.setStock(locDetl.getAnfme());
                flag = false;
                break;
            }
            if (flag) {
                LocDto dto = new LocDto(locNo, locDetl.getMatnr(), locDetl.getBatch(), 0D);
                dto.setContainerCode(locDetl.getSuppCode());
                dto.setStock(locDetl.getAnfme());
                list.add(dto);
            }
        }
        locDtos.addAll(list);
    }
}