package com.hw.dms.mapper;

import java.util.List;
import com.hw.dms.domain.DmsPlanMaint;
import com.hw.dms.domain.DmsPlanMaintDetail;

/**
 * 保养计划信息Mapper接口
 *
 * @author xins
 * @date 2024-01-08
 */
public interface DmsPlanMaintMapper
{
    /**
     * 查询保养计划信息
     *
     * @param planMaintId 保养计划信息主键
     * @return 保养计划信息
     */
    public DmsPlanMaint selectDmsPlanMaintByPlanMaintId(Long planMaintId);

    /**
     * 查询保养计划信息列表
     *
     * @param dmsPlanMaint 保养计划信息
     * @return 保养计划信息集合
     */
    public List<DmsPlanMaint> selectDmsPlanMaintList(DmsPlanMaint dmsPlanMaint);

    /**
     * 新增保养计划信息
     *
     * @param dmsPlanMaint 保养计划信息
     * @return 结果
     */
    public int insertDmsPlanMaint(DmsPlanMaint dmsPlanMaint);

    /**
     * 修改保养计划信息
     *
     * @param dmsPlanMaint 保养计划信息
     * @return 结果
     */
    public int updateDmsPlanMaint(DmsPlanMaint dmsPlanMaint);

    /**
     * 删除保养计划信息
     *
     * @param planMaintId 保养计划信息主键
     * @return 结果
     */
    public int deleteDmsPlanMaintByPlanMaintId(Long planMaintId);

    /**
     * 批量删除保养计划信息
     *
     * @param planMaintIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDmsPlanMaintByPlanMaintIds(Long[] planMaintIds);

    /**
     * 批量删除保养计划明细
     *
     * @param planMaintIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDmsPlanMaintDetailByPlanMaintIds(Long[] planMaintIds);

    /**
     * 批量新增保养计划明细
     *
     * @param dmsPlanMaintDetailList 保养计划明细列表
     * @return 结果
     */
    public int batchDmsPlanMaintDetail(List<DmsPlanMaintDetail> dmsPlanMaintDetailList);


    /**
     * 通过保养计划信息主键删除保养计划明细信息
     *
     * @param planMaintId 保养计划信息ID
     * @return 结果
     */
    public int deleteDmsPlanMaintDetailByPlanMaintId(Long planMaintId);



    /**
     * 查询保养计划信息
     *
     * @param planMaintCode 保养计划信息Code
     * @return 保养计划信息
     */
    public DmsPlanMaint selectDmsPlanMaintJoinByPlanMaintCode(String planMaintCode);



    /**
     * 查询保养计划信息,Join job
     *
     * @param planMaintId 保养计划信息主键
     * @return 保养计划信息
     */
    public DmsPlanMaint selectPlanMaintJoinJobByPlanMaintId(Long planMaintId);

}
