自动化立体仓库 - WMS系统
1
ZY
2024-10-11 79212464615ddb8acba8cbbef72ac5b69887e046
src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -10,6 +10,7 @@
import com.zy.asrs.mapper.OrderDetlMapper;
import com.zy.asrs.service.OrderDetlService;
import com.zy.asrs.utils.MatCompareUtils;
import com.zy.common.model.LocDto;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -138,6 +139,11 @@
        List<OrderDetl> detlList = selectItem(waitPakin.getOrderNo());
        for (OrderDetl orderDetl : detlList) {
            if (MatCompareUtils.compare(orderDetl, waitPakin)) {
                Double workQty = orderDetl.getWorkQty();
                //防止减成负数
                if (workQty - qty <= 0) {
                    qty = workQty;
                }
                int decrease = this.baseMapper.decrease2(orderDetl.getId(), qty);
                if (decrease == 0) {
                    return false;
@@ -159,10 +165,25 @@
        return this.baseMapper.addToLogTable(orderDetl) > 0;
    }
//    @Override
//    public boolean increaseQtyByOrderNo(String orderNo, String matnr, String batch, Double qty) {
//        return this.baseMapper.increaseQtyByOrderNo(orderNo, matnr, batch, qty) > 0;
//    }
    @Override
    public boolean increaseQtyByOrderNo(String orderNo, String matnr, String batch, Double qty) {
        return this.baseMapper.increaseQtyByOrderNo(orderNo, matnr, batch, qty) > 0;
    public boolean increaseQtyByOrderNo(String orderNo, WrkDetl wrkDetl, Double qty) {
        List<OrderDetl> detlList = this.baseMapper.listByOrderNo(orderNo);
        if (detlList == null || detlList.isEmpty()) {
            return false;
        }
        for (OrderDetl orderDetl : detlList) {
            if (MatCompareUtils.compare(orderDetl, wrkDetl)) {
                return this.baseMapper.increaseQtyById(orderDetl.getId(), qty) > 0;
            }
        }
        return false;
    }
    /**
     * 入出库任务生成时,更新单据表中作业数量
@@ -178,7 +199,7 @@
    @Override
    public OrderDetl selectItem(WaitPakin waitPakin) {
        List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(waitPakin.getOrderNo(), waitPakin.getOrderNo(), waitPakin.getBatch());
        List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(waitPakin.getOrderNo(), waitPakin.getMatnr(), waitPakin.getBatch());
        if (detlList == null || detlList.isEmpty()) {
            return null;
        } else if (detlList.size() == 1) {
@@ -192,4 +213,38 @@
            return null;
        }
    }
    @Override
    public OrderDetl selectItem(LocDto locDto) {
        List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
        if (detlList == null || detlList.isEmpty()) {
            return null;
        } else if (detlList.size() == 1) {
            return detlList.get(0);
        } else {
            for (OrderDetl orderDetl : detlList) {
                if (MatCompareUtils.compare(locDto, orderDetl)) {
                    return orderDetl;
                }
            }
            return null;
        }
    }
    @Override
    public OrderDetl selectItem(WrkDetl wrkDetl) {
        List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
        if (detlList == null || detlList.isEmpty()) {
            return null;
        } else if (detlList.size() == 1) {
            return detlList.get(0);
        } else {
            for (OrderDetl orderDetl : detlList) {
                if (MatCompareUtils.compare(wrkDetl, orderDetl)) {
                    return orderDetl;
                }
            }
            return null;
        }
    }
}