#
Junjie
2024-01-05 3194da551027be67ec3285de7568e90bcfbf27ce
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/LocDetlServiceImpl.java
@@ -1,12 +1,70 @@
package com.zy.asrs.common.wms.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.common.domain.dto.QueryStockPreDo;
import com.zy.asrs.common.wms.mapper.LocDetlMapper;
import com.zy.asrs.common.wms.entity.LocDetl;
import com.zy.asrs.common.wms.service.LocDetlService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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 {
    @Override
    public IPage<LocDetl> getStockStatis(Integer curr, Integer limit, Map<String, Object> param) {
        Page<LocDetl> page = new Page<>(curr, limit);
        return this.baseMapper.getStockStatis(page, param);
    }
    /**
     * 获取库存总数
     * @return
     */
    @Override
    public Integer sum() {
        return this.baseMapper.sum();
    }
    @Override
    public List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos) {
        List<LocDetl> result = new ArrayList<>();
        List<QueryStockPreDo> preDos = this.baseMapper.queryStockPre(matnr);
        for (QueryStockPreDo preDo : preDos) {
            List<LocDetl> locDetls = this.baseMapper.queryStock(matnr, preDo.getNo(), preDo.getOrderBy(), preDo.getBay());
            result.addAll(locDetls);
        }
        return result;
    }
    @Override
    public LocDetl selectItem(String locNo, String matnr, String batch, Long hostId) {
        return this.baseMapper.selectItem(locNo, matnr, batch, hostId);
    }
    @Override
    public boolean updateAnfme(Double anfme, String locNo, String matnr, String batch, Long hostId) {
        if (anfme <= 0) {
            return this.baseMapper.deleteItem(locNo, matnr, batch, hostId) > 0;
        } else {
            return baseMapper.updateAnfme(anfme, locNo, matnr, batch, hostId) > 0;
        }
    }
    @Override
    public boolean updateLocNo(String newLocNo, String oldLocNo, Long hostId) {
        return baseMapper.updateLocNo(newLocNo, oldLocNo, hostId) > 0;
    }
    @Override
    public IPage<LocDetl> getStockOut(Integer curr, Integer limit, Map<String, Object> param) {
        Page<LocDetl> page = new Page<>(curr, limit);
        return this.baseMapper.getStockOutPage(page, param);
    }
}