package com.securitycontrol.system.base.service;

import com.securitycontrol.common.core.web.domain.AjaxResult;
import com.securitycontrol.entity.system.base.dto.GxPlanDto;
import com.securitycontrol.entity.system.base.dto.ProScheduleDto;
import com.securitycontrol.entity.system.base.vo.GxPlanProgressVo;
import com.securitycontrol.entity.system.base.vo.GxPlanVo;
import com.securitycontrol.entity.system.base.vo.ProScheduleVo;

import java.util.List;

/**
 * @author：cwchen
 * @date：2024-03-13-19:07
 * @version：1.0
 * @description：工程进度-业务层
 */
public interface IProScheduleService {
    /**
     * 获取工程进度列表
     *
     * @param dto
     * @return List<ProScheduleVo>
     * @description
     * @author cwchen
     * @date 2024/3/13 19:19
     */
    List<ProScheduleVo> getProScheduleLists(ProScheduleDto dto);

    /**
     * 获取工序计划列表
     *
     * @param dto
     * @return List<GxPlanVo>
     * @description
     * @author cwchen
     * @date 2024/3/16 13:40
     */
    List<GxPlanVo> getGxPlanLists(GxPlanDto dto);

    /**
     * 工序计划延期提醒
     *
     * @param dto
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/3/16 14:03
     */
    AjaxResult getGxPlansIsDela(ProScheduleDto dto);

    /**
     * 获取工序计划进度列表
     *
     * @param dto
     * @return List<GxPlanProgressVo>
     * @description
     * @author cwchen
     * @date 2024/3/16 14:21
     */
    List<GxPlanProgressVo> getGxPlanProgressLists(ProScheduleDto dto);

    /**
     * 计划进度填报
     * @param vo
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/3/16 14:48
     */
    AjaxResult fillingGxProgress(GxPlanProgressVo vo);
}
