自动化立体仓库 - WMS系统
skyouc
20 小时以前 1dca57c0f15c3cdfbebf14ad1e9e04d8c84e775c
src/main/java/com/zy/common/model/TaskDto.java
@@ -22,6 +22,10 @@
    private List<LocDto> locDtos;
    private String agvStaNo;
    {
        locDtos = new ArrayList<>();
    }
@@ -34,6 +38,12 @@
    public TaskDto(String locNo, Integer staNo, LocDto locDto) {
        this.locNo = locNo;
        this.staNo = staNo;
        this.locDtos.add(locDto);
    }
    public TaskDto(String locNo, String staNo, LocDto locDto) {
        this.locNo = locNo;
        this.agvStaNo = staNo;
        this.locDtos.add(locDto);
    }
@@ -71,13 +81,15 @@
        // 汇总不考虑序列码
        List<DetlDto> detlDtos = new ArrayList<>();
        for (LocDto locDto : this.getLocDtos()) {
            DetlDto dto = new DetlDto(locDto.getMatnr(), locDto.getBatch(),locDto.getBrand(),locDto.getStandby1(),locDto.getStandby2(),locDto.getStandby3(), locDto.getAnfme());
            DetlDto dto = new DetlDto(locDto.getMatnr(), locDto.getBatch(),locDto.getBrand(),locDto.getStandby1(),locDto.getStandby2(),locDto.getStandby3(),locDto.getBoxType1(),locDto.getBoxType2(),locDto.getBoxType3(), locDto.getAnfme(), locDto.getThreeCode());
            if (DetlDto.has(detlDtos, dto)) {
                DetlDto detlDto = DetlDto.find(detlDtos, locDto.getMatnr(), dto.getBatch(),dto.getBrand(),dto.getStandby1(),dto.getStandby2(),dto.getStandby3());
                DetlDto detlDto = DetlDto.find(detlDtos, locDto.getMatnr(), dto.getBatch(),dto.getBrand(),dto.getStandby1(),dto.getStandby2(),dto.getStandby3(),dto.getBoxType1(),dto.getBoxType2(),dto.getBoxType3());
                assert detlDto != null;
                detlDto.setAnfme(detlDto.getAnfme() + locDto.getAnfme());
            } else {
                detlDtos.add(new DetlDto(locDto.getMatnr(), locDto.getBatch(), locDto.getAnfme()));
                detlDtos.add(new DetlDto(locDto.getMatnr(), locDto.getBatch()
                        ,locDto.getBrand(),locDto.getStandby1(),locDto.getStandby2(),locDto.getStandby3(),locDto.getBoxType1(),locDto.getBoxType2(),locDto.getBoxType3()
                        , locDto.getAnfme(), locDto.getThreeCode()));
            }
        }
@@ -106,8 +118,8 @@
                        continue;
                    }
                }
                if (dto.getAnfme() > locDetl.getAnfme()) {
                    throw new CoolException("服务器内部错误");
                if (dto.getAnfme() > locDetl.getAnfme() && dto.getStandby1().equals(locDetl.getStandby1()) ) {
                    throw new CoolException("订单数量不能大于库存数量!!");
                }
                if (dto.getAnfme().equals(locDetl.getAnfme())) {
                    sameNumber++;