自动化立体仓库 - WMS系统
skyouc
3 天以前 d7c04ab09f582f7e3b1464314658f91e8d738456
多订单组托
3个文件已修改
53 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/CodeBuilder.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/model/DetlDto.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -700,13 +700,13 @@
                OrderInAndOutUtil.increaseWorkQty(Boolean.TRUE, order.getId(), elem.getMatnr(), elem.getBatch(),
                        elem.getBrand(), elem.getStandby1(), elem.getStandby2(), elem.getStandby3(),
                        elem.getBoxType1(), elem.getBoxType2(), elem.getBoxType3(), elem.getAnfme());
                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getBrand(), elem.getStandby1(),
                DetlDto detlDto = new DetlDto(order.getOrderNo(), elem.getMatnr(), elem.getBatch(), elem.getBrand(), elem.getStandby1(),
                        elem.getStandby2(), elem.getStandby3(),
                        elem.getBoxType1(), elem.getBoxType2(), elem.getBoxType3(), elem.getAnfme(),
                        elem.getThreeCode());
                detlDto.setOrderId(order.getId());
                detlDto.setOrderNo(order.getOrderNo());
                if (DetlDto.has(detlDtos, detlDto)) {
                if (DetlDto.hasOrder(detlDtos, detlDto)) {
                    DetlDto one = DetlDto.findDto(detlDtos, detlDto);
                    assert one != null;
                    one.setAnfme(one.getAnfme() + detlDto.getAnfme());
@@ -2195,8 +2195,14 @@
                    .eq("loc_sts", LocStsType.LOC_STS_TYPE_D.type)
                    .orderAsc(Arrays.asList("row1", "bay1", "lev1"))
                    .last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY"));
            if (Objects.isNull(locMast)) {
                throw new CoolException("未查询到可用的空板信息!!");
            }
            CrnTaskDetlDTO crnTaskDetlDTO = new CrnTaskDetlDTO().setLocNo(locMast.getLocNo()).setLocDetlList(locDetls);
            locMasts.add(crnTaskDetlDTO);
            // 空板出库
            generateTask(locMasts, TaskIOType.MERGE_OUT.type, basDevp, userId, station);
        }
src/main/java/com/zy/common/CodeBuilder.java
@@ -20,7 +20,7 @@
        generator.url="192.168.4.15:1433;databasename=jsxsasrs";
        generator.username="sa";
        generator.password="sa@123";
        generator.table="agv_bas_station_detl";
        generator.table="man_order_pakin_rela";
        generator.packagePath="com.zy.asrs";
        generator.html = false;
        generator.js = false;
src/main/java/com/zy/common/model/DetlDto.java
@@ -99,19 +99,20 @@
    }
//    public DetlDto(String orderNo, String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3, Double anfme) {
//        this.orderNo = orderNo;
//        this.matnr = matnr;
//        this.batch = batch;
//        this.brand = brand;
//        this.standby1 = standby1;
//        this.standby2 = standby2;
//        this.standby3 = standby3;
//        this.boxType1 = boxType1;
//        this.boxType2 = boxType2;
//        this.boxType3 = boxType3;
//        this.anfme = anfme;
//    }
    public DetlDto(String orderNo, String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3, Double anfme, String threeCode) {
        this.orderNo = orderNo;
        this.matnr = matnr;
        this.batch = batch;
        this.brand = brand;
        this.standby1 = standby1;
        this.standby2 = standby2;
        this.standby3 = standby3;
        this.boxType1 = boxType1;
        this.boxType2 = boxType2;
        this.boxType3 = boxType3;
        this.anfme = anfme;
        this.threeCode = threeCode;
    }
    public DetlDto(String orderNo, String matnr, String batch, String brand, String standby1, String standby2, String standby3, Long lineNumber, String boxType1, String boxType2, String boxType3, Double anfme, String threeCode) {
        this.orderNo = orderNo;
@@ -220,6 +221,20 @@
        return false;
    }
    public static boolean hasOrder(List<DetlDto> detlDtos, DetlDto detlDto) {
        for (DetlDto dto : detlDtos) {
            if (dto.getOrderNo().equals(detlDto.getOrderNo()) && dto.getMatnr().equals(detlDto.getMatnr()) && Cools.eq(dto.getBatch(), detlDto.getBatch())
                    && Cools.eq(dto.getBrand(), detlDto.getBrand()) && Cools.eq(dto.getStandby1(), detlDto.getStandby1())
                    && Cools.eq(dto.getStandby2(), detlDto.getStandby2()) && Cools.eq(dto.getStandby3(), detlDto.getStandby3())
                    && Cools.eq(dto.getBoxType1(), detlDto.getBoxType1()) && Cools.eq(dto.getBoxType2(), detlDto.getBoxType2())
                    && Cools.eq(dto.getBoxType3(), detlDto.getBoxType3()) ) {
                return true;
            }
        }
        return false;
    }
    public static boolean hasLineNumber(List<DetlDto> detlDtos, DetlDto detlDto) {
        for (DetlDto dto : detlDtos) {
            if (dto.getMatnr().equals(detlDto.getMatnr()) && Cools.eq(dto.getBatch(), detlDto.getBatch())