package com.aucma.dms.mapper;

//import com.aucma.dms.domain.DmsFlowCheckplan;
//import com.aucma.dms.domain.DmsFlowCheckplanDetail;

import com.aucma.dms.domain.DmsFlowCheckplan;
import com.aucma.dms.domain.DmsFlowCheckplanDetail;

import java.util.List;

/**
 * 设备盘点计划Mapper接口
 * 
 * @author xins
 * @date 2023-12-29
 */
public interface DmsFlowCheckplanMapper 
{
    /**
     * 查询设备盘点计划
     * 
     * @param flowCheckplanId 设备盘点计划主键
     * @return 设备盘点计划
     */
    public DmsFlowCheckplan selectDmsFlowCheckplanByFlowCheckplanId(Long flowCheckplanId);

    /**
     * 查询设备盘点计划列表
     * 
     * @param dmsFlowCheckplan 设备盘点计划
     * @return 设备盘点计划集合
     */
    public List<DmsFlowCheckplan> selectDmsFlowCheckplanList(DmsFlowCheckplan dmsFlowCheckplan);

    /**
     * 新增设备盘点计划
     * 
     * @param dmsFlowCheckplan 设备盘点计划
     * @return 结果
     */
    public int insertDmsFlowCheckplan(DmsFlowCheckplan dmsFlowCheckplan);

    /**
     * 修改设备盘点计划
     * 
     * @param dmsFlowCheckplan 设备盘点计划
     * @return 结果
     */
    public int updateDmsFlowCheckplan(DmsFlowCheckplan dmsFlowCheckplan);

    /**
     * 删除设备盘点计划
     * 
     * @param flowCheckplanId 设备盘点计划主键
     * @return 结果
     */
    public int deleteDmsFlowCheckplanByFlowCheckplanId(Long flowCheckplanId);

    /**
     * 批量删除设备盘点计划
     * 
     * @param flowCheckplanIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDmsFlowCheckplanByFlowCheckplanIds(Long[] flowCheckplanIds);

    /**
     * 批量删除设备盘点明细
     * 
     * @param flowCheckplanIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDmsFlowCheckplanDetailByFlowCheckplanIds(Long[] flowCheckplanIds);
    
    /**
     * 批量新增设备盘点明细
     * 
     * @param dmsFlowCheckplanDetailList 设备盘点明细列表
     * @return 结果
     */
    public int batchDmsFlowCheckplanDetail(List<DmsFlowCheckplanDetail> dmsFlowCheckplanDetailList);
    

    /**
     * 通过设备盘点计划主键删除设备盘点明细信息
     * 
     * @param flowCheckplanId 设备盘点计划ID
     * @return 结果
     */
    public int deleteDmsFlowCheckplanDetailByFlowCheckplanId(Long flowCheckplanId);
}
