⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 add.java

📁 议程管理系统
💻 JAVA
字号:
package agenda.Function;

import java.util.ArrayList;
import java.util.List;
import agenda.ReworkTime.*;
import agenda.User.*;
import agenda.addandmanage.*;

/**
 * Add 类用于执行添加议程功能。成功添加的议程使用议程数据管理类ManageAgenda来保存的。
 */
public class Add {

	
	
	public static void doAddAgenda(List list) {

		int launcherIsbespeakerLag = 1;
		
		if(((String)(list.get(0)) != null)&&((String)(list.get(2))) != null){
			if(!(((String)(list.get(0))).equalsIgnoreCase((String)(list.get(2))))){
				launcherIsbespeakerLag = 0;
			}else{
				launcherIsbespeakerLag = 1;
			}
		}
		
		// 创建注册用户管理实例,用于查找添加议程语句中的用户
    	ManageUser manageUser = new ManageUser();
    	
    	// 标记议程发起者是否为注册用户
    	int launcherexistlag = 0;
    	//查找、判断议程的发起用户是否已注册
    	for(int index = 0;index<ManageUser.RegisteredUserList.size();index++){
    		if(((String)list.get(0)).equals(((User)ManageUser.RegisteredUserList.get(index)).userName)){
    			launcherexistlag = 1;
    			break;
    		}
    	}
    	
    	// 标记议程预约者是否为注册用户
    	int bespeakerexistlag = 0;
    	//查找、判断被预约用户是否已注册
    	for(int index = 0;index<ManageUser.RegisteredUserList.size();index++){
    		if(((String)list.get(2)).equals(((User)ManageUser.RegisteredUserList.get(index)).userName)){
    			bespeakerexistlag = 1;
    			break;
    		}
    	}
    	
    	// 创建议程管理实例
    	ManageAgenda manageAgenda = new ManageAgenda();
    	// user
    	List userInAgendaList = new ArrayList();
    	for(int index = 0;index<ManageAgenda.AgendaList.size();index++){
    		if(((String)list.get(0)).equals(((Agenda)ManageAgenda.AgendaList.get(index)).userName)
    				||((String)list.get(0)).equals(((Agenda)ManageAgenda.AgendaList.get(index)).otheruserName)){
    			userInAgendaList.add(index); // 保存user所在的议程号
    		}
    	}
    	// other
    	List otherInAgendaList = new ArrayList();
    	for(int index = 0;index<ManageAgenda.AgendaList.size();index++){
    		if(((String)list.get(0)).equals(((Agenda)ManageAgenda.AgendaList.get(index)).userName)
    				||((String)list.get(0)).equals(((Agenda)ManageAgenda.AgendaList.get(index)).otheruserName)){
    			otherInAgendaList.add(index);
    		}
    	}
    	
    	int userInAgendaListLag;
    	if(userInAgendaList.size() > 0){
    		userInAgendaListLag = 1;
    	}else{
    		userInAgendaListLag = 0;
    	}
    	
       	int otherInAgendaListLag;
    	if(userInAgendaList.size() > 0){
    		otherInAgendaListLag = 1;
    	}else{
    		otherInAgendaListLag = 0;
    	}
    	
    	//
    	StringToTime time = new StringToTime();
    	// user、other已在其他议程中,但没有时间冲突,议程可以添加;1表示可以用
    	int usercanuse = 0;
    	int othercanuse = 0;
    	// user、other不在议程中,准备直接ADD;1表示可以用。
    	int userNotInAgenda = 0;
    	int otherNotInAgenda = 0;
    	//
		if(launcherIsbespeakerLag == 1){
			System.out.println("	议程发起者与预约者是同一个人,不能添加议程!");
		}else{
			if((launcherexistlag == 1)&&(bespeakerexistlag == 1)){ //两人都是注册用户
				//--------------------------------------------------------------
				if(userInAgendaListLag == 1){ // user
					// 标记待添加议程时间与用户所在议程的时间冲突的议程个数,只要此标记有值则调试冲突
					int numberlag= 0;
					int userInAgendaListSize = userInAgendaList.size();
					for(int i = 0;i<userInAgendaList.size();i++){
						//得到用户所在的议程列表中的议程编号
						int userinagendaindex = (Integer)userInAgendaList.get(i);
						if(!((time.Conserse((String)list.get(3))).after(time.Conserse(((Agenda)ManageAgenda.AgendaList.get(userinagendaindex)).endTime))
								||(time.Conserse((String)list.get(4))).before(time.Conserse(((Agenda)ManageAgenda.AgendaList.get(userinagendaindex)).startTime)))){
							numberlag++;
						}else{
							;
						}
					}
					if(numberlag > 0){ //时间有冲突
						System.out.println("	待添加议程中的发起者在同时间内已经有议程安排,添加不成功!");
					}
					if(numberlag == 0){ //没有时间冲突
						usercanuse = 1; //标记User可以用
					}
				}else{ // user无任何议程
					userNotInAgenda = 1;
				}
				//--------------------------------------------------------------
				if(otherInAgendaListLag == 1){ // other
					// 标记待添加议程时间与用户所在议程的时间冲突的议程个数
					int numberlag2= 0;
					int otherInAgendaListSize = otherInAgendaList.size();
					for(int i = 0;i<otherInAgendaList.size();i++){
						//得到用户所在的议程列表中的议程编号
						int otherinagendaindex = (Integer)otherInAgendaList.get(i);
						if(!((time.Conserse((String)list.get(3))).before(time.Conserse(((Agenda)ManageAgenda.AgendaList.get(otherinagendaindex)).endTime))
								||(time.Conserse((String)list.get(4))).after(time.Conserse(((Agenda)ManageAgenda.AgendaList.get(otherinagendaindex)).startTime)))){
							numberlag2++;
						}else{
							;
						}
					}
					if(numberlag2 > 0){ //时间有冲突
						System.out.println("	待添加议程中的预约者在同时间内已经有会议安排,添加不成功!");
					}
					if(numberlag2 == 0){ //没有时间冲突
						othercanuse = 1;
					}
				}else{//other无任何议程
					otherNotInAgenda = 1;
				}
				//--------------------------------------------------------------
				if((usercanuse == 1)&&(othercanuse == 1)){
					// 根据Add命令参数创建议程对象
	        		Agenda agenda = new Agenda();
	                agenda.SetUsername((String)list.get(0));
	                agenda.Setpassword((String)list.get(1));
	                agenda.SetOtheruserName((String)list.get(2));
	                agenda.SetstartTime((String)list.get(3));
	                agenda.SetendTime((String)list.get(4));
	                agenda.Settitle((String)list.get(5));
	                // 添加议程	                
	                ManageAgenda.AgendaList.add(agenda);
	                System.out.println("	新添加议程成功!");
	                // 添加成功后,随即报告显示所添加的议程
	                ManageAgenda.PrintAgenda(ManageAgenda.AgendaList.size()-1);
	                System.out.println("\n");
	                ManageAgenda.PrintAgenda();
				}
				if((userNotInAgenda == 1)&&(otherNotInAgenda == 1)){
					// 根据Add命令参数创建议程对象
	        		Agenda agenda = new Agenda();
	                agenda.SetUsername((String)list.get(0));
	                agenda.Setpassword((String)list.get(1));
	                agenda.SetOtheruserName((String)list.get(2));
	                agenda.SetstartTime((String)list.get(3));
	                agenda.SetendTime((String)list.get(4));
	                agenda.Settitle((String)list.get(5));
	                // 添加议程
	                ManageAgenda.AgendaList.add(agenda);
	                System.out.println("	新添加议程成功!");
	                // 添加成功后,随即报告显示所添加的议程
	                ManageAgenda.PrintAgenda(ManageAgenda.AgendaList.size()-1);
	                System.out.println("\n");
	                ManageAgenda.PrintAgenda();
				}
			}else if(!(launcherexistlag == 1)){ // 有人未注册
				System.out.println("	议程发起者为未注册,无法创建议程!请先注册!");
			}else if(!(bespeakerexistlag == 1)){ // 有人未注册
				System.out.println("	议程预约者为未注册,无法创建议程!请先注册!");
			}else if((!(launcherexistlag == 1))&&(!(bespeakerexistlag == 1))){
				System.out.println("	议程发起者预约者都为未注册,无法创建议程!请先注册!");
			}
		}


    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -