package com.ruoyi.demo.service;

import com.github.pagehelper.PageInfo;
import com.ruoyi.demo.entity.AddrCategory;
import com.ruoyi.demo.entity.Equipment;
import com.ruoyi.demo.entity.Plan;
import com.ruoyi.demo.entity.bo.PlanAddBo;
import com.ruoyi.demo.entity.bo.PlanBo;
import com.ruoyi.demo.entity.vo.*;

import java.util.List;

public interface PlanService {
    String getSign(PlanAddBo bo);
    int addPlan(PlanAddBo bo);
    int deletePlan(String id);
    int deletePlans(List<String> ids);
    int checkPlan(PlanBo bo,Long userId,String userName);
    PageInfo<List<PlanListVo>> getPlanList(PlanBo bo);
    PlanDetailVo getPlanDetail(String planId);
    List<PlanPushVo> getPlanPush(String equipmentId);
    List<PlanPushVo> getPlanPushByCode(String equipmentCode);

    int planUpDown(String planId);
    PageInfo<List<PlanManageListVo>> getPlanManageList(PlanBo bo);
    PlanManageDetailVo getPlanManageDetail(String planId);
    PageInfo<List<PlanPushListVo>> getPlanPushList(PlanBo bo);
    PageInfo<List<PlanPushStatisticsListVo>> getPlanPushStatisticsList(PlanBo bo);
    void planPushStatisticsStart();

    PlanHomeVo getPlanTotal();
    List<AddrCategory> getAddrCategoryLevel(String code,String level);
    List<AddrCategory> getAddrCategory();
    PageInfo<List<Equipment>> getEquipments(PlanBo bo);
}
