自动化立体仓库 - WMS系统
pang.jiabao
19 小时以前 c5b204d0e0d9c0acfe268f8a895c16599ec3ca78
src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -11,11 +11,13 @@
import com.zy.asrs.service.OrderDetlService;
import com.zy.asrs.utils.MatCompareUtils;
import com.zy.common.model.LocDto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
@Service("orderDetlService")
@Slf4j
public class OrderDetlServiceImpl extends ServiceImpl<OrderDetlMapper, OrderDetl> implements OrderDetlService {
    @Override
@@ -139,6 +141,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;
@@ -160,10 +167,28 @@
        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)) {
                log.info("更新订单完成数量:订单号:{},订单明细id:{},数量:{}", orderNo,orderDetl.getId(), qty);
                return this.baseMapper.increaseQtyById(orderDetl.getId(), qty) > 0;
            } else {
                log.error("更新订单完成数量,有不一致字段,订单号:{}", orderDetl.getOrderNo());
            }
        }
        return false;
    }
    /**
     * 入出库任务生成时,更新单据表中作业数量
@@ -227,4 +252,32 @@
            return null;
        }
    }
    @Override
    public boolean increaseWorkQtyByOrderNo(String orderNo, OrderDetl orderDetl, Double workQty) {
        List<OrderDetl> detlList = this.baseMapper.listByOrderNo(orderNo);
        if (detlList == null || detlList.isEmpty()) {
            return false;
        }
        for (OrderDetl orderDetl1 : detlList) {
            if (MatCompareUtils.compare(orderDetl1, orderDetl)) {
                return baseMapper.increaseWorkQty(orderDetl.getId(), workQty) > 0;
            }
        }
        return false;
    }
    @Override
    public boolean increaseQtyByOrderNo1(String orderNo, OrderDetl orderDetl, Double qty) {
        List<OrderDetl> detlList = this.baseMapper.listByOrderNo(orderNo);
        if (detlList == null || detlList.isEmpty()) {
            return false;
        }
        for (OrderDetl orderDetl1 : detlList) {
            if (MatCompareUtils.compare(orderDetl1, orderDetl)) {
                return baseMapper.increaseQtyById(orderDetl.getId(), qty) > 0;
            }
        }
        return false;
    }
}