package com.aucma.dms.mapper;

import com.aucma.dms.domain.DmsBaseMaintProject;
import com.aucma.dms.domain.DmsBaseMaintStation;
import com.aucma.dms.domain.DmsBillsMaintDetail;

import java.util.List;

/**
 * 保养工单明细Mapper接口
 *
 * @author xins
 * @date 2024-03-20
 */
public interface DmsBillsMaintDetailMapper
{
    /**
     * 查询保养工单明细
     *
     * @param billsMaintDetailId 保养工单明细主键
     * @return 保养工单明细
     */
    public DmsBillsMaintDetail selectDmsBillsMaintDetailByBillsMaintDetailId(Long billsMaintDetailId);

    /**
     * 查询保养工单明细列表
     *
     * @param dmsBillsMaintDetail 保养工单明细
     * @return 保养工单明细集合
     */
    public List<DmsBillsMaintDetail> selectDmsBillsMaintDetailList(DmsBillsMaintDetail dmsBillsMaintDetail);

    /**
     * 新增保养工单明细
     *
     * @param dmsBillsMaintDetail 保养工单明细
     * @return 结果
     */
    public int insertDmsBillsMaintDetail(DmsBillsMaintDetail dmsBillsMaintDetail);

    /**
     * 修改保养工单明细
     *
     * @param dmsBillsMaintDetail 保养工单明细
     * @return 结果
     */
    public int updateDmsBillsMaintDetail(DmsBillsMaintDetail dmsBillsMaintDetail);

    /**
     * 删除保养工单明细
     *
     * @param billsMaintDetailId 保养工单明细主键
     * @return 结果
     */
    public int deleteDmsBillsMaintDetailByBillsMaintDetailId(Long billsMaintDetailId);

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









    /**
     * 查询保养工单明细列表，Join 设备，保养部位和保养标准
     *
     * @param dmsBillsMaintDetail 保养工单明细
     * @return 保养工单明细集合
     */
    public List<DmsBillsMaintDetail> selectDmsBillsMaintDetailJoinList(DmsBillsMaintDetail dmsBillsMaintDetail);

    List<DmsBillsMaintDetail> selectDetailList(Long maintInstanceId);

    DmsBaseMaintStation selectMainStation(Long stationId);

    List<DmsBaseMaintProject> selectPrjectIds(Long stationId);
}
