package com.fjhx.mes.service.production;

import com.fjhx.mes.entity.production.po.ProductionTaskDetail;
import com.ruoyi.common.core.service.BaseService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fjhx.mes.entity.production.vo.ProductionTaskDetailVo;
import com.fjhx.mes.entity.production.dto.ProductionTaskDetailSelectDto;
import com.fjhx.mes.entity.production.dto.ProductionTaskDetailDto;


/**
 * <p>
 * 生产任务明细 服务类
 * </p>
 *
 * @author 
 * @since 2023-05-18
 */
public interface ProductionTaskDetailService extends BaseService<ProductionTaskDetail> {

    /**
     * 生产任务明细分页
     */
    Page<ProductionTaskDetailVo> getPage(ProductionTaskDetailSelectDto dto);

    /**
     * 生产任务流转分页
     */
    Page<ProductionTaskDetailVo> circulationPage(ProductionTaskDetailSelectDto dto);

    /**
     * 生产任务流转
     */
    void circulation(ProductionTaskDetailDto productionTaskDetailDto);

    /**
     * 生产任务流转入库
     */
    void productStorage(Long id);

    /**
     * 生产任务接收分页
     */
    Page<ProductionTaskDetailVo> receivePage(ProductionTaskDetailSelectDto dto);

    /**
     * 生产任务接收
     */
    void receive(ProductionTaskDetailDto productionTaskDetailDto);

    /**
     * 生产任务拒绝接收
     */
    void rejection(ProductionTaskDetailDto productionTaskDetailDto);

    ProductionTaskDetailVo snInfo(String sn);
}
