package com.foreverwin.mesnac.anomaly.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.foreverwin.mesnac.anomaly.dto.AbnormalBillDisposeDto;
import com.foreverwin.mesnac.anomaly.dto.AbnormalPlanDto;
import com.foreverwin.mesnac.anomaly.model.AbnormalBill;
import com.foreverwin.mesnac.anomaly.model.AbnormalBillDispose;
import com.foreverwin.mesnac.anomaly.model.AbnormalPlan;
import com.foreverwin.modular.core.util.FrontPage;

import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 计划异常待办事项 服务类
 * </p>
 *
 * @author zjw
 * @since 2021-08-07
 */
public interface AbnormalPlanService extends IService<AbnormalPlan> {

    /**
     *  分页查询
     * @param frontPage
     * @return
     */
    IPage<AbnormalPlan> selectPage(FrontPage<AbnormalPlan> frontPage, AbnormalPlan abnormalPlan);

    List<AbnormalPlan> selectList(AbnormalPlan abnormalPlan);

    void saveAbnormalPlan(AbnormalBillDisposeDto abnormalBillDisposeDto, LocalDateTime now);

    void saveAbnormalPlan(AbnormalBill abnormalBill, AbnormalBillDispose abnormalBillDispose, LocalDateTime now);

    List<AbnormalPlanDto> findAbnormalPlan(AbnormalPlanDto abnormalPlanDto);

    void processes(List<AbnormalPlan> abnormalPlanList);

    void sendMessage(AbnormalBill abnormalBill, AbnormalPlan abnormalPlan);
}