package com.shkj.wms.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.shkj.common.core.domain.Result;
import com.shkj.wms.bo.BaseLogicAreaQueryBo;
import com.shkj.wms.bo.BaseLogicAreaQueryListBo;
import com.shkj.wms.bo.BaseLogicAreaSaveOrUpdateBo;
import com.shkj.wms.config.ValidList;
import com.shkj.wms.domain.BaseLogicArea;
import com.shkj.wms.vo.BaseLogicAreaVo;

/**
 * 逻辑区域Service接口
 *
 * @author zjx
 * @date 2023-04-18
 */
public interface IBaseLogicAreaService extends IService<BaseLogicArea> {


    /**
     * 保存或者修改库别信息（根据是否有id来判断新增或者修改）
     * @param list
     * @return
     */
    Result<Boolean> saveOrUpdateBaseLogicArea(ValidList<BaseLogicAreaSaveOrUpdateBo> list);

    /**
     * 查询单个
     *
     * @param id
     * @return
     */
    Result<BaseLogicAreaVo> queryById(Long id);

    /**
     * 查询列表
     *
     * @param bo
     * @return
     */
    List<BaseLogicAreaVo> queryList(BaseLogicAreaQueryBo bo);
    /**
     * 校验并删除数据
     *
     * @param id     主键
     * @return
     */
    Result<Boolean> deleteWithValidById(Long id);


    /**
     * 查询逻辑区域信息列表
     */
    List<BaseLogicArea> queryBaseLogicAreaList(BaseLogicAreaQueryListBo bo);



    Result<Boolean> switchStatus(Long id, String status);
}
