亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? taskproxy.java

?? 一個(gè)用于監(jiān)控WEB服務(wù)器和數(shù)據(jù)庫服務(wù)器的客戶端程序。
?? JAVA
?? 第 1 頁 / 共 3 頁
字號(hào):
				if (stopTask(ID)) {
					message = "<<"+taskName+">> 任務(wù)已經(jīng)中止!";
					insertInstantInfo(true, message);
					JOptionPane.showMessageDialog(mainFrame, message);
					result = true;
				} else {
					model.setValueAt(new Boolean(true), rowNo, runColumn);
				}
			} else {
				model.setValueAt(new Boolean(true), rowNo, runColumn);
			}
		}
		return result;
	}
	
	public void runAllTask(){
		int rows = table.getRowCount();
		if (rows == 0) {
			JOptionPane.showMessageDialog(mainFrame, "任務(wù)列表中未定義任何任務(wù)!");
			return;
		}			
		int n = JOptionPane.showConfirmDialog(
                mainFrame, "即將啟動(dòng)任務(wù)列表中的所有未啟動(dòng)任務(wù),是否繼續(xù)?",
                "啟動(dòng)所有任務(wù)",
                JOptionPane.YES_NO_OPTION);
        if (n == JOptionPane.YES_OPTION) {
//        	 啟動(dòng)任務(wù)列表所有未啟動(dòng)的任務(wù)
			int cols = table.getColumnCount();
			int count = 0;
			String message;
			errorMsg = "";
			for(int i=0;i<rows;i++){
				Integer ID = (Integer)table.getValueAt(i, 0)-1;
				String taskName = (String)table.getValueAt(i, 1);
				boolean boo = ((Boolean)table.getValueAt(i, cols-1)).booleanValue();
				if (!boo) {
					if(runTask(ID, taskName)){
						message = "任務(wù)<<"+taskName+">>已經(jīng)啟動(dòng)!";
						insertInstantInfo(true, message);
						errorMsg += taskName+" 任務(wù)已經(jīng)啟動(dòng)!\r\n";
						table.setValueAt(new Boolean(true), i, cols-1);
						count++;
					}
					else{
						message = "任務(wù)<<"+taskName+">>無法啟動(dòng)!";
						insertInstantInfo(true, message);
						errorMsg += "無法啟動(dòng)任務(wù):"+taskName+"\r\n";
						table.setValueAt(new Boolean(false), i, cols-1);
						/*if (errorMsg.indexOf("步驟") != -1) {
							editTask(i, 1);
						}
						else if (errorMsg.indexOf("調(diào)度") != -1
								|| errorMsg.indexOf("已到結(jié)束時(shí)間") != -1
								|| errorMsg.indexOf("已過執(zhí)行時(shí)間") != -1) {
							editTask(i, 2);
						}*/
					}
				}
			}	
			JOptionPane.showMessageDialog(mainFrame, errorMsg);
			/*if(count < rows && count > 0) {
				JOptionPane.showMessageDialog(mainFrame, errorMsg+"本次操作啟動(dòng)了部分任務(wù)!");
			}
			else if(count == 0 || count == rows) {
				JOptionPane.showMessageDialog(mainFrame, errorMsg+"任務(wù)列表中的任務(wù)已經(jīng)全部啟動(dòng)!");
			}*/
			
		}
	}
	
	public void stopAllTask(){
		int rows = table.getRowCount();
		if (rows == 0) {
			JOptionPane.showMessageDialog(mainFrame, "任務(wù)列表中未定義任何任務(wù)!");
			return;
		}
		int n = JOptionPane.showConfirmDialog(
                mainFrame, "即將中止任務(wù)列表中的所有正在運(yùn)行的任務(wù),是否繼續(xù)?",
                "中止所有任務(wù)",
                JOptionPane.YES_NO_OPTION);
        if (n == JOptionPane.YES_OPTION) {
//        	 停止任務(wù)列表所有執(zhí)行中的任務(wù)
			int cols = table.getColumnCount();
			int count=0;
			String message;
			for(int i=0;i<rows;i++){
				String taskName = (String)table.getValueAt(i, 1);
				boolean boo = ((Boolean)table.getValueAt(i, cols-1)).booleanValue();
				if (boo) {
					if (stopTask((Integer)table.getValueAt(i, 0)-1)) {
						message = "任務(wù)<<"+taskName+">>已經(jīng)中止!";
						insertInstantInfo(true, message);
						model.setValueAt(new Boolean(false), i, cols-1);
					}
					count++;
				}
			}
			if (count > 0){
				JOptionPane.showMessageDialog(mainFrame, "任務(wù)列表中的任務(wù)已經(jīng)全部中止!");
			}
			else {
				JOptionPane.showMessageDialog(mainFrame, "任務(wù)列表中沒有正在執(zhí)行中的任務(wù)!");
			}	
        }
	}
	
	public void insertInstantInfo(boolean isSuccess, String text) {
		JTextPane loginfo = mainFrame.getLogInfo();
		javax.swing.text.Document doc = loginfo.getDocument();
		try {
			AttributeSet atts = null;
			if (!isSuccess) {
				atts = mainFrame.getLogInfo().getStyle("Red");
			}
			doc.insertString(doc.getLength(), text+"\r\n", atts);
		} catch (BadLocationException e) {
			e.printStackTrace();
		}
		loginfo.setDocument(doc);
		loginfo.setCaretPosition(doc.getLength());
	}
	
	public int getTasksSize(){
		return tasks.size();
	}
	
	private boolean runTask(Integer ID, String taskName) {
		boolean result = false;
		this.ID = ID;
		obj = taskMap.get(ID);
		ArrayList stepData = (ArrayList)((Object[])obj)[1];
		if (stepData.size() == 0) {
			errorMsg += "未定義步驟!\r\n";
			return false;
		}
		ArrayList attempData = (ArrayList)((Object[])obj)[2];
		if (attempData.size() == 0 && runType == 0) {
			errorMsg += "未定義調(diào)度!\r\n";
			return false;
		}
		if (timer == null) {
			timer = new Timer();
		}
		String[] notifyData = (String[])((Object[])obj)[3];
		managerMail = notifyData[2];
		ccMail = notifyData[3];
		task = new Task(mainFrame, stepData);
		task.setID(ID);
		task.setTaskName(taskName);
		task.setManagerMail(managerMail);
		task.setCcMail(ccMail);
		if (runType == 1 && (getSubTask(null) != null)) {
			return true;
		}
		Task[] subTasks = new Task[attempData.size()];
		ArrayList<Task[]> attempInnerTasks = new ArrayList<Task[]>();
		for(int i=0;i<attempData.size();i++){
			String[] oneAttemp = (String[]) attempData.get(i);
			setOneAttemp(oneAttemp);
			subTasks[i] = getSubTask(attempInnerTasks);
			if(subTasks[i] != null) {
				result = true;
			}
		}
		tasks.put(ID, subTasks);
		innerTasks.put(ID, attempInnerTasks);
		return result;
	}

	private Task getSubTask(ArrayList<Task[]> attempInnerTasks) {
		Task result = null;
		Date date = null;
		int execCode = 0;
		if(runType == 0) {
			execCode = Integer.parseInt(oneAttemp[2]); // 調(diào)度類型代碼
		}
		else {
			execCode = 1;
		}
		task.setExecCode(execCode);
//		 立即執(zhí)行任務(wù)
		if (execCode == 1) { 
			result = task.clone();
			timer.schedule(result, 0);
		}
//		 一次性運(yùn)行任務(wù)
		else if (execCode == 2) { 
			date = getDate(oneAttemp[6], oneAttemp[7], oneAttemp[8]);
			if (date != null) {
				Date nowDate = new Date();
				if (date.after(nowDate)) {
					result = task.clone();
					timer.schedule(result, date);
				}
				else {
					errorMsg += "當(dāng)前時(shí)間:"+Common.getDateString(nowDate)
							+" 已過執(zhí)行時(shí)間:"+Common.getDateString(date)
							+",無法啟動(dòng)調(diào)度:"+oneAttemp[1]+"\r\n";
				}
			}
		}
//		 重復(fù)運(yùn)行任務(wù)
		else if (execCode == 3) { 
			date = getDate(oneAttemp[23], oneAttemp[24], oneAttemp[25]);
			if (date !=null) {
				int endTypeCode = Integer.parseInt(oneAttemp[18]);
				if (endTypeCode == 1) {
					endDate = getDate("", oneAttemp[19], oneAttemp[20]);
				}
				else {
					int periodHour = Integer.parseInt(oneAttemp[21]);
					int periodMinute = Integer.parseInt(oneAttemp[22]);
					now.setTime(date);
					now.add(Calendar.HOUR_OF_DAY, periodHour);
					now.add(Calendar.MINUTE, periodMinute);
					endDate = now.getTime();
				}
				Date current = new Date();
				if (current.after(endDate)) {
					String currentStr = Common.getDateString(current);
					String endDateStr = Common.getDateString(endDate);
					errorMsg += "當(dāng)前時(shí)間:"+currentStr+"已到結(jié)束時(shí)間:"+endDateStr+"\r\n";
					return null;
				}
				task.setEndDate(endDate);
				intervalCode = Integer.parseInt(oneAttemp[9]);
				int period = 0;
				if (intervalCode == 1) { // 每天
					period = Integer.parseInt(oneAttemp[10]);
				}
				else if (intervalCode == 2) { // 每周
					period = Integer.parseInt(oneAttemp[11]);
				}
				else if (intervalCode == 3) { // 每月
					
				}
				result = scheduleTask(date, period, attempInnerTasks);
			}
		}
		return result;
	}
	
	private Task scheduleTask(
			Date date, 
			final int period, 
			final ArrayList<Task[]> attempInnerTasks) {
		Task outerTask = null;
		int hourOrMinuteJI = Integer.parseInt(oneAttemp[16]);
		int hourOrMinute = Integer.parseInt(oneAttemp[17]);
		final int persistTime = hourOrMinute == 1 ?
					hourOrMinuteJI*60 : hourOrMinuteJI;
		if (persistTime == 0) {
			JOptionPane.showMessageDialog(mainFrame, "小時(shí)/分鐘數(shù)必須大于零!");
			setRunable(false);
		} 
		else {
			now.setTime(date);
			final int theYear = now.get(Calendar.YEAR);
			final int theMonth = now.get(Calendar.MONTH);
			final int today = now.get(Calendar.DATE);
			final int dayOfWeek = now.get(Calendar.DAY_OF_WEEK);
			final Calendar c = Calendar.getInstance();
			task.setExecCode(3);
			task.setEndDate(endDate);
			if (intervalCode == 1) { // 每天
				if (period > 0) {
					final Task subTask = task.clone();
					outerTask = new Task(){
						public void run() {
							timer.schedule(subTask, 0, persistTime * 1000);
						}
					};
					timer.schedule(outerTask, date, period * 24 * 60 * 60 * 1000);
					attempInnerTasks.add(new Task[]{subTask});
				}
				else {
					JOptionPane.showMessageDialog(mainFrame, "天數(shù)必須大于零!");
					setRunable(false);
				}
			}
			else if (intervalCode == 2) { // 每周
				if (period > 0) {
					String[] days = {};
					if (oneAttemp[28] != null) {
						days = oneAttemp[28].split(",");
					}
					final String[] daysClone = days.clone();
					final int taskLen = days.length;
					outerTask = new Task() { 
						int count;
						public void run() {
							Task[] innerWeekTasksClone = new Task[taskLen];
							Date[] scheduleDatesClone = new Date[taskLen];
							for (int i = 0; i < taskLen; i++) {
								innerWeekTasksClone[i] = task.clone();
								int day = Integer.parseInt(daysClone[i]) + 1;
								int diffDay = dayOfWeek <= day ? (day - dayOfWeek)
										: (7 + day - dayOfWeek);
								c.set(Calendar.YEAR, theYear);
								c.set(Calendar.MONTH, theMonth);
								c.set(Calendar.DATE, today);
								c.add(Calendar.DATE, count * period * 7);
								c.add(Calendar.DAY_OF_WEEK, diffDay);
								scheduleDatesClone[i] = c.getTime();
								timer.schedule(
										innerWeekTasksClone[i], 
										scheduleDatesClone[i], 
										persistTime * 60 * 1000
								); 
							} 
							attempInnerTasks.add(innerWeekTasksClone);
							count++;
						} 
					};
					timer.schedule(
							outerTask, date, period * 7 * 24 * 60 * 60 * 1000);
				}
				else {
					JOptionPane.showMessageDialog(mainFrame, "周數(shù)必須大于零!");
					setRunable(false);
				}
			}
			else if (intervalCode == 3) { // 每月
				String[] months = {};
				if (oneAttemp[29] != null) {
					months = oneAttemp[29].split(",");
				}
				
				final String[] monthsClone = months.clone();
				final int taskLen = months.length;
				outerTask = new Task() { 
					int count;
					public void run() {
						Task[] innerMonthTasksClone = new Task[taskLen];
						Date[] scheduleDatesClone = new Date[taskLen];
						int hour = now.get(Calendar.HOUR_OF_DAY);
						int minute = now.get(Calendar.MINUTE);
						int second = now.get(Calendar.SECOND);
						for (int i = 0; i < taskLen; i++) {
							innerMonthTasksClone[i] = task.clone();
							int month = Integer.parseInt(monthsClone[i]);
							int diffMonth = theMonth <= month ? (month - theMonth)
									: (12 + month - theMonth);
							c.set(Calendar.YEAR, theYear);
							c.set(Calendar.MONTH, month);
							c.set(Calendar.DATE, today);
							c.set(Calendar.HOUR_OF_DAY, hour);
							c.set(Calendar.MINUTE, minute);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品毛片久久久久久久| 91精品国产综合久久福利软件| 亚洲综合久久久| 日韩无一区二区| 97国产一区二区| 精品一区二区av| 亚洲国产日韩a在线播放| 精品国产91洋老外米糕| 色国产精品一区在线观看| 国产在线精品不卡| 日韩主播视频在线| 亚洲精品成人精品456| 亚洲国产精品成人综合 | 亚洲国产cao| 国产精品乱码久久久久久| 欧美一二三四区在线| 在线亚洲一区观看| 成人黄色免费短视频| 国产做a爰片久久毛片 | 不卡av在线网| 国产福利一区二区三区视频在线| 蜜臀av性久久久久蜜臀av麻豆| 亚洲一区在线看| 国产一区二区在线看| 日本二三区不卡| 亚洲成a人v欧美综合天堂下载| 欧美日本在线播放| 一本到一区二区三区| 成人免费视频播放| 亚洲久本草在线中文字幕| 欧美最新大片在线看| 美女视频网站久久| 黄色日韩网站视频| jizzjizzjizz欧美| 欧美性生活久久| 精品国产一区二区国模嫣然| 欧美国产激情一区二区三区蜜月| 在线观看日韩av先锋影音电影院| 粉嫩aⅴ一区二区三区四区| youjizz久久| 欧美精品九九99久久| 精品裸体舞一区二区三区| 亚洲欧洲三级电影| 日韩高清一区在线| 国产成人午夜视频| 欧美亚洲一区三区| 久久久天堂av| 一二三四社区欧美黄| 精品一区精品二区高清| 91麻豆国产福利精品| 日韩一区二区在线观看| 国产精品国产三级国产有无不卡 | 欧美成人性福生活免费看| 欧美高清在线视频| 日韩精品一区第一页| 成人免费毛片片v| 欧美一区二区三区在线观看视频| 日本一区二区三区免费乱视频| 亚洲第一电影网| 国产成人免费视频网站高清观看视频 | 毛片av一区二区| 99久久综合国产精品| 欧美成va人片在线观看| 曰韩精品一区二区| 国产成人精品综合在线观看 | 精品国精品国产尤物美女| 国产精品国产自产拍高清av王其| 日韩福利电影在线| 成人免费在线视频| 色婷婷综合久久| 国产精品乱人伦中文| 亚洲成av人影院| 91一区一区三区| 91精品国产美女浴室洗澡无遮挡| 久久久91精品国产一区二区精品 | 综合色中文字幕| 日韩av中文字幕一区二区| 99精品久久免费看蜜臀剧情介绍| 精品理论电影在线| 日韩在线一区二区| 日韩美一区二区三区| 国产一区不卡在线| 亚洲欧美区自拍先锋| 91精品在线观看入口| 日韩成人免费在线| 久久欧美中文字幕| 91美女片黄在线观看91美女| 国产在线视视频有精品| 久久青草欧美一区二区三区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 一区二区三区四区在线| 欧美一区二区视频在线观看2020 | 欧美一区二区三区小说| 国产成人夜色高潮福利影视| 精品国产凹凸成av人网站| 久久综合综合久久综合| 91国偷自产一区二区三区观看| 中文字幕中文字幕一区| 国产真实乱对白精彩久久| 欧美欧美欧美欧美| 日本 国产 欧美色综合| 久久免费精品国产久精品久久久久 | 欧美成人官网二区| 色一情一乱一乱一91av| 日韩电影免费在线| 亚洲欧洲三级电影| 久久网站热最新地址| 欧美高清一级片在线| 色综合一个色综合| 国产精品自产自拍| 精品一区二区在线观看| 日韩精品一级二级| 亚洲综合清纯丝袜自拍| 亚洲三级电影网站| 亚洲国产精品精华液2区45| 亚洲精品一区二区三区福利| 欧美高清视频在线高清观看mv色露露十八 | 天堂影院一区二区| 91丝袜美腿高跟国产极品老师| 亚洲综合一区在线| 久久综合九色综合欧美就去吻| 色成人在线视频| 成人免费视频视频在线观看免费| 国产福利一区二区三区在线视频| 亚洲黄色免费网站| 成人福利视频网站| 日本亚洲视频在线| 欧美激情一区二区三区不卡 | 欧美色爱综合网| 丝瓜av网站精品一区二区| 中文字幕亚洲成人| 亚洲精品中文字幕乱码三区| 欧美精彩视频一区二区三区| 国产日韩欧美精品综合| 久久久精品免费免费| 国产精品美女久久福利网站| 亚洲欧美日韩国产中文在线| 亚洲综合免费观看高清在线观看| 一区二区免费在线| 美女视频黄 久久| 国产精品亚洲成人| 色94色欧美sute亚洲线路二| 欧美电影影音先锋| 久久嫩草精品久久久久| 一区二区国产视频| 麻豆精品一区二区| 99久久国产综合色|国产精品| 欧美日韩亚洲高清一区二区| 久久综合九色综合97婷婷女人 | 国产视频一区在线播放| 亚洲免费观看在线观看| 麻豆一区二区三| 99精品欧美一区二区三区综合在线| 日本韩国欧美国产| 欧美一级黄色片| 成人免费一区二区三区视频| 美女视频第一区二区三区免费观看网站| 粉嫩aⅴ一区二区三区四区五区| 欧美图区在线视频| 亚洲蜜臀av乱码久久精品| 精品一区二区三区免费播放| 欧美日韩三级一区| 一区二区三区中文字幕电影| 国产一区二区不卡| 日韩免费看的电影| 亚洲高清免费视频| 99热在这里有精品免费| 成人免费视频一区| 久久夜色精品国产噜噜av| 亚洲二区在线观看| 欧洲av一区二区嗯嗯嗯啊| 国产精品电影院| 91丨九色丨国产丨porny| 国产精品久久久一区麻豆最新章节| 国产一区激情在线| 久久人人超碰精品| 国产福利91精品| 国产精品美女久久久久久| 97久久超碰精品国产| 亚洲青青青在线视频| 91在线播放网址| 天天综合天天做天天综合| 欧美嫩在线观看| 精品一区二区综合| 国产精品久线在线观看| 日本高清视频一区二区| 日产国产欧美视频一区精品 | 国产精品亲子乱子伦xxxx裸| 91老师片黄在线观看| 亚洲成人你懂的| 久久丝袜美腿综合| 99精品一区二区三区| 婷婷一区二区三区| 久久先锋影音av| 在线精品亚洲一区二区不卡| 日韩精品欧美精品| 国产精品久久精品日日| 91精品国产入口在线| 成人午夜碰碰视频| 日韩精品电影在线观看|