package com.shkj.wms.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.shkj.wms.bo.BaseLocationPlcQueryPageBo;
import com.shkj.wms.bo.BasePointDeviceQueryBo;
import com.shkj.wms.domain.BaseLocationPlc;
import com.shkj.wms.vo.BaseDevicePlcVo;
import com.shkj.wms.vo.BasePointDeviceVo;

import java.util.List;

/**
 * 系统货位与PLC货位关系
 *
 * @author zjx
 * @date 2023-05-06
 */
public interface BaseLocationPlcMapper extends BaseMapper<BaseLocationPlc> {
    /**
     * 查询系统货位与PLC货位关系
     *
     * @param id 系统货位与PLC货位关系主键
     * @return 系统货位与PLC货位关系
     */
    public BaseLocationPlc selectBaseLocationPlcById(Long id);

    /**
     * 查询系统货位与PLC货位关系列表
     *
     * @param bo 系统货位与PLC货位关系
     * @return 系统货位与PLC货位关系集合
     */
    public List<BaseLocationPlc> selectBaseLocationPlcList(BaseLocationPlcQueryPageBo bo);

    /**
     * 新增系统货位与PLC货位关系
     *
     * @param baseLocationPlc 系统货位与PLC货位关系
     * @return 结果
     */
    public int insertBaseLocationPlc(BaseLocationPlc baseLocationPlc);

    /**
     * 修改系统货位与PLC货位关系
     *
     * @param basePoint 系统货位与PLC货位关系
     * @return 结果
     */
    public int updateBaseLocationPlc(BaseLocationPlc basePoint);

    /**
     * 删除系统货位与PLC货位关系
     *
     * @param id 系统货位与PLC货位关系主键
     * @return 结果
     */
    public int deleteBaseLocationPlcById(Long id);


    /**
     * 获取点位的相关信息
     *
     * @param bo bo
     * @return 结果
     */
    public List<BasePointDeviceVo> selectBasePointByGroupno(BasePointDeviceQueryBo bo);

    /**
     * 获取设备的PLC连接信息
     *
     * @param bo bo
     * @return 结果
     */
    public BaseDevicePlcVo selectBaseDevicePlc(BasePointDeviceQueryBo bo);



}
