自动化立体仓库 - WMS系统
#
luxiaotao1123
2022-12-15 4c8ece9325b6976e4d07e0985edc12522d8ec48a
#
6个文件已修改
111 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderDetlService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/erp/task/ErpScheduler.java 88 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/OrderDetlMapper.xml 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -17,7 +17,9 @@
    OrderDetl selectItemByOrderNo(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch);
    OrderDetl selectItemNoneOfBatch(String orderNo, String matnr);
    OrderDetl selectItemNoneOfBatch(@Param("orderNo")String orderNo, @Param("matnr")String matnr);
    OrderDetl selectItemOfBatch(@Param("matnr")String matnr, @Param("batch")String batch);
    List<OrderDetl> selectWorkingDetls(Long orderId);
src/main/java/com/zy/asrs/service/OrderDetlService.java
@@ -18,6 +18,8 @@
    OrderDetl selectItemNoneOfBatch(String orderNo, String matnr);
    OrderDetl selectItemOfBatch(String matnr, String batch);
    OrderDetl findByLook(List<OrderDetl> orderDetls, Long orderId, String matnr, String batch);
    boolean increaseAnfme(Long orderId, String matnr, String batch, Double qty);
src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -44,6 +44,11 @@
    }
    @Override
    public OrderDetl selectItemOfBatch(String matnr, String batch) {
        return this.baseMapper.selectItemOfBatch(matnr, batch);
    }
    @Override
    public OrderDetl findByLook(List<OrderDetl> orderDetls, Long orderId, String matnr, String batch) {
        for (OrderDetl orderDetl : orderDetls) {
            if (orderDetl.getOrderId().equals(orderId) && orderDetl.getMatnr().equals(matnr)) {
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -83,7 +83,8 @@
                                log.error("{}条码不在erp数据库中!", wrkDetl.getBatch());
                            }
                            // OrderDetl 表
                            OrderDetl orderDetl = orderDetlService.selectContainBatch(wrkDetl.getBatch());
                            OrderDetl orderDetl = orderDetlService.selectItemOfBatch(wrkDetl.getMatnr(), wrkDetl.getBatch());
//                            OrderDetl orderDetl = orderDetlService.selectContainBatch(wrkDetl.getBatch());
                            if (!Cools.isEmpty(orderDetl)) {
                                Order order = orderService.selectById(orderDetl.getOrderId());
                                DocType docType = docTypeService.selectById(order.getDocType());
src/main/java/com/zy/common/service/erp/task/ErpScheduler.java
@@ -144,59 +144,55 @@
                    throw new CoolException(order.getOrderNo() + "生成单据主档失败,请联系管理员");
                }
                Mat mat = matService.selectByMatnr(voucher.getMaterialNO());
                if (mat == null) {
                    throw new CoolException(voucher.getMaterialNO() + "物料号不存在");
                }
                OrderDetl orderDetl = new OrderDetl();
                orderDetl.sync(mat);
                StringBuilder sb = new StringBuilder();
                if (!Cools.isEmpty(dto.getDetails())) {
                // 繳庫單
                if (docType.getPakin() == 1) {
                    for (VoucherDetail detail : dto.getDetails()) {
                        sb.append(detail.getBarcode()).append(",");
                    }
                    orderDetl.setBatch(sb.toString());
                }
                orderDetl.setAnfme(voucher.getExpectedWeight());
                orderDetl.setOrderId(order.getId());
                orderDetl.setOrderNo(order.getOrderNo());
                orderDetl.setCreateBy(9527L);
                orderDetl.setCreateTime(now);
                orderDetl.setUpdateBy(9527L);
                orderDetl.setUpdateTime(now);
                orderDetl.setStatus(1);
                orderDetl.setQty(0.0D);
                if (!orderDetlService.insert(orderDetl)) {
                    throw new CoolException(order.getOrderNo() + "生成单据明细失败,请联系管理员");
                }
                        OrderDetl orderDetl = new OrderDetl();
                        orderDetl.sync(mat);
//                else {
//                    for (VoucherDetail detail : dto.getDetails()) {
//
//                        Mat mat = matService.selectByMatnr(voucher.getMaterialNO());
//                        if (mat == null) {
//                            throw new CoolException(voucher.getMaterialNO() + "物料号不存在");
//                        }
//
//                        OrderDetl orderDetl = new OrderDetl();
//                        orderDetl.sync(mat);
////                    orderDetl.setBatch(detlDto.getBatch());
//                        orderDetl.setAnfme(1.0D);
//                        orderDetl.setOrderId(order.getId());
//                        orderDetl.setOrderNo(order.getOrderNo());
//                        orderDetl.setCreateBy(9527L);
//                        orderDetl.setCreateTime(now);
//                        orderDetl.setUpdateBy(9527L);
//                        orderDetl.setUpdateTime(now);
//                        orderDetl.setStatus(1);
//                        orderDetl.setQty(0.0D);
//                        if (!orderDetlService.insert(orderDetl)) {
//                            throw new CoolException(order.getOrderNo() + "生成单据明细失败,请联系管理员");
//                        }
//                    }
//                }
                        orderDetl.setBatch(detail.getBarcode());
                        orderDetl.setAnfme(mat.getWeight());
                        orderDetl.setOrderId(order.getId());
                        orderDetl.setOrderNo(order.getOrderNo());
                        orderDetl.setCreateBy(9527L);
                        orderDetl.setCreateTime(now);
                        orderDetl.setUpdateBy(9527L);
                        orderDetl.setUpdateTime(now);
                        orderDetl.setStatus(1);
                        orderDetl.setQty(0.0D);
                        if (!orderDetlService.insert(orderDetl)) {
                            throw new CoolException(order.getOrderNo() + "生成单据明细失败,请联系管理员");
                        }
                    }
                } else {
                    OrderDetl orderDetl = new OrderDetl();
                    orderDetl.sync(mat);
                    StringBuilder sb = new StringBuilder();
                    if (!Cools.isEmpty(dto.getDetails())) {
                        for (VoucherDetail detail : dto.getDetails()) {
                            sb.append(detail.getBarcode()).append(",");
                        }
                        orderDetl.setBatch(sb.toString());
                    }
                    orderDetl.setAnfme(voucher.getExpectedWeight());
                    orderDetl.setOrderId(order.getId());
                    orderDetl.setOrderNo(order.getOrderNo());
                    orderDetl.setCreateBy(9527L);
                    orderDetl.setCreateTime(now);
                    orderDetl.setUpdateBy(9527L);
                    orderDetl.setUpdateTime(now);
                    orderDetl.setStatus(1);
                    orderDetl.setQty(0.0D);
                    if (!orderDetlService.insert(orderDetl)) {
                        throw new CoolException(order.getOrderNo() + "生成单据明细失败,请联系管理员");
                    }
                }
                // erp 同步
                int state = 1;
src/main/resources/mapper/OrderDetlMapper.xml
@@ -75,12 +75,19 @@
    </select>
    <select id="selectItemNoneOfBatch" resultMap="BaseResultMap">
        select * from man_order_detl
        select top 1 * from man_order_detl
        where 1=1
        and order_no = #{orderNo}
        and matnr = #{matnr}
    </select>
    <select id="selectItemOfBatch" resultMap="BaseResultMap">
        select top 1 * from man_order_detl
        where 1=1
        and matnr = #{matnr}
        and batch = #{batch}
    </select>
    <select id="selectWorkingDetls" resultMap="BaseResultMap">
        select * from man_order_detl
        where 1=1