package com.ruoyi.zdsz.service;

import com.ruoyi.zdsz.domain.ZEngineeringPipeJacking;
import com.ruoyi.zdsz.domain.vo.ZEngineeringPipeJackingVo;
import com.ruoyi.zdsz.domain.bo.ZEngineeringPipeJackingBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * 顶管工程Service接口
 *
 * @author ruoyi
 * @date 2024-01-02
 */
public interface IZEngineeringPipeJackingService {

    /**
     * 查询顶管工程
     */
    ZEngineeringPipeJackingVo queryById(String id);

    /**
     * 查询顶管工程列表
     */
    TableDataInfo<ZEngineeringPipeJackingVo> queryPageList(ZEngineeringPipeJackingBo bo, PageQuery pageQuery);

    /**
     * 查询顶管工程列表
     */
    List<ZEngineeringPipeJackingVo> queryList(ZEngineeringPipeJackingBo bo);

    /**
     * 新增顶管工程
     */
    Boolean insertByBo(ZEngineeringPipeJackingBo bo);

    Boolean insertByBoApp(ZEngineeringPipeJackingBo bo);

    /**
     * 修改顶管工程
     */
    Boolean updateByBo(ZEngineeringPipeJackingBo bo);

    /**
     * 校验并批量删除顶管工程信息
     */
    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);

    ZEngineeringPipeJackingVo queryByIdType(String id, String type);

    List<Map<String, Object>> nameList(ZEngineeringPipeJackingBo bo);
}
