自动化立体仓库 - WMS系统
ZY
2024-09-18 ff6d68f7c7e9fb4fd7b884eb282aa5f9e1a5d0ba
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -1,18 +1,21 @@
package com.zy.asrs.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.entity.StockStatisDTO;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.param.StockOutParam;
import com.zy.asrs.entity.result.StockVo;
import com.zy.asrs.mapper.LocDetlMapper;
import com.zy.asrs.service.LocDetlService;
import com.zy.asrs.utils.MatCompareUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
@Service("locDetlService")
public class LocDetlServiceImpl extends ServiceImpl<LocDetlMapper, LocDetl> implements LocDetlService {
@@ -32,14 +35,40 @@
    }
    @Override
    public boolean updateAnfme(Double anfme, String locNo, String matnr, String batch) {
        if (anfme <= 0) {
            return this.baseMapper.deleteItem(locNo, matnr, batch) > 0;
        } else {
            return baseMapper.updateAnfme(anfme, locNo, matnr, batch) > 0;
    public boolean updateAnfme(Double anfme, String locNo, WrkDetl wrkDetl) {
        List<LocDetl> locDetls = this.baseMapper.selectItem3(locNo, wrkDetl.getMatnr());
        if (locDetls.isEmpty()) {
            return false;
        }
        for (LocDetl locDetl : locDetls) {
            if (MatCompareUtils.compare(locDetl, wrkDetl)) {
                if (anfme <= 0) {
                    return this.baseMapper.deleteItem(locDetl.getLocNo(), locDetl) > 0;
                } else {
                    return baseMapper.updateAnfme(anfme, locNo, locDetl) > 0;
                }
            }
        }
        return false;
    }
    @Override
    public boolean updateAnfme(Double anfme, String locNo, LocDetl wrkDetl) {
        List<LocDetl> locDetls = this.baseMapper.selectItem3(locNo, wrkDetl.getMatnr());
        if (locDetls.isEmpty()) {
            return false;
        }
        for (LocDetl locDetl : locDetls) {
            if (MatCompareUtils.compare(locDetl, wrkDetl)) {
                if (anfme <= 0) {
                    return this.baseMapper.deleteItem(locDetl.getLocNo(), locDetl) > 0;
                } else {
                    return baseMapper.updateAnfme(anfme, locNo, locDetl) > 0;
                }
            }
        }
        return false;
    }
    @Override
    public boolean updateLocNo(String newLocNo, String oldLocNo) {
@@ -84,26 +113,36 @@
        return this.baseMapper.countLocNoNum(locNo);
    }
    @Override
    public List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos) {
        return this.baseMapper.queryStock(null, matnr, batch, orderNo, locNos);
    }
//    @Override
//    public List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos) {
//        return this.baseMapper.queryStock(null, matnr, batch, orderNo, locNos);
//    }
    @Override
    public List<LocDetl> queryStock(String spgNo) {
        return this.baseMapper.queryStock(spgNo, null, null, null, null);
    public List<LocDetl> queryStock(OrderDetl orderDetl) {
        List<LocDetl> data = new ArrayList<>();
        List<LocDetl> locDetls = this.baseMapper.queryStock(null, orderDetl.getMatnr(), null, null, null);
        if (locDetls == null) {
            return null;
        }
        for (LocDetl locDetl : locDetls) {
            if (MatCompareUtils.compare(locDetl, orderDetl)) {
                data.add(locDetl);
            }
        }
        return data;
    }
    @Override
    public List<LocDetl> queryStockByModel(String model) {
        return this.baseMapper.queryStock(null, model, null, null, null);
    }
//    @Override
//    public List<LocDetl> queryStockByModel(String model) {
//        return this.baseMapper.queryStock(null, model, null, null, null);
//    }
    @Override
    public Double queryStockAnfme(String matnr, String batch) {
        return this.baseMapper.queryStockAnfme(matnr, batch);
    }
//    @Override
//    public Double queryStockAnfme(String matnr, String batch) {
//        return this.baseMapper.queryStockAnfme(matnr, batch);
//    }
    @Override
    public List<StockVo> queryStockTotal() {
@@ -127,10 +166,15 @@
    }
    @Override
    public LocDetl selectItem(String locNo, String matnr, String batch) {
        return this.baseMapper.selectItem(locNo, matnr, batch);
    }
//    @Override
//    public LocDetl selectItem(String locNo, String matnr, String batch) {
//        return this.baseMapper.selectItem(locNo, matnr, batch);
//    }
//
//    @Override
//    public LocDetl selectItem2(String locNo, String matnr) {
//        return this.baseMapper.selectItem2(locNo, matnr);
//    }
    @Override
    public Double getLocDetlSumQty(String locNo) {
@@ -157,4 +201,32 @@
        }
        return this.baseMapper.selectLocDetlUnilateralMoveShuttleN(matnr, batch, grade);
    }
    @Override
    public LocDetl selectItem(String locNo, WrkDetl wrkDetl) {
        List<LocDetl> locDetls = this.baseMapper.selectItem3(locNo, wrkDetl.getMatnr());
        if (locDetls != null) {
            for (LocDetl locDetl : locDetls) {
                if (MatCompareUtils.compare(locDetl, wrkDetl)) {
                    return locDetl;
                }
            }
        }
        return null;
    }
    @Override
    public LocDetl selectItem(String locNo, StockOutParam.LocDetl locDetl) {
        List<LocDetl> locDetls = this.baseMapper.selectItem3(locNo, locDetl.getMatnr());
        if (locDetls != null) {
            for (LocDetl detl : locDetls) {
                if (MatCompareUtils.compare(locDetl, detl)) {
                    return detl;
                }
            }
        }
        return null;
    }
}