自动化立体仓库 - WMS系统
zyx
2023-09-19 3c1e34e86e18224acf34883039f7c31cab5a3d4d
src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
import com.zy.asrs.entity.AgvLocDetl;
@@ -43,14 +44,25 @@
    }
    public double queryStockAndSetLocDto(String matnr, String batch, String orderNo, List<LocDto> locDtoList, double issued) {
    public double queryStockAndSetLocDto(String matnr, String batch, String orderNo, List<LocDto> locDtoList, double issued, String csocode, String isoseq) {
        //根据物料号和批次找到对应的库存,并且按照修改时间排序
        Wrapper<AgvLocDetl> wrapper = new EntityWrapper<AgvLocDetl>().eq("matnr", matnr).orderBy("modi_time");
        if(Cools.isEmpty(batch)){
            wrapper.isNull("batch");
        }else {
            wrapper.eq("batch",batch);
        }
        wapperSetCondition(wrapper,"batch",batch);
        wapperSetCondition(wrapper,"three_code",csocode);
        wapperSetCondition(wrapper,"dead_time",isoseq);
//        if(Cools.isEmpty(batch)){
//            wrapper.isNull("batch");
//        }else {
//            wrapper.eq("batch",batch);
//        }
//        if(!Cools.isEmpty(csocode)){
//            wrapper.eq("three_code",csocode);
//        }
//        if(Cools.isEmpty(isoseq)){
//            wrapper.eq("dead_time",isoseq);
//        }
        List<AgvLocDetl> agvLocDetls = this.selectList(wrapper);
        for (AgvLocDetl agvLocDetl: agvLocDetls) {
@@ -80,6 +92,53 @@
    }
    /*
    更新库存明细
     */
    public void updateStock(String sourceLoc, String targetLoc) {
        this.baseMapper.updateStock(sourceLoc,targetLoc);
    }
    public Page<AgvLocDetl> getStockStatis(Page<AgvLocDetl> page) {
        page.setRecords(baseMapper.getStockStatis(page.getCondition()));
        page.setTotal(baseMapper.getStockStatisCount(page.getCondition()));
        return page;
    }
    /*
    获取库存总数
     */
    public Integer sum() {
        return this.baseMapper.sum();
    }
    public List<AgvLocDetl> getStockStatisExcel(){
        return this.baseMapper.getStockStatisExcel();
    }
    public List<AgvLocDetl> searchByLike(String orderNo, String matnr, String maktx, String specs, String locNo) {
        if (Cools.isEmpty(orderNo) && Cools.isEmpty(matnr) && Cools.isEmpty(maktx) && Cools.isEmpty(specs) && Cools.isEmpty(locNo)) {
            return new ArrayList<AgvLocDetl>();
        }
        EntityWrapper<AgvLocDetl> wrapper = new EntityWrapper<>();
        if(Cools.isEmpty(orderNo)){
            wrapper.like("order_no",orderNo);
        }
        if(Cools.isEmpty(matnr)){
            wrapper.like("matnr",matnr);
        }
        if(Cools.isEmpty(maktx)){
            wrapper.like("maktx",maktx);
        }
        if(Cools.isEmpty(specs)){
            wrapper.like("specs",specs);
        }
        if(Cools.isEmpty()){
            wrapper.like("loc_no",locNo);
        }
        return this.selectList(wrapper);
    }
    private List<String> queryAgvStaNosByFloor(int floor){
        List<String> agvStaNos = new ArrayList<>();
        if(floor == 1){
@@ -93,4 +152,12 @@
        return agvStaNos;
    }
    private void wapperSetCondition(Wrapper wrapper,String column, String condition){
        if(Cools.isEmpty(condition)){
            wrapper.isNull(column);
        }else {
            wrapper.eq(column,condition);
        }
    }
}