自动化立体仓库 - WMS系统
#
wang..123
2022-02-18 0574251b05ea099b84d7ddd4bdc65a78ff03aea7
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -1,19 +1,88 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.MatCode;
import com.zy.asrs.mapper.LocDetlMapper;
import com.zy.asrs.service.LocDetlService;
import com.zy.asrs.service.MatCodeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service("locDetlService")
public class LocDetlServiceImpl extends ServiceImpl<LocDetlMapper, LocDetl> implements LocDetlService {
    @Autowired
    private LocDetlMapper locDetlMapper;
    @Autowired
    private MatCodeService matCodeService;
    @Override
    public Page<LocDetl> getStockOut(Page<LocDetl> page) {
        page.setRecords(baseMapper.getStockOutPage(page.getCurrent(), page.getSize(), page.getCondition().get("loc_no")));
        page.setTotal(baseMapper.getStockOutPageCount(page.getCondition().get("loc_no")));
        page.setRecords(baseMapper.getStockOutPage(page.getCondition()));
        page.setTotal(baseMapper.getStockOutPageCount(page.getCondition()));
        return page;
    }
    @Override
    public boolean updateAnfme(Double qty, String locNo, String matNo,String supplier) {
        if (qty <= 0) {
            return delete(new EntityWrapper<LocDetl>().eq("loc_no", locNo).eq("mat_no", matNo).eq("supplier",supplier));
        } else {
            MatCode matCode = matCodeService.selectById(matNo);
            Double weight = qty*matCode.getWeight()+30;
            Double allQty = qty*matCode.getStr6();
            int res = baseMapper.updateAnfme(qty, locNo, matNo,weight,allQty);
            return res > 0;
        }
    }
    @Override
    public boolean updateLocNo(String newLocNo, String oldLocNo) {
        return baseMapper.updateLocNo(newLocNo, oldLocNo) > 0;
    }
    @Override
    public List<String> getSameDetlToday(String matNo, Integer start, Integer end) {
        return this.baseMapper.selectSameDetlToday(matNo, start, end);
    }
    @Override
    public List<LocDetl> getlocDetlList(String matNo) {
        return locDetlMapper.selectLocDetlList(matNo);
    }
    @Override
    public Double getLocDetlSumQty(String locNo) {
        return locDetlMapper.selectLocDetlSumQty(locNo);
    }
    @Override
    public Page<LocDetl> getStockStatis(Page<LocDetl> page) {
        page.setRecords(baseMapper.getStockStatis(page.getCondition()));
        page.setTotal(baseMapper.getStockStatisCount(page.getCondition()));
        return page;
    }
    @Override
    public List<LocDetl> getStockStatisExcel() {
       return this.baseMapper.getStockStatisExcel();
    }
    /**
     * 库存上报ERP时,根据物料汇总查询库存总量
     * @return
     */
    @Override
    public List<LocDetl> getStockSum() {
        return locDetlMapper.getStockSum();
    }
}