📄 reporttask.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 + -