package com.hw.mes.mapper;

import java.util.List;
import com.hw.mes.domain.MesBaseProcessInfo;
import com.hw.mes.domain.MesBaseProcessProdline;
import com.hw.mes.domain.MesBaseProcessUser;

/**
 * 工序信息Mapper接口
 * 
 * @author Yinq
 * @date 2024-01-24
 */
public interface MesBaseProcessInfoMapper 
{
    /**
     * 查询工序信息
     * 
     * @param processId 工序信息主键
     * @return 工序信息
     */
    public MesBaseProcessInfo selectMesBaseProcessInfoByProcessId(Long processId);

    /**
     * 获取工序用户信息详细信息
     * @param processId 工序信息主键
     * @return 工序信息
     */
    public MesBaseProcessInfo selectMesBaseProcessInfoUserByProcessId(Long processId);

    /**
     * 查询工序信息列表
     * 
     * @param mesBaseProcessInfo 工序信息
     * @return 工序信息集合
     */
    public List<MesBaseProcessInfo> selectMesBaseProcessInfoList(MesBaseProcessInfo mesBaseProcessInfo);

    /**
     * 新增工序信息
     * 
     * @param mesBaseProcessInfo 工序信息
     * @return 结果
     */
    public int insertMesBaseProcessInfo(MesBaseProcessInfo mesBaseProcessInfo);

    /**
     * 修改工序信息
     * 
     * @param mesBaseProcessInfo 工序信息
     * @return 结果
     */
    public int updateMesBaseProcessInfo(MesBaseProcessInfo mesBaseProcessInfo);

    /**
     * 删除工序信息
     * 
     * @param processId 工序信息主键
     * @return 结果
     */
    public int deleteMesBaseProcessInfoByProcessId(Long processId);

    /**
     * 批量删除工序信息
     * 
     * @param processIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMesBaseProcessInfoByProcessIds(Long[] processIds);

    /**
     * 批量删除工序关联产线
     * 
     * @param processIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMesBaseProcessProdlineByProcessIds(Long[] processIds);
    
    /**
     * 批量新增工序关联产线
     * 
     * @param mesBaseProcessProdlineList 工序关联产线列表
     * @return 结果
     */
    public int batchMesBaseProcessProdline(List<MesBaseProcessProdline> mesBaseProcessProdlineList);
    

    /**
     * 通过工序信息主键删除工序关联产线信息
     * 
     * @param processId 工序信息ID
     * @return 结果
     */
    public int deleteMesBaseProcessProdlineByProcessId(Long processId);

    /**
     * 批量删除工序关联人员
     *
     * @param processIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMesBaseProcessUserByProcessIds(Long[] processIds);

    /**
     * 批量新增工序关联人员
     *
     * @param mesBaseProcessUserList 工序关联人员列表
     * @return 结果
     */
    public int batchMesBaseProcessUser(List<MesBaseProcessUser> mesBaseProcessUserList);


    /**
     * 通过工序信息主键删除工序关联人员信息
     *
     * @param processId 工序信息ID
     * @return 结果
     */
    public int deleteMesBaseProcessUserByProcessId(Long processId);
}
