自动化立体仓库 - WMS系统
档查询出来有多条数据时,加上数量条件,进行匹配,如果数量也匹配不上,就默认返回第一个
8个文件已修改
87 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OrderController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderDetlService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/web/WcsController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OrderController.java
@@ -154,7 +154,7 @@
        for (OrderDetl orderDetl : param.getOrderDetlList()) {
            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
            if (DetlDto.has(list, dto)) {
                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getAnfme());
                item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
                if (!orderDetlService.updateById(item)) {
                    throw new CoolException("保存订单明细档失败");
@@ -207,7 +207,7 @@
        for (OrderDetl orderDetl : param.getOrderDetlList()) {
            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
            if (DetlDto.has(list, dto)) {
                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getAnfme());
                item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
                if (!orderDetlService.updateById(item)) {
                    throw new CoolException("保存订单明细档失败");
src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -13,9 +13,9 @@
@Repository
public interface OrderDetlMapper extends BaseMapper<OrderDetl> {
    OrderDetl selectItem(@Param("orderId") Long orderId, @Param("matnr") String matnr, @Param("batch") String batch);
    List<OrderDetl> selectItem(@Param("orderId") Long orderId, @Param("matnr") String matnr, @Param("batch") String batch);
    OrderDetl selectItemByOrderNo(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch);
    List<OrderDetl> selectItemByOrderNo(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch);
    List<OrderDetl> selectWorkingDetls(Long orderId);
src/main/java/com/zy/asrs/service/OrderDetlService.java
@@ -12,9 +12,9 @@
    Page<OrderDetl> getPakoutPage(Page<OrderDetl> page);
    OrderDetl selectItem(Long orderId, String matnr, String batch);
    OrderDetl selectItem(Long orderId, String matnr, String batch,Double qty);
    OrderDetl selectItem(String orderNo, String matnr, String batch);
    OrderDetl selectItem(String orderNo, String matnr, String batch,Double qty);
    OrderDetl findByLook(List<OrderDetl> orderDetls, Long orderId, String matnr, String batch);
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -159,7 +159,7 @@
            param.getCombMats().forEach(elem -> {
                // 订单明细数量校验
                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch());
                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch(),elem.getAnfme() );
                if (elem.getAnfme() > orderDetl.getEnableQty()) {
                    throw new CoolException(orderDetl.getMatnr() + "入库数量不合法");
                }
@@ -194,9 +194,9 @@
                waitPakin.setAppeTime(now);
                waitPakin.setModiUser(userId);
                waitPakin.setModiTime(now);
                OrderDetl orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), waitPakin.getBatch());
                OrderDetl orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), waitPakin.getBatch(),detlDto.getAnfme());
                if (orderDetl == null) {
                    orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), null);
                    orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), null,detlDto.getAnfme());
                }
                if (orderDetl!=null){
                    waitPakin.setSPgNO(orderDetl.getSPgNO());
@@ -464,7 +464,7 @@
                // 修改作业数量 ----------------------------------------
                // 订单明细数量校验
                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), detlDto.getMatnr(), detlDto.getBatch());
                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), detlDto.getMatnr(), detlDto.getBatch(),detlDto.getAnfme());
                if (detlDto.getAnfme() > orderDetl.getEnableQty()) {
                    throw new CoolException(orderDetl.getMatnr() + "入库数量不合法");
                }
src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -2,11 +2,11 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.common.Cools;
import com.zy.asrs.mapper.OrderDetlMapper;
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.service.OrderDetlService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.mapper.OrderDetlMapper;
import com.zy.asrs.service.OrderDetlService;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -32,13 +32,43 @@
    }
    @Override
    public OrderDetl selectItem(Long orderId, String matnr, String batch) {
        return this.baseMapper.selectItem(orderId, matnr, batch);
    public OrderDetl selectItem(Long orderId, String matnr, String batch, Double qty) {
        List<OrderDetl> detlList = this.baseMapper.selectItem(orderId, matnr, batch);
        if (detlList == null || detlList.isEmpty()) {
            return null;
        } else if (detlList.size() == 1) {
            return detlList.get(0);
        } else {
            if (qty != null) {
                for (OrderDetl orderDetl : detlList) {
                    if (qty.equals(orderDetl.getAnfme())) {
                        return orderDetl;
                    }
                }
            }
            return detlList.get(0);
        }
    }
    @Override
    public OrderDetl selectItem(String orderNo, String matnr, String batch) {
        return this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch);
    public OrderDetl selectItem(String orderNo, String matnr, String batch, Double qty) {
        List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch);
        if (detlList == null || detlList.isEmpty()) {
            return null;
        } else if (detlList.size() == 1) {
            return detlList.get(0);
        } else {
            if (qty != null) {
                for (OrderDetl orderDetl : detlList) {
                    if (qty.equals(orderDetl.getAnfme())) {
                        return orderDetl;
                    }
                }
            }
            return detlList.get(0);
        }
    }
    @Override
@@ -85,6 +115,7 @@
    /**
     * 入出库任务生成时,更新单据表中作业数量
     *
     * @param orderId
     * @param matnr
     * @param batch
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -327,9 +327,9 @@
        for (LocDto locDto : taskDto.getLocDtos()) {
            if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; }
            log.info(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
            OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
            OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(),locDto.getAnfme());
            if (orderDetl == null) {
                orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
                orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null,locDto.getAnfme());
            }
            WrkDetl wrkDetl = new WrkDetl();
            wrkDetl.sync(orderDetl);
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -115,9 +115,9 @@
                        }
                        // 更新订单完成数量
                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getAnfme());
                        if (orderDetl==null){
                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null,wrkDetl.getAnfme());
                        }
                        try {
                            if(!Cools.isEmpty(orderDetl)){
@@ -166,9 +166,9 @@
                        }
                        // 更新订单完成数量
                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getAnfme());
                        if (orderDetl==null){
                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null,wrkDetl.getAnfme());
                        }
                        try {
                            if(!Cools.isEmpty(orderDetl)){
@@ -349,9 +349,9 @@
                    }
                    for (WrkDetl wrkDetl : wrkDetls101) {
                        // 更新订单完成数量
                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getAnfme());
                        if (orderDetl==null){
                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null,wrkDetl.getAnfme());
                        }
                        try {
                            if(!Cools.isEmpty(orderDetl)){
src/main/java/com/zy/common/web/WcsController.java
@@ -363,9 +363,9 @@
            if (!Cools.isEmpty(waitPakin.getOrderNo())) {
                Order order = orderService.selectByNo(waitPakin.getOrderNo());
                if (order != null) {
                    OrderDetl orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), waitPakin.getBatch());
                    OrderDetl orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), waitPakin.getBatch(),waitPakin.getAnfme());
                    if (orderDetl == null) {
                        orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), null);
                        orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), null,waitPakin.getAnfme());
                    }
                    wrkDetl.setSPgNO(orderDetl.getSPgNO());
                    wrkDetl.setOutOrderNo(orderDetl.getOutOrderNo());