自动化立体仓库 - WMS系统
#
lsh
2025-04-15 7d4d4849daf849f2676899a96ceabd8ade703a32
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -2,16 +2,41 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
import com.core.common.R;
import com.zy.asrs.entity.FrozenParam;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.result.LocDetlAll;
import com.zy.asrs.entity.result.LocDetlDTO;
import com.zy.asrs.entity.result.StockVo;
import com.zy.asrs.mapper.LocDetlMapper;
import com.zy.asrs.service.LocDetlService;
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 Page<LocDetl> getPage(Page<LocDetl> page) {
        page.setRecords(baseMapper.listByPage(page.getCondition()));
        page.setTotal(baseMapper.listByPageCount(page.getCondition()));
        return page;
    }
    @Override
    public int selectAllCount(LocDetlDTO locDetlDTO) {
        return this.baseMapper.selectAllCount(locDetlDTO);
    }
    @Override
    public List<LocDetlAll> selectAllOwner(LocDetlDTO locDetlDTO) {
        return this.baseMapper.selectAllOwner(locDetlDTO);
    }
    @Override
    public Page<LocDetl> getStockOut(Page<LocDetl> page) {
@@ -21,13 +46,22 @@
    }
    @Override
    public boolean updateAnfme(Double anfme, String locNo, String matnr, String batch) {
    public Page<LocDetl> getStockStatis2(Page<LocDetl> page) {
        page.setRecords(baseMapper.getStockStatis2(page.getCondition()));
        page.setTotal(baseMapper.getStockStatisCount(page.getCondition()));
        return page;
    }
    @Override
    public boolean updateAnfme(Double anfme, String locNo, String matnr, String batch,
                               String brand,String standby1,String standby2,String standby3,String boxType1,String boxType2,String boxType3) {
        if (anfme <= 0) {
            return this.baseMapper.deleteItem(locNo, matnr, batch) > 0;
            return this.baseMapper.deleteItem(locNo, matnr, batch, brand, standby1, standby2, standby3, boxType1, boxType2, boxType3) > 0;
        } else {
            return baseMapper.updateAnfme(anfme, locNo, matnr, batch) > 0;
            return baseMapper.updateAnfme(anfme, locNo, matnr, batch, brand, standby1, standby2, standby3, boxType1, boxType2, boxType3) > 0;
        }
    }
    @Override
    public boolean updateLocNo(String newLocNo, String oldLocNo) {
@@ -37,6 +71,11 @@
    @Override
    public List<String> getSameDetlToday(String matnr, Integer start, Integer end) {
        return this.baseMapper.selectSameDetlToday(matnr, start, end);
    }
    @Override
    public List<String> getSameDetlToday(String matnr,String batch, Integer start, Integer end) {
        return this.baseMapper.selectSameDetlTodayBatch(matnr,batch, start, end);
    }
@@ -68,8 +107,15 @@
    }
    @Override
    public List<LocDetl> queryStock(String matnr, String batch, String orderNo) {
        return this.baseMapper.queryStock(matnr, batch, orderNo);
    public List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos) {
        return this.baseMapper.queryStock(matnr, batch, orderNo, locNos);
    }
    @Override
    public List<LocDetl> queryStockAll(String orderNo, Set<String> locNos,String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3) {
        return this.baseMapper.queryStockAll(orderNo,locNos, matnr, batch,brand,standby1,standby2,standby3,boxType1,boxType2,boxType3);
    }
    @Override
@@ -82,8 +128,78 @@
        return this.baseMapper.queryStockTotal();
    }
    /**
     * 获取库存总数
     * @return
     */
    @Override
    public LocDetl selectItem(String locNo, String matnr, String batch) {
        return this.baseMapper.selectItem(locNo, matnr, batch);
    public Integer sum() {
        return this.baseMapper.sum();
    }
    @Override
    public List<LocDetl> unreason() {
        return this.baseMapper.unreason();
    }
    @Override
    public LocDetl selectItem(String locNo, String matnr, String batch,String brand,String standby1,String standby2,String standby3,String boxType1,String boxType2,String boxType3) {
        return this.baseMapper.selectItem(locNo, matnr, batch,brand,standby1,standby2,standby3,boxType1,boxType2,boxType3);
    }
    @Override
    public Double getLocDetlSumQty(String locNo) {
        return this.baseMapper.selectLocDetlSumQty(locNo);
    }
    @Override
    public void updateMatTurn(String matnrOld,String matnr){
        this.baseMapper.updateMatTurn(matnrOld,matnr);
    }
    @Override
    public List<Map<String, Object>> selectLocDetlUnilateralMoveShuttleMap(Integer crnNo) {
        if (crnNo==1){
            return this.baseMapper.selectLocDetlUnilateralMoveShuttleMapY(crnNo);
        }
        return this.baseMapper.selectLocDetlUnilateralMoveShuttleMapN(crnNo);
    }
    @Override
    public List<LocDetl> selectLocDetlUnilateralMoveShuttle(String matnr,String batch,String grade,Integer crnNo) {
        if (crnNo==1){
            return this.baseMapper.selectLocDetlUnilateralMoveShuttleY(matnr,batch,grade);
        }
        return this.baseMapper.selectLocDetlUnilateralMoveShuttleN(matnr,batch,grade);
    }
    @Override
    public List<LocDetl> 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<>();
        }
        return this.baseMapper.searchByLike(orderNo, matnr, maktx, specs, locNo);
    }
    @Override
    public R frozenInventory(List<FrozenParam> param) {
        for(FrozenParam obj : param) {
            this.baseMapper.frozenInventory(obj.getLocNo(), obj.getMatnr(), obj.getBatch(), 1);
        }
        return R.ok("冻结库存完成!");
    }
    @Override
    public R unfreezeInventory(List<FrozenParam> param) {
        for(FrozenParam obj : param) {
            this.baseMapper.frozenInventory(obj.getLocNo(), obj.getMatnr(), obj.getBatch(), 0);
        }
        return R.ok("库存解冻完成!");
    }
}