package com.energy.manage.service.service.windenginemill;


import com.energy.manage.common.base.Page;
import com.energy.manage.service.domain.dto.windenginemill.WindEngineMillCodeDto;
import com.energy.manage.service.domain.dto.windenginemill.WindEngineMillCreateDto;
import com.energy.manage.service.domain.dto.windenginemill.WindEngineMillDto;
import com.energy.manage.service.domain.dto.windenginemill.WindEngineMillPageDto;
import com.energy.manage.service.domain.vo.windenginemill.WindEngineMillPageVo;
import com.energy.manage.service.domain.vo.windenginemill.WindEngineMillVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 机型管理
 */
public interface WindEngineMillService  {


    /**
     * 手动创建机型信息
     * @param windEngineMillCreateDto
     * @return
     */
    boolean createEngineMill(WindEngineMillCreateDto windEngineMillCreateDto);

    /**
     * 同步机型
     * @param file
     * @return
     */
    boolean  windEngineMillImportData(MultipartFile file);

    /**
     * 分页查询风场信息
     * @param windEngineMillPageDto
     * @param
     * @return
     * */
    Page<WindEngineMillPageVo>  windEngineMillPage(WindEngineMillPageDto windEngineMillPageDto);


    /**
     * 删除机型
     * @param windEngineMillCodeDto
     * @return
     */
    boolean delWindEngineMill(WindEngineMillCodeDto windEngineMillCodeDto);


    /**
     * 查询机型对象
     * @param windEngineMillCodeDto
     * @return
     */
    WindEngineMillPageVo getWindEngineMillPageVo(WindEngineMillCodeDto windEngineMillCodeDto);

    /**
     * 所有机型集合
     * @return
     */
    List<WindEngineMillVo> getWindEngineMillList();

    /**
     * 通过收资编号集合查询系统机型
     * @param machineTypeCodes
     * @return
     */
    List<WindEngineMillVo> getWindEngineMillListByInMachineTypeCode(List<String> machineTypeCodes);

    /**
     * 修改机型信息
     * @param windEngineMillDto
     * @return
     */
    boolean updateWindEngineMill(WindEngineMillDto windEngineMillDto);


    /**
     * 校验数据是否存在
     * @param machineTypeCode
     * @param manufacturerCode
     * @return
     */
    boolean verificationData(String machineTypeCode,String manufacturerCode);


}
