package com.sw.mes.yb.production.service;

import java.util.List;

import com.sw.mes.core.base.BaseService;
import com.sw.mes.core.response.Result;
import com.sw.mes.yb.production.dto.InputFurnaceBurden.InputFurnaceBurdenDto;
import com.sw.mes.yb.production.entity.InputFurnaceBurden;

/**
* @Author
* @Description：
* @Date:
* @Modified By:
*/
public interface InputFurnaceBurdenService extends BaseService<InputFurnaceBurden> {

	void startInputFurnace(InputFurnaceBurdenDto inputFurnaceBurdenDto);

	void cancelInputFurnace(Long againTaskDetailId);

	void endInputFurnace(InputFurnaceBurdenDto inputFurnaceBurdenDto,Integer rawStatus,String operationName);

	List<InputFurnaceBurden> findByAgainTaskDetailId(Long ainTaskDetailId);

	InputFurnaceBurdenDto getStartInfo(Long againTaskDetailId);

	void back(InputFurnaceBurdenDto inputFurnaceBurdenDto);

	List<InputFurnaceBurden> findByStartTime(String startTime, String endTime, String series);

	/**
	 * 根据炉次号查询未确定投料任务
	 *
	 * @param lotNo
	 * @return
	 */
	List<InputFurnaceBurden> findUnconfirmedTask(String lotNo);


	/**
	 * 确认投料，本次装料任务报线边仓出库
	 *
	 * @param id
	 */
	Result confirmMaterials(Long id);


	/**
	 * 根据炉次号、复投次数、确认状态查询投料任务
	 */
	List<InputFurnaceBurden> findTask(String lotNo, Integer againNum, Integer confirm);

	/**
	 * 根据灌料任务查询灌料记录
	 * @param ainTaskDetailId
	 * @return
	 */
	InputFurnaceBurden findTopByAgainTaskDetailId(Long ainTaskDetailId);


}