package com.energy.manage.service.service.units;

import com.energy.manage.common.po.units.UnitBearingsPO;
import com.energy.manage.common.po.units.UnitDynamoPO;
import com.energy.manage.service.domain.dto.units.UnitDictBrandModelDto;
import com.energy.manage.service.domain.dto.units.UnitDictRoutineDto;
import com.energy.manage.service.domain.dto.units.UnitDto;
import com.energy.manage.service.domain.vo.units.UnitDictRoutineListVo;
import com.energy.manage.service.domain.vo.units.UnitVo;

import java.util.List;

/**
 * 部件接口
 */
public interface UnitService {

    /**
     * 查询部件字典常用类型属性
     * @param unitDictRoutineDto
     * @return
     */
    List<UnitDictRoutineListVo> getUnitDictRoutineList(UnitDictRoutineDto unitDictRoutineDto);

    /**
     * 通过部件类型/品牌名称查询集合
     * @param unitDictBrandModelDto
     * @return
     */
    List<String> getBrandModelNameOrModelNumber (UnitDictBrandModelDto unitDictBrandModelDto);


    /**
     * 更新部件相关信息
     * @param unitDto
     * @return
     */
    boolean modificationUnit(UnitDto unitDto,Integer userId);

    /**
     * 通过机型编号查询部件信息
     * @param millTypeCode
     * @return
     */
    UnitVo getUnitVo(String millTypeCode);

    /**
     * 验证主轴是否绑定机型
     * @param millTypeCode
     * @return
     */
    UnitBearingsPO verifyUnitBearingByMillTypeCode(String millTypeCode);


    /**
     * 验证发电机是否绑定机型
     * @param millTypeCode
     * @return
     */
    UnitDynamoPO verifyUnitDynamoByMillTypeCode(String millTypeCode);

}
