package com.bonus.bracelet.service;

import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.common.entity.bracelet.vo.DeviceVo;
import com.bonus.common.entity.bracelet.vo.EngineeringVo;
import com.bonus.common.entity.bracelet.vo.GtVo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * IEngineeringService
 */
public interface IEngineeringService {

    /**
     * 工程列表
     * @param data
     * @return
     */
    List<EngineeringVo> getEngineeringLists(EngineeringVo data);

    /**
     * 根据工程id获得杆塔详细信息
     * @param vo
     * @return
     */
    public List<GtVo> selectGtById(GtVo vo);


    /**
     * 新增杆塔信息
     * @param vo
     * @return
     */
    AjaxResult addGt(GtVo vo);

    /**
     * 根据杆塔id获得详细信息
     * @param gtId
     * @return
     */
    public AjaxResult selectGtId(Integer gtId);

    /**
     * 修改杆塔
     * @param vo
     * @return AjaxResult
     */
    AjaxResult editGt(GtVo vo);

    /**
     * 删除杆塔
     * @param gtId
     * @return
     */
    AjaxResult deleteGt(int gtId);

    /**
     * 根据工程id获得详细信息
     * @param proId
     * @return
     */
    public AjaxResult getEngineeringInfo(Long proId);

    /**
     * 修改工程
     * @param vo
     * @return AjaxResult
     */
    AjaxResult editPro(EngineeringVo vo);

    /**
     * 新增工程信息
     * @param vo
     * @return
     */
    AjaxResult addPro(EngineeringVo vo);

    /**
     * 删除工程
     * @param proId
     * @return
     */
    AjaxResult deletePro(Long proId);

    /**
     * 工程导入
     *
     * @param file
     * @param request
     * @param response
     * @return AjaxResult
     */
    AjaxResult excelUpload(MultipartFile file, HttpServletRequest request, HttpServletResponse response,Long proId);

}
