package com.securitycontrol.background.mapper;

import com.securitycontrol.entity.background.dto.AreaDto;
import com.securitycontrol.entity.background.vo.AreaVo;
import com.securitycontrol.entity.background.vo.GtVo;
import com.securitycontrol.entity.screen.vo.ProCostVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 区域管理接口层
 * @author 黑子
 */
@Repository
public interface TbAreaMapper {
    /**
     * 查询区域集合
     * @param dto
     * @return
     */
    List<AreaVo> getAreaList(AreaDto dto);

    /**
     * 查询工程类型
     * @param bidCode
     * @return
     */
    String getProjectTypeByBidCode(String bidCode);

    /**
     * 新增数据接口
     * @param dto
     * @return
     */
    int insertData(AreaVo dto);

    /**
     * 修改区域管理
     * @param dto
     * @return
     */
    int updateData(AreaVo dto);

    /**
     * 删除区域
     * @param id
     * @return
     */
    int deleteArea(@Param("areaId") String id);

    /**
     * 查询杆塔信息
     * @param dto
     * @return
     */
    List<GtVo> getGtList(AreaDto dto);

    /**
     * 新增杆塔
     * @param dto
     * @return
     */
    int addGtData(GtVo dto);

    /**
     * 修改杆塔数据
     * @param dto
     * @return
     */
    int updateGtData(GtVo dto);

    /**
     * 批量删除杆塔
     * @param dto
     * @return
     */
    int deleteGt(GtVo dto);

    /**
     * 查询杆塔数据
     * @param dto
     * @return
     */
    GtVo getGtById(AreaDto dto);

    /**
     * 查询区域数据
     * @param dto
     * @return
     */
    AreaVo getAreaById(AreaDto dto);

    /**
     * 查询三维文件集合
     * @param dto
     * @return
     */
    List<AreaVo> getSwList(AreaDto dto);

    /**
     * 查询杆塔是否已存在
     * @param dto
     * @return
     */
    int getSwData(AreaVo dto);

    /**
     * 新增三维文件
     * @param dto
     * @return
     */
    int addSwFile(AreaVo dto);

    /**
     *删除数据
     * @param dto
     * @return
     */
    int deleteData(AreaVo dto);

    /**
     * 查询工程成本信息
     * @param dto
     * @return
     */
    List<ProCostVo> getProCostList(AreaDto dto);

    /**
     * 新增成本
     * @param dto
     * @return
     */
    int addCost(ProCostVo dto);

    /**
     * 修改工程成本
     * @param dto
     * @return
     */
    int updateCost(ProCostVo dto);

    /**
     * 删除成本数据
     * @param dto
     * @return
     */
    int deleteCost(ProCostVo dto);
}
