package com.securitycontrol.background.service;

import com.securitycontrol.common.core.web.domain.AjaxResult;
import com.securitycontrol.entity.background.dto.ParamDto;
import com.securitycontrol.entity.background.vo.ProjectVo;
import com.securitycontrol.entity.background.vo.SignProVo;

import java.util.List;

/**
 * @author：cwchen
 * @date：2024-04-01-19:24
 * @version：1.0
 * @description：项目工程/单项工程-业务层
 */
public interface ISignProService {
    /**
     * 获取项目列表
     *
     * @param dto
     * @return List<ProjectVo>
     * @description
     * @author cwchen
     * @date 2024/4/1 19:59
     */
    List<ProjectVo> getProLists(ParamDto dto);

    /**
     * 新增/修改项目
     *
     * @param vo
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/4/2 10:17
     */
    AjaxResult addOrUpdateProject(ProjectVo vo);

    /**
     * 项目详情
     *
     * @param dto
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/4/2 10:46
     */
    AjaxResult getProjectById(ParamDto dto);

    /**
     * 删除项目
     *
     * @param dto
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/4/2 10:50
     */
    AjaxResult delProjectById(ParamDto dto);

    /**
     * 获取单项工程列表
     *
     * @param dto
     * @return List<SignProVo>
     * @description
     * @author cwchen
     * @date 2024/4/2 13:17
     */
    List<SignProVo> getSignProLists(ParamDto dto);

    /**
     * 新增/修改 单项工程
     *
     * @param vo
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/4/2 13:29
     */
    AjaxResult addOrUpdateSignProject(SignProVo vo);

    /**
     * 单项工程详情
     *
     * @param dto
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/4/2 13:46
     */
    AjaxResult getSignProById(ParamDto dto);

    /**
     * 删除单项工程
     * @param dto
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/4/2 13:46
     */
    AjaxResult delSignProById(ParamDto dto);
}
