?? task.java
字號:
/**
* <p>Title: 卓博營運支撐系統</p>
*
* <p>Description: 為本企業內部運作提供支撐,為企業資源的E化管理提供解決方案</p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: 卓博信息科技有限公司</p>
*
* @author Henry
* @version 1.0
*/
package com.jobcn.control;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Date;
import java.util.TimerTask;
import javax.swing.JOptionPane;
import javax.swing.text.AttributeSet;
import com.jobcn.ui.MainFrame;
/** Task.java
* function: 任務類
* describe: 定義某一個任務的執行
*/
public class Task extends TimerTask {
public Task() {}
public Task(MainFrame mainFrame, ArrayList stepData) {
this.mainFrame = mainFrame;
this.stepData = stepData;
}
public Task clone() {
Task result = new Task();
result.ID = ID;
result.taskName = taskName;
result.mainFrame = mainFrame;
result.stepData = stepData;
result.setCcMail(ccMail);
result.setEndDate(endDate);
result.setExecCode(execCode);
result.setManagerMail(manageMail);
return result;
}
@Override
public void run() {
if (execCode == 3) { // 當重復執行任務時
Date current = new Date();
if (current.after(endDate)) {
cancel();
String currentStr = Common.getDateString(current);
String endDateStr = Common.getDateString(endDate);
System.out.println("當前時間:"+currentStr+"已到結束時間:"+endDateStr);
JOptionPane.showMessageDialog(mainFrame, "當前時間:"+currentStr+"已到結束時間:"+endDateStr);
return;
}
}
// 任務的實際執行 execTask();
execTask();
}
private void execTask() {
for(int i=0;i<stepData.size();i++){
String[] oneStep = (String[])stepData.get(i);// 每一執行步驟的各個屬性值
// 執行該任務的某個步驟,oneStep[4]為用戶自定義的需要執行的某個類。
try {
Class c = Class.forName(oneStep[4]);
Method getMessage =
c.getMethod("getTaskExecuteInfo", new Class[]{
String.class, int.class, String.class, String[].class});
Object[] messages = (Object[])getMessage.invoke(null, new Object[]{
mainFrame.taskListName, ID, taskName, new String[]{manageMail, ccMail}});
mainFrame.getProxy().insertInstantInfo(
(Boolean)messages[0], (String)messages[1]);
} catch (Exception e) {
e.printStackTrace();
cancel();
JOptionPane.showMessageDialog(mainFrame, "調用任務時出錯,任務已中止!");
break;
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
}
private int ID;
private MainFrame mainFrame;
private ArrayList stepData;
private Date endDate;
private int execCode;
private String taskName, manageMail, ccMail;
public void setTaskName(String taskName) {
this.taskName = taskName;
}
public void setCcMail(String ccMail) {
this.ccMail = ccMail;
}
public void setEndDate(Date endDate) {
this.endDate = endDate;
}
public void setExecCode(int execCode) {
this.execCode = execCode;
}
public void setManagerMail(String manageMail) {
this.manageMail = manageMail;
}
public void setID(int id) {
ID = id;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -