package com.shkj.wms.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.shkj.common.core.domain.Result;
import com.shkj.wms.bo.WcsPlcConnectAddBo;
import com.shkj.wms.bo.WcsPlcPropertyResetBo;
import com.shkj.wms.domain.BasePointGroup;
import com.shkj.wms.domain.WcsPlcConnect;
import com.shkj.wms.vo.WcsPlcConnectVo;

import java.util.List;
import java.util.Map;

/**
 * PLC连接管理Service接口
 *
 * @author zjx
 * @date 2023-04-20
 */
public interface IWcsPlcConnectService extends IService<WcsPlcConnect>{
    /**
     * 查询PLC连接管理
     *
     * @param id PLC连接管理主键
     * @return PLC连接管理
     */
    public WcsPlcConnect selectWcsPlcConnectById(Long id);

    /**
     * 查询PLC连接管理列表
     *
     * @param wcsPlcConnect PLC连接管理
     * @return PLC连接管理集合
     */
    public List<WcsPlcConnectVo> selectWcsPlcConnectList(WcsPlcConnect wcsPlcConnect);

    /**
     * 新增PLC连接管理
     *
     * @param wcsPlcConnect PLC连接管理
     * @return 结果
     */
    public Result<Boolean> insertWcsPlcConnect(WcsPlcConnectAddBo wcsPlcConnect);

    /**
     * 修改PLC连接管理
     *
     * @param wcsPlcConnect PLC连接管理
     * @return 结果
     */
    public Result<Boolean> updateWcsPlcConnect(WcsPlcConnectAddBo wcsPlcConnect);

    /**
     * 删除PLC连接管理
     *
     * @param id 需要删除的PLC连接管理主键
     * @return 结果
     */
    public Result<Boolean> deleteWcsPlcConnectById(Long id);

    Result<Boolean> writePlcPoint(WcsPlcPropertyResetBo wcsPlcPropertyResetBo);


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