package com.zt.plat.module.qms.business.bus.service;

import java.util.List;

import com.yomahub.liteflow.flow.LiteflowResponse;
import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignManualParam;
import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignMethodParam;
import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignSampleParam;
import com.zt.plat.module.system.api.user.dto.AdminUserRespDTO;

public interface SampleTaskAssignService {

	/**
	 * 获取分配用户列表
	 * @return
	 */
	List<AdminUserRespDTO> getAssignUserList();
	
	/**
	 * 按方法分配任务
	 * @param param
	 */
	LiteflowResponse methodAssign(SampleTaskAssignMethodParam param);

	/**
	 * 按样品分配任务
	 * @param param
	 */
	LiteflowResponse sampleAssign(SampleTaskAssignSampleParam param);

	/**
	 * 手动分配任务
	 * @param param
	 * @return
	 */
	LiteflowResponse manualAssign(SampleTaskAssignManualParam param);

	/**
	 * 提交任务单
	 * @param id
	 */
	void submitAssign(Long id);

	/**
	 * 作废任务单
	 * @param id
	 */
	void voidAssign(Long id);

}
