package com.goafanti.order.service;

import java.io.IOException;
import java.util.List;

import javax.servlet.http.HttpServletResponse;


import com.goafanti.common.model.TTaskHours;
import com.goafanti.core.mybatis.page.Pagination;
import com.goafanti.order.bo.TOrderTaskDetailBo;
import com.goafanti.order.bo.TOrderTaskListBo;
import com.goafanti.order.bo.TaskLogBo;
import com.goafanti.order.bo.TaskProgressBo;
import com.goafanti.order.bo.inuptTaskHoursListBo;
import com.goafanti.order.bo.inuptTaskListBo;
import com.goafanti.organization.bo.OutPaymentNode;

public interface OrderProjectService {

	int updateProjectDistribution(Integer taskId, String taskReceiverId,Integer specially, String remarks);

	Pagination<TOrderTaskListBo> orderTaskList(inuptTaskListBo ib);

	TOrderTaskDetailBo orderTaskDetail(String id);

	int updateOrderTask(TOrderTaskDetailBo t);

	int addTaskHours(TTaskHours t);
	
	Pagination<TOrderTaskListBo> taskHoursList(inuptTaskHoursListBo ib,
			Integer pageNo, Integer pageSize);


	Pagination<TOrderTaskListBo>  selectTaskList(String name, String orderNo, String taskId, Integer taskStatus, String adminName,
			Integer specially,String depId  , Integer pageNo, Integer pageSize);

	List<TaskLogBo> TaskLogList(Integer id);

	int createTaskProgress(TaskProgressBo t);

	int delectTaskProgress(Integer id);

	List<TaskProgressBo> selectTaskProgress(Integer tid);


	List<TTaskHours> taskHoursDetailsList(String taskId);

	void exportMyTaskList(HttpServletResponse response,inuptTaskHoursListBo ib, Integer pageNo, Integer pageSize)throws IOException ;

	void checkProjiectAllocation(String orderNo);

	int pushSplitProject(Integer tid, String splitList);

	List<TOrderTaskListBo> splitProjectList(Integer tid);

	void addNoticAndEmail(OutPaymentNode pn, Integer code);

	void exporProjectList(HttpServletResponse response, inuptTaskListBo ib)throws IOException;


}
