package com.uas.report.util;

import com.uas.report.SystemProperties;
import com.uas.report.schedule.service.TaskService;
import com.uas.report.service.FileService;

/**
 * 工具类
 * 
 * @author sunyj
 * @since 2016年11月2日 下午2:51:24
 */
public class ReportUtils {
	/**
	 * 检查userName、reportName参数是否有效，无效则抛出异常
	 * 
	 * @param userName
	 *            账套名
	 * @param reportName
	 *            报表名
	 */
	public static void checkParameters(String userName, String reportName) {
		if (StringUtils.isEmpty(userName)) {
			throw new IllegalArgumentException("未传入当前账套名称！");
		}
		if (StringUtils.isEmpty(reportName)) {
			throw new IllegalArgumentException("未传入报表名称！");
		}
	}

	/**
	 * 开启定时任务
	 */
	public static void startTask() {
		SystemProperties systemProperties = ContextUtils.getBean(SystemProperties.class);
		if (systemProperties.isTaskAutoStart()) {
			FileService fileService = ContextUtils.getBean(FileService.class);
			TaskService taskService = ContextUtils.getBean(TaskService.class);
			fileService.newDeleteGeneratedFilesTask(systemProperties.getTaskPeriod());

			// 开启定时任务
			if (!taskService.isStopped()) {
				taskService.stop();
			}
			taskService.start();
		}
	}
}
