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

📄 reporttask.java

📁 本人课程设计时做的一个用struts框架实现的基于cmmi2的项目管理系统的原型。还有部分功能尚未实现
💻 JAVA
字号:
/*
 * Created on 2004-5-14
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
package com.cmmi2pms.pmc.report;

import com.cmmi2pms.common.comdb.*;
import java.sql.ResultSet;
/**
 * @author DengJun1
 *
 * To change the template for this generated type comment go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
public class ReportTask {
		
	private String reportid;//workReport表中的主键
	private String projectid;//
	private String userid;//该task的负责人,该工作报告task的提交人,二者同一人
	private String reporttime;//工作报告时间
	private String describ;//工作报告表中的其它工作
	
	private String id;//taskReport  表中的主键
	//private String reportid;//workReport表中的主键
	private String taskid;   //各个表相互关联的键
	private String curstate;//到目前为止已经完成的比例
	private String wl_curweek;//本周投入的工作量
	
	
	//private String projectid;//workloadestimate
	//private String taskid;   //各个表相互关联的键
	private String trackid;
	private String taskname;
	private String layer;
	private String isleave;
	//privat String manager;//跟userid一样得
	private String wl_totalused;//已经投入的总的工作量
		
	//private String projectid;//workloadestimate
	//private String taskid;   //各个表相互关联的键	
	private String subtask;
	private String planstarttime;//该task计划开始的时间
	private String planendtime;//该task计划结束的时间
	private String starttime;//该task实际开始的时间
	private String endtime;//该task实际结束的时间
	private String harvest;//到目前为止该任务完成的比例
	    public void getPPTaskInfo(String projectid,String taskid){
			try{
				this.taskid=taskid;
				this.projectid=projectid;
				this.trackid=Integer.toString(3);//先设一个无意义的值,只有0,1是有意义的
				PooledConnectionMgr.getInstance().initialize(30,"192.168.15.150",3306,"CMMI2PM");
				//Get an instance reference to the DbFacade object
				SqlDB dbf = null;
				dbf = new SqlDB();
				
				String sql_workload = "select trackid,taskname,layer,Isleave,manager,workload ";
					   sql_workload += " from pp_workloadestimate ";	
					   sql_workload += " where projectid="+projectid+" and taskid= "+taskid;
				System.out.println(sql_workload);

				ResultSet rs = null;
				rs=dbf.executeQuery(sql_workload);
				while(rs.next())
				{
					if(Integer.parseInt(this.trackid)!=2)
					{
						this.trackid = rs.getString("trackid");
						this.taskname = rs.getString("taskname");
						this.layer = rs.getString("layer");
						this.isleave = rs.getString("Isleave");
						this.userid = rs.getString("manager");
						this.wl_totalused = rs.getString("workload");
					}
					
					if (Integer.parseInt(this.trackid)==1) break;
									
				}
				
				if(Integer.parseInt(trackid)==0){
					String sql_pro = "select subtask,orgplanstart,orgplanend,curplanstart,curplanend,harvest ";
						   sql_pro += "from pp_proestimate ";
						   sql_pro += "where projectid="+projectid+" and taskid="+taskid;
				    System.out.println(sql_pro);
					rs=dbf.executeQuery(sql_pro);
					while(rs.next()){
						this.subtask = rs.getString("subtask");
						this.planstarttime = rs.getString("orgplanstart");
						this.planendtime = rs.getString("orgplanend");
						this.starttime = rs.getString("curplanstart");
						this.endtime = rs.getString("curplanend");
						this.harvest = rs.getString("harvest");
					}
				}
				else if(Integer.parseInt(trackid)==1){
					taskid = Integer.toString(-(Integer.parseInt(this.taskid)));
					String sql_pro = "select subtask,orgplanstart,orgplanend,curplanstart,curplanend,harvest ";
						   sql_pro += "from pp_proestimate ";
						   sql_pro += "where projectid="+projectid+" and taskid="+taskid;
					System.out.println(sql_pro);
					rs=dbf.executeQuery(sql_pro);
					while(rs.next()){
						this.subtask = rs.getString("subtask");
						this.planstarttime = rs.getString("orgplanstart");
						this.planendtime = rs.getString("orgplanend");
						this.starttime = rs.getString("curplanstart");
						this.endtime = rs.getString("curplanend");
						this.harvest = rs.getString("harvest");
					}
				}
				else System.out.println("error,no such task!taskid="+taskid+";projectid="+projectid);
				
				if(rs!=null) rs.close();
				if(dbf!=null) dbf.close();
				
			}
			catch (Exception e){
				System.out.println("Exception in getPPTaskInfo:" + e.getMessage());
			}
			
		}//public void getPPTaskInfo
		public void updateParentTask(String theProjectid,String taskid,String layer){
			;
		}//public void updateParentTask
		public void createReportTask(String theProjectid,AddReportTaskForm theReportTaskForm,String WorkReportID){
		
		
			try{
				PooledConnectionMgr.getInstance().initialize(30,"192.168.15.150",3306,"CMMI2PM");
				//Get an instance reference to the DbFacade object
				SqlDB dbf = null;
				dbf = new SqlDB();
			/*
				java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd",java.util.Locale.CHINA);
				java.util.Date d_starttime = sdf.parse(theReportTaskForm.getStarttime());  
				java.sql.Date tskStarttime = new java.sql.Date(d_starttime.getTime());
				java.util.Date d_endtime = sdf.parse(theReportTaskForm.getEndtime());  
				java.sql.Date tskEndtime = new java.sql.Date(d_endtime.getTime());
			*/	
			
		
				String sql="INSERT INTO pmc_workreport(reportid,taskid,starttime,endtime,curstate,wl_curweek,wl_totalused) VALUES (?,?,?,?,?,?,?)";
				System.out.println(sql);
				dbf.setSql(sql);
				dbf.setInt(1,Integer.parseInt(WorkReportID));
				dbf.setInt(2,Integer.parseInt(theReportTaskForm.getTaskid()));
				dbf.setString(3,"00000000");
				dbf.setString(4,"00000000");
				dbf.setInt(5,Integer.parseInt(theReportTaskForm.getCurstate()));
				dbf.setInt(6,Integer.parseInt(theReportTaskForm.getWl_curweek()));
				dbf.setInt(7,0);
				dbf.execute();
				
				this.getPPTaskInfo(theProjectid,theReportTaskForm.getTaskid());
				if((Integer.parseInt(this.trackid))==0){
					//表明是第一次对该task汇报,应该插入一条跟踪记录
										
					sql="insert into pp_workloadestimate(projectid,taskid,trackid,taskname,layer,Isleave,manager,workload) ";
					sql+="values(?,?,?,?,?,?,?,?)";
					System.out.println(sql);
					dbf.setSql(sql);
					dbf.setString(1,this.projectid);
					dbf.setInt(2,Integer.parseInt(this.taskid));
					dbf.setInt(3,1);
					dbf.setString(4,this.taskname);
					dbf.setString(5,this.layer);
					dbf.setString(6,this.isleave);
					dbf.setInt(7,Integer.parseInt(this.userid));
					dbf.setInt(8,Integer.parseInt(theReportTaskForm.getWl_curweek()));
					dbf.execute();
					
					sql="insert into pp_proestimate(projectid,taskid,subtask,orgplanstart,orgplanend,curplanstart,harvest) ";
					sql+="values(?,?,?,?,?,?,?)";
					System.out.println(sql);
					dbf.setSql(sql);
					dbf.setString(1,this.projectid);
					dbf.setInt(2,(-1)*Integer.parseInt(this.taskid));
					dbf.setString(3,this.subtask);
					
					
					java.text.SimpleDateFormat sdf1 = new java.text.SimpleDateFormat("yyyy-MM-dd",java.util.Locale.CHINA);
					java.util.Date d1 = sdf1.parse(this.planstarttime);  
					java.sql.Date theDate1 = new java.sql.Date(d1.getTime());
					dbf.setDate(4,theDate1);
					
					java.text.SimpleDateFormat sdf2 = new java.text.SimpleDateFormat("yyyy-MM-dd",java.util.Locale.CHINA);
					java.util.Date d2 = sdf2.parse(this.planendtime);  
					java.sql.Date theDate2 = new java.sql.Date(d2.getTime());
					dbf.setDate(5,theDate2);
					
					java.text.SimpleDateFormat sdf3 = new java.text.SimpleDateFormat("yyyy-MM-dd",java.util.Locale.CHINA);
					java.util.Date d3 = sdf3.parse(theReportTaskForm.getStarttime());  
					java.sql.Date theDate3 = new java.sql.Date(d3.getTime());
					dbf.setDate(6,theDate3);
																	
					dbf.setString(7,theReportTaskForm.getCurstate());
					
					dbf.execute();	

					sql="update pp_scheme set realstart= '"+theDate3+"' "+"where taskid="+(Integer.parseInt(this.taskid));
					System.out.println(sql);
					dbf.setSql(sql);
					dbf.execute();		
					
					if((Integer.parseInt(theReportTaskForm.getCurstate()))==100){
						//表明该任务已经完成,我们要对它的上级任务进行判断,看是否完成	
						sql="insert into pp_workloadestimate(projectid,taskid,trackid,taskname,layer,Isleave,manager,workload) ";
						sql+="values(?,?,?,?,?,?,?,?)";
						System.out.println(sql);
						dbf.setSql(sql);
						dbf.setString(1,this.projectid);
						dbf.setInt(2,Integer.parseInt(this.taskid));
						dbf.setInt(3,2);
						dbf.setString(4,this.taskname);
						dbf.setString(5,this.layer);
						dbf.setString(6,this.isleave);
						dbf.setInt(7,Integer.parseInt(this.userid));
						dbf.setInt(8,Integer.parseInt(theReportTaskForm.getWl_curweek()));
						dbf.execute();
						
						java.text.SimpleDateFormat sdf4 = new java.text.SimpleDateFormat("yyyy-MM-dd",java.util.Locale.CHINA);
						java.util.Date d4 = sdf4.parse(theReportTaskForm.getEndtime());  
						java.sql.Date theDate4 = new java.sql.Date(d4.getTime());
						
						sql="update pp_proestimate set curplanend= '"+theDate4+"' "+"where taskid="+((-1)*Integer.parseInt(this.taskid));
						System.out.println(sql);
						dbf.setSql(sql);
						dbf.execute();
						
						sql="update pp_scheme set realend= '"+theDate4+"' "+"where taskid="+(Integer.parseInt(this.taskid));
						System.out.println(sql);
						dbf.setSql(sql);
						dbf.execute();
						
						this.updateParentTask(theProjectid,this.taskid,this.layer);
						
					}			
				}
				else if((Integer.parseInt(this.trackid))==1){
					//表明不是第一次对该task汇报,应该更新已有的跟踪记录
					String theWorkLoad=Integer.toString(Integer.parseInt(this.wl_totalused)+Integer.parseInt(theReportTaskForm.getWl_curweek()));
					sql="update pp_workloadestimate set workload="+theWorkLoad;
					sql+=" where taskid="+this.taskid+" and trackid=1";
					System.out.println(sql);
					dbf.setSql(sql);
					dbf.execute();
					
					sql="update pp_proestimate set harvest="+theReportTaskForm.getCurstate();
					System.out.println(sql);
					dbf.setSql(sql);
					dbf.execute();
					
					if((Integer.parseInt(theReportTaskForm.getCurstate()))==100){
						//表明该任务已经完成,我们要对它的上级任务进行判断,看是否完成
						sql="insert into pp_workloadestimate(projectid,taskid,trackid,taskname,layer,Isleave,manager,workload) ";
						sql+="values(?,?,?,?,?,?,?,?)";
						System.out.println(sql);
						dbf.setSql(sql);
						dbf.setString(1,this.projectid);
						dbf.setInt(2,Integer.parseInt(this.taskid));
						dbf.setInt(3,2);
						dbf.setString(4,this.taskname);
						dbf.setString(5,this.layer);
						dbf.setString(6,this.isleave);
						dbf.setInt(7,Integer.parseInt(this.userid));
						dbf.setInt(8,Integer.parseInt(this.wl_totalused)+Integer.parseInt(theReportTaskForm.getWl_curweek()));
						dbf.execute();
						
						java.text.SimpleDateFormat sdf5 = new java.text.SimpleDateFormat("yyyy-MM-dd",java.util.Locale.CHINA);
						java.util.Date d5 = sdf5.parse(theReportTaskForm.getEndtime());  
						java.sql.Date theDate5 = new java.sql.Date(d5.getTime());
						
						sql="update pp_proestimate set curplanend= '"+theDate5+"' "+"where taskid="+((-1)*Integer.parseInt(this.taskid));
						System.out.println(sql);
						dbf.setSql(sql);
						dbf.execute();
						
						sql="update pp_scheme set realend= '"+theDate5+"' "+"where taskid="+(Integer.parseInt(this.taskid));
						System.out.println(sql);
						dbf.setSql(sql);
						dbf.execute();
						
						this.updateParentTask(theProjectid,this.taskid,this.layer);
							
					}	
				}
				
				if(dbf!=null) dbf.close();
				
			}
			catch (Exception e)   	
			{
				System.out.println("Exception in createReportTask:" + e.getMessage());
			}
		}//public void createReportTask
	
		public String getIsleave(){
			return isleave; 
		}
	 
		public void setIsleave(String isleave){
			this.isleave=isleave;
		}
		public String getLayer(){
			return layer; 
		}
	 
		public void setLayer(String layer){
			this.layer=layer;
		}
		
		public String getSubtask(){
			return subtask; 
		}
	 
		public void setSubtask(String subtask){
			this.subtask=subtask;
		}
		
		public String getReporttime(){
			return reporttime; 
		}
	 
		public void setReporttime(String reporttime){
			this.reporttime=reporttime;
		}
		
		public String getDescrib(){
			return describ; 
		}
	 
		public void setDescrib(String describ){
			this.describ=describ;
		}
	
		public String getTaskname(){
			return taskname; 
		}
	 
		public void setTaskname(String taskname){
			this.taskname=taskname;
		}
		 
		public String getTrackid(){
			return trackid; 
		}
	 
		public void setTrackid(String trackid){
			this.trackid=trackid;
		}
	
		public String getPlanendtime(){
			return planendtime;
		}
	
		public void setPlanendtime(String planendtime){
			this.planendtime=planendtime;
		}
	
		public String getPlanstarttime(){
			return planstarttime;
		}
	
		public void setPlanstarttime(String planstarttime){
			this.planstarttime=planstarttime;
		}
	
		public String getWl_totalused(){
			return wl_totalused;
		}
		
		public void setWl_totalused(String wl_totalused){
			this.wl_totalused=wl_totalused;
		}
	
		public String getWl_curweek(){
			return wl_curweek;
		}
		
		public void setWl_curweek(String wl_curweek){
			this.wl_curweek=wl_curweek;
		}
	
		public String getCurstate(){
			return curstate;
		}
		
		public void setCurstate(String curstate){
			this.curstate=curstate;
		}
	
		public String getEndtime(){
			return endtime;
		}
		
		public void setEndtime(String endtime){
			this.endtime=endtime;
		}
	
		public String getStarttime(){
			return starttime;
		}
		
		public void setStarttime(String starttime){
			this.starttime=starttime;
		}
	
		public String getUserid(){
			return userid;
		}
		
		public void setUserid(String userid){
			this.userid=userid;
		}
	
		public String getProjectid(){
			return projectid;
		}
		
		public void setProjectid(String projectid){
			this.projectid=projectid;
		}
	
		public String getTaskid(){
			return taskid;
		}
		
		public void setTaskid(String taskid){
			this.taskid=taskid;
		}
	
		public String getReportid(){
			return reportid;
		}
		
		public void setReportid(String reportid){
			this.reportid=reportid;
		}
	
		public String getId(){
			return id;
		}
		
		public void setId(String id){
			this.id=id;
		}
		public String getHarvest(){
			return harvest;
		}
		
		public void setHarvest(String harvest){
			this.harvest=harvest;
		}

}

⌨️ 快捷键说明

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