package cn.estsh.i3plus.ext.mes.api.base.jx;

import cn.estsh.i3plus.ext.mes.pojo.bean.SxWorkCellTaktCollectPlcCfg;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import io.swagger.annotations.ApiOperation;

/**
 * @Description:MES_松下工位节拍PLC配置接口
 * @Reference:
 * @Author: jessica.chen
 * @CreateDate: 2019\11\13 13:56
 * @Modify:
 **/
public interface ISxWorkCellTaktCollectPlcCfgService {

    /**
     * 添加MES_松下工位节拍PLC配置
     *
     * @param workCellTaktCollectPlcCfg 松下工位节拍PLC配置
     * @return 插入后的mesManageCode对象
     */
    @ApiOperation(value = "添加MES_松下工位节拍PLC配置信息", notes = "传入MES_松下工位节拍PLC配置对象")
    SxWorkCellTaktCollectPlcCfg insertSxWorkCellTaktCollectPlcCfg(SxWorkCellTaktCollectPlcCfg workCellTaktCollectPlcCfg);

    /**
     * 更新MES_松下工位节拍PLC配置
     *
     * @param workCellTaktCollectPlcCfg  松下工位节拍PLC配置
     * @param userName 操作人
     */
    @ApiOperation(value = "更新MES_松下工位节拍PLC配置", notes = "更新MES_松下工位节拍PLC配置")
    void updateSxWorkCellTaktCollectPlcCfg(SxWorkCellTaktCollectPlcCfg workCellTaktCollectPlcCfg, String userName);

    /**
     * 按条件分页查询MES_松下工位节拍PLC配置信息
     *
     * @param workCellTaktCollectPlcCfg 松下工位节拍PLC配置
     * @param pager   分页条件
     * @return 分页数据
     */
    @ApiOperation(value = "按条件分页查询MES_松下工位节拍PLC配置信息", notes = "按条件分页查询MES_松下工位节拍PLC配置信息")
    ListPager<SxWorkCellTaktCollectPlcCfg> querySxWorkCellTaktCollectPlcCfgByPager(SxWorkCellTaktCollectPlcCfg workCellTaktCollectPlcCfg, Pager pager);

    /**
     * 批量软删数据
     *
     * @param ids      id数组
     * @param userName 操作人
     */
    @ApiOperation("批量软删数据")
    int deleteWeaklySxWorkCellTaktCollectPlcCfgByIds(String[] ids, String userName);

    /**
     * 批量禁用/启用数据有效性
     *
     * @param ids      id数组
     * @param status   更新状态
     * @param userName 操作人
     * @return 操作行数
     */
    @ApiOperation(value = "批量禁用/启用数据有效性")
    int updateSxWorkCellTaktCollectPlcCfgValid(String[] ids, int status, String userName);

    /**
     * 批量禁用/启用工位节拍PLC配置状态
     *
     * @param ids      id数组
     * @param status   更新状态
     * @param userName 操作人
     * @return 操作行数
     */
    @ApiOperation(value = "批量禁用/启用工位节拍PLC配置状态")
    int updateSxWorkCellTaktCollectPlcCfgStatus(String[] ids, int status, String userName);
}
