package com.leanwo.activiti.service.base.impl;

import java.util.List;

import org.springframework.stereotype.Component;

import com.leanwo.activiti.dto.BaseObjectResponse;
import com.leanwo.activiti.dto.BaseResponse;
import com.leanwo.activiti.dto.ProcessReportResultResponse;
import com.leanwo.activiti.dto.base.DocumentInfoDto;
import com.leanwo.activiti.dto.base.GroupDto;
import com.leanwo.activiti.dto.base.GroupUsersDto;
import com.leanwo.activiti.dto.base.LeaderUserDto;
import com.leanwo.activiti.dto.base.NodeApprovedRequest;
import com.leanwo.activiti.dto.base.NodeApprovedResponse;
import com.leanwo.activiti.dto.base.TaskCreateEmailDto;
import com.leanwo.activiti.dto.base.TaskDefineDto;
import com.leanwo.activiti.dto.base.TaskInstanceSaveRequest;
import com.leanwo.activiti.dto.base.TaskInstanceUpdateRequest;
import com.leanwo.activiti.dto.base.TaskType;
import com.leanwo.activiti.dto.base.UserDto;
import com.leanwo.activiti.dto.base.UserReadDocumentSimpleDto;
import com.leanwo.activiti.dto.base.WorkrecordDto;
import com.leanwo.activiti.exception.ServerException;

@Component
public class ProdogServerImpl implements ProdogServer {

	private static final String ERROR_MSG = "Prodog服务器异常";

	/**
	 * 获取默认的异常
	 * 
	 * @return
	 */
	public ServerException getDefaultException() {
		throw new ServerException(ERROR_MSG);
	}

	@Override
	public byte[] getProdogDbVersion() {
		throw getDefaultException();
	}

	@Override
	public void approveDocument(DocumentInfoDto documentInfoDto) {
		throw getDefaultException();
	}

	@Override
	public void rejectDocument(DocumentInfoDto documentInfoDto) {
		throw getDefaultException();
	}

	@Override
	public void withdrawDocument(DocumentInfoDto documentInfoDto) {
		throw getDefaultException();
	}

	@Override
	public GroupDto[] listGroup(String ufts) {
		throw getDefaultException();
	}

	@Override
	public GroupUsersDto[] listGroupUsers(String ufts) {
		throw getDefaultException();
	}

	@Override
	public ProcessReportResultResponse autoRunProcessReport(Long accountId, TaskDefineDto taskDefineDto) {
		throw getDefaultException();
	}

	@Override
	public UserDto[] listUser(String ufts) {
		throw getDefaultException();
	}

	@Override
	public String createWorkrecord(WorkrecordDto workRecordMessageDto) {
		throw getDefaultException();
	}

	@Override
	public Boolean updateWorkrecord(WorkrecordDto workRecordMessageDto) {
		throw getDefaultException();
	}

	@Override
	public List<Long> listUserIdByGroupIds(List<Long> groupId) {
		throw getDefaultException();
	}

	@Override
	public List<LeaderUserDto> listLeaderUser(Long userId) {
		throw getDefaultException();
	}

	@Override
	public List<LeaderUserDto> listLeaderUserByOrganizationIds(List<Long> organizationIds) {
		throw getDefaultException();
	}

	@Override
	public void saveByUserReadDocumentSimpleDto(UserReadDocumentSimpleDto userReadDocumentSimpleDto) {
		throw getDefaultException();
	}

	@Override
	public NodeApprovedResponse afterNodeApproved(NodeApprovedRequest nodeApprovedRequest) {
		throw getDefaultException();
	}

	@Override
	public String createEmailByTask(TaskCreateEmailDto emailDto) {
		throw getDefaultException();
	}

	@Override
	public List<TaskDefineDto> listTaskDefine(TaskType taskType) {
		throw getDefaultException();
	}

	@Override
	public BaseResponse addTaskInstance(TaskInstanceSaveRequest taskInstanceSaveRequest) {
		throw getDefaultException();
	}

	@Override
	public BaseResponse updateTaskInstance(TaskInstanceUpdateRequest taskInstanceUpdateRequest) {
		throw getDefaultException();
	}

	@Override
	public BaseObjectResponse<String> generateReport(Long assetLabelPrintCheckId) {
		throw getDefaultException();
	}
}
