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

📄 task.java

📁 本人课程设计时做的一个用struts框架实现的基于cmmi2的项目管理系统的原型。还有部分功能尚未实现
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			logger.error(e);
		}
		
		StringBuffer sb=new StringBuffer();
		
		while(!ly.empty())
		{
			Integer tID=(Integer)ly.pop();
			int id=tID.intValue();
			sb.append(id);
			sb.append(".");
		}
		sb.deleteCharAt(sb.length()-1);
		
		layer=sb.toString();
		
		//sb.append("this is the end");
		
	}
	
	/**
	 * <p> modify a task information
	 * @param atf
	 */
	public void updateTask(TaskForm atf)
	{
		//projectId=Integer.valueOf(atf.getProjectId()).intValue();
		taskId=Integer.valueOf(atf.getTaskId()).intValue();
		
		logger.debug("The taskId in Task class is "+taskId);
		taskName=atf.getTaskName();
		planStart=atf.getPlanStart();
		planEnd=atf.getPlanEnd();
		//formerTask=atf.getFormerTask();
		//wsbId=atf.getWbsId();
		//isLandMask=Boolean.valueOf(atf.getLandMark()).booleanValue();
		//managerId=Integer.valueOf(atf.getManagerId()).intValue();
		if(atf.getTaskLoad().trim().length()==0)
		{
			taskLoad=0;
		}else
		{
			taskLoad=Integer.valueOf(atf.getTaskLoad()).intValue();
		}
		harves=atf.getHarves();
		desc=atf.getDesc();
		logger.debug("The harvest is "+harves);
		logger.debug("The description is "+desc);
		try
		{
			dbf = new SqlDB();
			
			java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd",java.util.Locale.CHINA);
			java.util.Date d = sdf.parse(planStart);  
			java.sql.Date startTime = new java.sql.Date(d.getTime());
			d = sdf.parse(planEnd); 
			java.sql.Date endTime = new java.sql.Date(d.getTime());

			String sql="update pp_scheme set taskname=?, planstart=? ,planend=? ,taskload=? ,harvest=? ,describ=? where taskid="+taskId;
			logger.debug(sql);
			dbf.setSql(sql);
			dbf.setString(1,taskName);
			dbf.setDate(2,startTime);		
			dbf.setDate(3,endTime);
			dbf.setInt(4,taskLoad);
			dbf.setString(5,harves);
			dbf.setString(6,desc);
			dbf.execute();
			
			sql="update pp_proestimate set orgplanstart=? ,orgplanend=? ,harvest=? ,describ=? where taskid="+taskId;
			logger.debug(sql);
			dbf.setSql(sql);
			dbf.setDate(1,startTime);		
			dbf.setDate(2,endTime);
			dbf.setString(3,harves);
			dbf.setString(4,desc);
			dbf.execute();
			
			sql="update pp_workloadestimate set taskname=? ,workload=?  ,describ=? where taskid="+taskId;
			logger.debug(sql);
			dbf.setSql(sql);
			dbf.setString(1,taskName);		
			dbf.setInt(2,taskLoad);
			dbf.setString(3,desc);
			dbf.execute();
		
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}finally
		{
			close();
		}
	}
	
	public void deleteTask(int taskId)throws Exception
	{
		String subTaskIdStr=null;
		int pid;
		String pidStr=null;
		
		com.cmmi2pms.pp.process.Process proc=new com.cmmi2pms.pp.process.Process();
		
		this.taskId=taskId;		
		logger.debug("The taskId in Task class is "+taskId);
		try
		{
			dbf = new SqlDB();
			
			String sql="select subtask from pp_proestimate where taskid="+taskId;
			logger.debug(sql);
			rs=dbf.executeQuery(sql);
			if(!rs.next())
			{
				throw new Exception("NO this task");
			}
			subTaskIdStr=rs.getString("subtask");
			if(subTaskIdStr.indexOf(",")>=0)
			{
				StringTokenizer st=new StringTokenizer(subTaskIdStr,",");
				pidStr=st.nextToken();			
			
				//待处理的子节点列表栈
				ArrayList sub = new ArrayList();
				sub.clear();
				sub.add( new Node(subTaskIdStr,taskId) );
				int count = 0;
				while( !sub.isEmpty() )
				{
					Node sn=(Node)sub.get(0);
					String top = sn.getIdlist();
					int id=sn.getSelfId();
		     			
		     			logger.debug("The subtask is "+top);
		     			       
					StringTokenizer token = new StringTokenizer(top,",");
					token.nextToken();
					logger.debug("The token is continuing !!!!");
					String tmpid;
			
					while(token.hasMoreTokens())
					{
						tmpid = token.nextToken(",");
						
						logger.debug("The tmpid is "+tmpid);
						if(tmpid.length()==0)
						{ 
							break;
						}
						
						proc.getTaskInfo(Integer.valueOf(tmpid).intValue());
						sub.add( new Node(proc.getSubTask(), proc.getTaskId() ) );
						
						sql="delete from pp_scheme where taskid="+tmpid;
						logger.info(sql);
						dbf.setSql(sql);
						dbf.execute();
						
						sql="delete from pp_proestimate where taskid="+tmpid;
						logger.info(sql);
						dbf.setSql(sql);
						dbf.execute();
						
						sql="delete from pp_workloadestimate where taskid="+tmpid;
						logger.info(sql);
						dbf.setSql(sql);
						dbf.execute();
						
						count++;
						
						logger.debug("The deleted elements is "+count);
		
					}		
					sub.remove(0);		
				} //所有的节点已经遍历过,在s1中有所有的列表					
				pid=Integer.valueOf(pidStr).intValue();
			}else
			{
				pid=Integer.valueOf(subTaskIdStr).intValue();
			}
			
			logger.debug("The parent id is "+pid);
			//删除当前任务
			sql="delete from pp_scheme where taskid="+taskId;
			logger.info(sql);
			dbf.setSql(sql);
			dbf.execute();
			
			sql="delete from pp_proestimate where taskid="+taskId;
			logger.info(sql);
			dbf.setSql(sql);
			dbf.execute();
			
			sql="delete from pp_workloadestimate where taskid="+taskId;
			logger.info(sql);
			dbf.setSql(sql);
			dbf.execute();
			
			if(pid==0)
			{
				return;
			}
			
			//更新父任务
			
			proc.getTaskInfo(pid);			
			subTaskIdStr=proc.getSubTask();
			String reg=","+taskId+",";
			int idx=subTaskIdStr.indexOf(reg);
			String sub;
			if(idx<0)
			{
				reg=","+taskId;
				idx=subTaskIdStr.indexOf(reg);
				sub=subTaskIdStr.substring(0,idx);
				
			}else
			{
				String sub1=subTaskIdStr.substring(0,idx);
				String sub2=subTaskIdStr.substring(idx+reg.length()-1,subTaskIdStr.length());
				sub=sub1+sub2;
				logger.debug("The subtask is "+sub);
			}
			
			sql="update pp_proestimate set subtask=? where taskid="+pid;
			logger.info(sql);
			dbf.setSql(sql);
			dbf.setString(1,sub);
			dbf.execute();	
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}finally
		{
			close();
		}
	}
	
	public int getProjectId()
	{
		return projectId;
	}
	public int getTaskId()
	{
		return taskId;
	}
	public String getTaskName()
	{
		return taskName;
	}
	public String getPlanStart()
	{
		return planStart;
	}
	public String getPlanEnd()
	{
		return planEnd;
	}
	public String getRealStart()
	{
		return realStart;
	}
	public String getRealEnd()
	{
		return realEnd;
	}
	public String getFormerTask()
	{
		return formerTask;
	}
	public String getWsbId()
	{
		return wsbId;
	}
	public boolean getIsLandMask ()
	{
		return isLandMask;
	}
	public int getManagerId()
	{
		return managerId;
	}
	public String getManagerName()
	{
		return managerName;
	}
	public int getTaskLoad()
	{
		return taskLoad;
	}
	public String getHarves()
	{
		return harves;
	}
	public String getDesc()
	{
		return desc;
	}
	
	
	public void  setProjectId(int projectId)
	{
		this.projectId=projectId;
	}
	public void setTaskId(int taskId)
	{
		this.taskId=taskId;
	}
	public void setTaskName(String taskName)
	{
		this.taskName=taskName;
	}
	public void setPlanStart(String planStart)
	{
		this.planStart=planStart;
	}
	public  void setPlanEnd(String planEnd)
	{
		this.planEnd=planEnd;
	}
	public void  setRealStart(String realStart)
	{
		this.realStart=realStart;
	}
	public void setRealEnd(String realEnd)
	{
		this.realEnd=realEnd;
	}
	public void setFormerTask(String formerTask)
	{
		this.formerTask=formerTask;
	}
	public void setWsbId(String wsbId)
	{
		this.wsbId=wsbId;
	}
	public void setIsLandMask (boolean isLandMask)
	{
		this.isLandMask=isLandMask;
	}
	public void setManagerId(int managerId)
	{
		this.managerId=managerId;
	}
	public void setManagerName(String managerName)
	{
		this.managerName=managerName;
	}
	
	public  void setTaskLoad(int taskLoad)
	{
		this.taskLoad=taskLoad;
	}
	public void setHarves(String harves)
	{
		this.harves=harves;
	}
	public void setDesc(String desc)
	{
		this.desc=desc;
	}
}

⌨️ 快捷键说明

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