Exemplo n.º 1
0
        // GET: ProjectPaln
        public ActionResult Index()
        {
            if (null != Request["projectid"])
            {
                string    projectid = Request["projectid"];
                string    prjuid    = null;
                PLAN_TASK task      = null;
                log.Debug("get project task by project:" + projectid + ",roottag=" + Request["roottag"]);
                if (null != projectid && "" != projectid)
                {
                    prjuid = Request["prjuid"];
                    log.Debug("get project task by child task by prj_uid:" + prjuid);
                }

                if (null != Request["roottag"] && "Y" == Request["roottag"])
                {
                    task = planService.getRootTask(projectid);
                    if (null != task)
                    {
                        log.Debug("task=" + task.PRJ_UID);
                        prjuid = task.PRJ_UID.ToString();
                    }
                }

                DataTable dt = null;
                if (null == prjuid || prjuid == "")
                {
                    //取得所有任務
                    dt = planService.getProjectTask(projectid);
                }
                else
                {
                    //取得所有子項任務
                    dt = planService.getChildTask(projectid, int.Parse(prjuid));
                }
                string htmlString = "<table class='table table-bordered'>";

                htmlString = htmlString + "<tr><th>層級</th><th>任務名稱</th><th>開始時間</th><th>完成時間</th><th>工期</th><th>--</th><th>--</th></tr>";
                foreach (DataRow dr in dt.Rows)
                {
                    DateTime stardate   = DateTime.Parse(dr[4].ToString());
                    DateTime finishdate = DateTime.Parse(dr[5].ToString());

                    htmlString = htmlString + "<tr><td>" + dr[1] + "<input type='checkbox' name='roottag' id='roottag' onclick='setRootTask(" + dr[2] + ")' /></td><td>" + dr[0] + "</td>"
                                 + "<td>" + stardate.ToString("yyyy-MM-dd") + "</td><td>" + finishdate.ToString("yyyy-MM-dd") + "</td><td>" + dr[6] + "</td>"
                                 + "<td ><a href =\"Index?projectid=" + projectid + "&prjuid=" + dr[3] + "\">上一層 </a></td>"
                                 + "<td><a href=\"Index?projectid=" + projectid + "&prjuid=" + dr[2] + "\">下一層 </a></td></tr>";
                }
                htmlString         = htmlString + "</table>";
                ViewBag.htmlResult = htmlString;
                ViewBag.projectId  = Request["projectid"];
            }
            return(View());
        }
Exemplo n.º 2
0
        public void convertProject(string projectId, string filepath)
        {
            project_id = projectId;
            net.sf.mpxj.mpp.MPPReader reader = new net.sf.mpxj.mpp.MPPReader();
            ProjectFile projectObj           = reader.read(filepath);
            int         i = 1;

            lstTask = new List <PLAN_TASK>();
            foreach (net.sf.mpxj.Task task in ToEnumerable(projectObj.AllTasks))
            {
                PLAN_TASK pt = new PLAN_TASK();
                pt.PROJECT_ID = projectId;

                pt.PRJ_UID   = task.UniqueID.intValue();
                pt.PRJ_ID    = task.ID.intValue();
                pt.TASK_NAME = task.Name;

                DateTime dtStart  = new DateTime();
                DateTime dtFinish = new DateTime();
                //ToString("yyyyMMddHHmmss")
                if (null != task.Start)
                {
                    dtStart = new DateTime((task.Start.getYear() + 1900), task.Start.getMonth() + 1, task.Start.getDate());
                    logger.Debug("start date Year =" + (task.Start.getYear() + 1900) + ",Month=" + (task.Start.getMonth() + 1) + ",Date=" + task.Start.getDate());
                    pt.START_DATE = dtStart;

                    dtFinish       = new DateTime((task.Finish.getYear() + 1900), task.Finish.getMonth() + 1, task.Finish.getDate());
                    pt.FINISH_DATE = dtFinish;
                    logger.Debug("start date Year =" + (task.Finish.getYear() + 1900) + ",Month=" + (task.Finish.getMonth() + 1) + ",Date=" + task.Finish.getDate());

                    pt.DURATION = task.Duration.toString();
                }
                logger.Debug("DURATION=" + task.Duration + ",Task: " + i + "=" + task.Name + ",StartDate=" + dtStart.ToString("yyyy/MM/dd") + ",EndDate=" + dtFinish.ToString("yyyy/MM/dd") + " ID=" + task.ID + " Unique ID=" + task.UniqueID);
                if (null != task.ParentTask)
                {
                    pt.PARENT_UID = task.ParentTask.UniqueID.intValue();
                }
                logger.Info("Parent UID=" + pt.PARENT_UID + ",TASK_UID=" + pt.PRJ_UID + ",Task_id=" + pt.TASK_ID + ",TASK_NAME=" + pt.TASK_NAME);
                lstTask.Add(pt);
                i++;
            }
            logger.Info("Get all task count:" + lstTask.Count);
        }