package com.fjhx.mes.service.production;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fjhx.mes.entity.production.dto.ProductionSchedulingDto;
import com.fjhx.mes.entity.production.dto.ProductionSchedulingSelectDto;
import com.fjhx.mes.entity.production.po.ProductionScheduling;
import com.fjhx.mes.entity.production.vo.ProductionOrderDetailVo;
import com.fjhx.mes.entity.production.vo.ProductionSchedulingVo;
import com.ruoyi.common.core.service.BaseService;

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

/**
 * <p>
 * 生产排程 服务类
 * </p>
 *
 * @author
 * @since 2024-02-03
 */
public interface ProductionSchedulingService extends BaseService<ProductionScheduling> {

    Page<ProductionSchedulingVo> getPage(ProductionSchedulingSelectDto dto);

    Map<String, List<ProductionSchedulingVo>> listMap(ProductionSchedulingSelectDto dto);

    /**
     * 生产排程新增
     */
    void add(List<ProductionScheduling> dtoList);

    /**
     * 生产排程编辑
     */
    void edit(ProductionSchedulingDto productionSchedulingDto);

    /**
     * 生产排程删除
     */
    void delete(Long id);

    /**
     * 获取排程任务列表
     */
    List<ProductionOrderDetailVo> schedulingTaskList();
}
