Ejemplo n.º 1
0
        private void SaveLog(DataRow odr, string code)
        {
            EntityData entity     = WBSDAO.GetTaskHistoryByCode(code);
            string     maxEdition = "";

            if (entity.HasRecord())
            {
                maxEdition = entity.CurrentTable.Rows[0]["Edition"].ToString();
            }
            maxEdition = (maxEdition.Length > 0)?maxEdition:"0";
            int intEdition = int.Parse(maxEdition) + 1;           // 取得新版本号

            // 保存人员信息
            this.GetPerson(code);

            DataRow dr = entity.GetNewRecord();

            dr["WBSCode"]           = odr["WBSCode"];
            dr["TaskCode"]          = odr["TaskCode"];
            dr["TaskName"]          = odr["TaskName"];
            dr["ProjectCode"]       = odr["ProjectCode"];
            dr["ParentCode"]        = odr["ParentCode"];
            dr["PreWBSCode"]        = odr["PreWBSCode"];
            dr["OutlineNumber"]     = odr["OutlineNumber"];
            dr["Deep"]              = odr["Deep"];
            dr["SortID"]            = odr["SortID"];
            dr["FullCode"]          = odr["FullCode"];
            dr["PlannedStartDate"]  = odr["PlannedStartDate"];
            dr["PlannedFinishDate"] = odr["PlannedFinishDate"];
            dr["ActualStartDate"]   = odr["ActualStartDate"];
            dr["ActualFinishDate"]  = odr["ActualFinishDate"];
            dr["EarlyFinishDate"]   = odr["EarlyFinishDate"];
            dr["EarlyStartDate"]    = odr["EarlyStartDate"];
            dr["LastFinishDate"]    = odr["LastFinishDate"];
            dr["LastStartDate"]     = odr["LastStartDate"];
            dr["PauseDate"]         = odr["PauseDate"];
            dr["CancelDate"]        = odr["CancelDate"];
            dr["CompletePercent"]   = odr["CompletePercent"];
            dr["RemainingDuration"] = odr["RemainingDuration"];
            dr["Duration"]          = odr["Duration"];
            dr["ImportantLevel"]    = odr["ImportantLevel"];
            dr["Status"]            = odr["Status"];
            dr["PreStatus"]         = odr["PreStatus"];
            dr["PauseReason"]       = odr["PauseReason"];
            dr["CancelReason"]      = odr["CancelReason"];
            dr["Remark"]            = odr["Remark"];
            dr["Flag"]              = odr["Flag"];
            dr["RelaType"]          = odr["RelaType"];
            dr["RelaCode"]          = odr["RelaCode"];
            dr["ImageFileName"]     = odr["ImageFileName"];
            dr["Unit"]              = odr["Unit"];
            dr["LastModifyDate"]    = DateTime.Now;
            dr["LastModifyPerson"]  = base.user.UserCode;
            dr["Edition"]           = intEdition.ToString();
            dr["Master"]            = BLL.StringRule.CutRepeat(this.txtMaster) + ":" + BLL.StringRule.CutRepeat(this.txtMasterStations);
            dr["Monitor"]           = BLL.StringRule.CutRepeat(this.txtMonitor) + ":" + BLL.StringRule.CutRepeat(this.txtMonitorStations);
            dr["Executer"]          = BLL.StringRule.CutRepeat(this.txExecuter) + ":" + BLL.StringRule.CutRepeat(this.txtExecuterStations);

            entity.AddNewRecord(dr);
            WBSDAO.InsertTaskHistory(entity);
            entity.Dispose();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取工作报告列表,分发范围之内的人都可以看到
        /// </summary>
        private void LoadExecute()
        {
            TaskExecuteStrategyBuilder asb = new TaskExecuteStrategyBuilder();
            ArrayList arA = new ArrayList();

            arA.Add("070202");
            arA.Add(user.UserCode);
            arA.Add(user.BuildStationCodes());
            asb.AddStrategy(new Strategy(DAL.QueryStrategy.TaskExecuteStrategyName.AccessRange, arA));
            asb.AddOrder("ExecuteDate", false);
            string     sql = asb.BuildMainQueryString();
            QueryAgent qa  = new QueryAgent();

            qa.SetTopNumber(this.intListExecuteNum);
            EntityData entityExecute = qa.FillEntityData("TaskExecute", sql);

            qa.Dispose();
            //EntityData entityExecute = WBSDAO.GetTaskExecuteDeskTop(((User)Session["User"]).UserCode);
            //EntityData entityWBS = null;
            if (entityExecute.HasRecord())
            {
                //点更多时,查看第1条所在项目
                this.imgOpenMoreTaskExecute.Attributes["ProjectCode"] = entityExecute.CurrentTable.Rows[0]["ProjectCode"].ToString();

                DataTable dtExecuteNew = entityExecute.CurrentTable;
                dtExecuteNew.Columns.Add("Img", System.Type.GetType("System.String"));
                dtExecuteNew.Columns.Add("TaskName", System.Type.GetType("System.String"));
                foreach (DataRow dr in dtExecuteNew.Rows)
                {
                    try
                    {
                        string     tmp       = dr["WBSCode"].ToString();
                        EntityData entityWBS = WBSDAO.GetV_TaskByCode(tmp);
                        if (entityWBS.HasRecord())
                        {
                            dr["WBSCode"]  = entityWBS.CurrentTable.Rows[0]["WBSCode"].ToString();
                            dr["TaskName"] = entityWBS.CurrentTable.Rows[0]["TaskName"].ToString();
                            string strName = entityWBS.CurrentTable.Rows[0]["TaskName"].ToString();
                            if (strName.Length > 8)
                            {
                                dr["TaskName"] = strName.Substring(0, 8) + "...";
                            }
                            if (entityWBS.CurrentTable.Rows[0]["ImportantLevel"].ToString() == "1")
                            {
                                dr["Img"] = "<img src=\"images/icon_important.gif\" width=\"17\" height=\"18\">";
                            }
                            string strTmp = dr["Detail"].ToString();
                            if (strTmp.Length > 8)
                            {
                                dr["Detail"] = Server.HtmlEncode(dr["Detail"].ToString().Substring(0, 8) + "...");
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message + ":获取工作报告列表失败", ex);
                    }
                }
                DataView dv = dtExecuteNew.DefaultView;
                dv.Sort = "ExecuteDate desc";
                this.rpExecute.DataSource = dv;
                this.rpExecute.DataBind();
            }
            entityExecute.Dispose();
        }
Ejemplo n.º 3
0
        protected void btnSave_ServerClick(object sender, System.EventArgs e)
        {
            try
            {
//				bool isNew = false;
                string TempletName = "";

                if (this.rdoType0.Checked)
                {
//					isNew = true;

                    if (this.txtTempletName.Text.Trim().Length == 0)
                    {
                        Response.Write(Rms.Web.JavaScript.Alert(true, "模板名称不能为空 !"));
                        return;
                    }

                    TempletName = this.txtTempletName.Text;

                    //模板名称不能重复
                    EntityData entityT = DAL.EntityDAO.CBSDAO.GetTempletByType("WBSTask");
                    if (entityT.HasRecord())
                    {
                        if (entityT.CurrentTable.Select("Title='" + TempletName + "'").Length > 0)
                        {
                            Response.Write(Rms.Web.JavaScript.Alert(true, string.Format("模板名称“{0}”已存在,请重新输入", TempletName)));
                            return;
                        }
                    }
                    entityT.Dispose();
                }
                else
                {
//					isNew = false;

                    if (this.sltTemplet.Value.Trim().Length < 0)
                    {
                        Response.Write(Rms.Web.JavaScript.Alert(true, "请选择模板 !"));
                        return;
                    }

                    TempletName = this.sltTemplet.Items[this.sltTemplet.SelectedIndex].Text;

                    //删除原模板
                    string     TempletCode = this.sltTemplet.Value;
                    EntityData entityOld   = DAL.EntityDAO.WBSDAO.GetStandard_WBSTempletByCode(TempletCode);
                    DAL.EntityDAO.WBSDAO.DeleteStandard_WBSTemplet(entityOld);
                    entityOld.Dispose();
                }

                string templetType = "WBSTask";
                //工作项信息
                string     RootWBSCode = this.txtWBSCode.Value;
                EntityData entity      = DAL.EntityDAO.WBSDAO.GetTaskByCode(RootWBSCode);
                entity.Dispose();
                if (!entity.HasRecord())
                {
                    Response.Write(Rms.Web.JavaScript.Alert(true, "工作项不存在"));
                    return;
                }
                int    RootDeep           = entity.GetInt("deep");
                string RootFullCode       = entity.GetString("FullCode");
                string RootParentFullCode = entity.GetString("FullCode").Replace("-" + RootWBSCode, "");

                string curCode = DAL.EntityDAO.SystemManageDAO.GetNewSysCode("Templet");
                entity = new EntityData("Standard_WBSTemplet");

                entity.SetCurrentTable("Templet");
                DataRow drTemplet = entity.GetNewRecord();
                drTemplet["TITLE"]       = TempletName;
                drTemplet["TempletCode"] = curCode;
                drTemplet["XcDate"]      = this.xc_date.Value;
                drTemplet["TempletType"] = templetType;

                entity.AddNewRecord(drTemplet);

                entity.SetCurrentTable("WBSTemplet");

                DAL.QueryStrategy.WBSStrategyBuilder WSB = new RmsPM.DAL.QueryStrategy.WBSStrategyBuilder();
                WSB.AddStrategy(new Strategy(DAL.QueryStrategy.WBSStrategyName.ProjectCode, txtProjectCode.Value));
//				WSB.AddStrategy(new Strategy(DAL.QueryStrategy.WBSStrategyName.WBSCode,txtWBSCode.Value));
                string     sql        = WSB.BuildMainQueryString();
                QueryAgent QA         = new QueryAgent();
                EntityData entityTask = QA.FillEntityData("Task", sql + " and (WBSCode = '" + RootWBSCode + "' or FullCode like '" + RootFullCode + "-%')");

                QA.Dispose();

                DataRow drWBSTemplet = null;
                DataRow drTask       = null;

                int iCount = entityTask.CurrentTable.Rows.Count;

                for (int i = 0; i < iCount; i++)
                {
                    // 记录原先TASK表中的所有内容
                    entityTask.SetCurrentRow(i);
                    drTask = entityTask.CurrentRow;
                    string tmpletItemCode = DAL.EntityDAO.SystemManageDAO.GetNewSysCode("WBSTempletItemCode");
                    string wbsCode        = entityTask.GetString("WBSCode");
                    drWBSTemplet = entity.GetNewRecord();

                    drWBSTemplet["WBSTempletItemCode"] = tmpletItemCode;
                    drWBSTemplet["TempletCode"]        = curCode;

                    drWBSTemplet["WBSCode"]       = drTask["WBSCode"];
                    drWBSTemplet["TaskCode"]      = drTask["TaskCode"];
                    drWBSTemplet["TaskName"]      = drTask["TaskName"];
                    drWBSTemplet["OutLineNumber"] = drTask["OutLineNumber"];
                    drWBSTemplet["SortID"]        = drTask["SortID"];

                    if (entityTask.GetString("WBSCode") == RootWBSCode)
                    {
                        drWBSTemplet["ParentCode"] = "";
                    }
                    else
                    {
                        drWBSTemplet["ParentCode"] = drTask["ParentCode"];
                    }

                    drWBSTemplet["FullCode"] = drTask["FullCode"].ToString().Replace(RootParentFullCode + "-", "");

                    drWBSTemplet["Deep"] = BLL.ConvertRule.ToInt(drTask["Deep"]) - RootDeep + 1;

                    drWBSTemplet["PlannedStartDate"]  = drTask["PlannedStartDate"];
                    drWBSTemplet["PlannedFinishDate"] = drTask["PlannedFinishDate"];

                    drWBSTemplet["ActualStartDate"]  = drTask["ActualStartDate"];
                    drWBSTemplet["ActualFinishDate"] = drTask["ActualFinishDate"];

                    drWBSTemplet["EarlyFinishDate"] = drTask["EarlyFinishDate"];
                    drWBSTemplet["EarlyStartDate"]  = drTask["EarlyStartDate"];

                    drWBSTemplet["LastFinishDate"] = drTask["LastFinishDate"];
                    drWBSTemplet["LastStartDate"]  = drTask["LastStartDate"];

                    drWBSTemplet["Duration"]       = drTask["Duration"];
                    drWBSTemplet["Remark"]         = drTask["Remark"];
                    drWBSTemplet["ImportantLevel"] = drTask["ImportantLevel"];
                    drWBSTemplet["Flag"]           = drTask["Flag"];
                    drWBSTemplet["ImageFileName"]  = drTask["ImageFileName"];

                    entity.AddNewRecord(drWBSTemplet);
                }

                //entityWBS.Dispose();
                entityTask.Dispose();
                WBSDAO.SubmitAllStandard_WBSTemplet(entity);
                entity.Dispose();


                Response.Write(JavaScript.ScriptStart);
//				Response.Write(JavaScript.Alert(false,"导出成功 !"));
                Response.Write("window.close();");
                Response.Write(JavaScript.ScriptEnd);
            }
            catch (Exception ex)
            {
                ApplicationLog.WriteLog(this.ToString(), ex, "");
                Response.Write(Rms.Web.JavaScript.Alert(true, "导出出错:" + ex.Message));
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 工作状态变更提醒
        /// </summary>
        public void Remind(string strTaskName, string strWBSCode)
        {
            // 检测是否已经定义了提醒
            EntityData entityRemind = DAL.EntityDAO.RemindDAO.GetAllRemindStrategy();

            DataRow[] ardr = entityRemind.CurrentTable.Select("Type='3' and IsActive='1' and ProjectCode='" + (string)ViewState["ProjectCode"] + "'");
            for (int m = 0; m < ardr.Length; m++)
            {
                // 取得定义的提醒人员类型
                string strRemindType = ardr[m]["ObjectCode"].ToString();
                double strRemindDay  = double.Parse(ardr[m]["RemindDay"].ToString());

                EntityData entityUser = WBSDAO.GetTaskPersonByWBSCode(strWBSCode);
                if (entityUser.HasRecord())
                {
                    DataTable dtUserNew = entityUser.CurrentTable;
                    for (int i = 0; i < dtUserNew.Rows.Count; i++)
                    {
                        if (strRemindType.IndexOf('0') > -1 && dtUserNew.Rows[i]["Type"].ToString() == "0") //0参与,1监督,2负责,3工作报告分发范围
                        {
                            if (dtUserNew.Rows[i]["RoleType"].ToString() == "0")                            // 0代表人,1代表岗位
                            // 3代表工作变更提醒的定义
                            {
                                RmsPM.Web.Remind.RemindModify.SaveNewRemind("3", strWBSCode, dtUserNew.Rows[i]["UserCode"].ToString(), strTaskName, DateTime.Now, DateTime.Now.AddDays(strRemindDay));
                            }
                            if (dtUserNew.Rows[i]["RoleType"].ToString() == "1")
                            {
                                // 取得某个岗位下的所有人
                                EntityData entityRemindUser = BLL.SystemRule.GetUserByStation(dtUserNew.Rows[i]["UserCode"].ToString());
                                if (entityRemindUser.HasRecord())
                                {
                                    DataTable dt = entityRemindUser.CurrentTable;
                                    for (int j = 0; j < dt.Rows.Count; j++)
                                    {
                                        RmsPM.Web.Remind.RemindModify.SaveNewRemind("3", strWBSCode, dt.Rows[j]["UserCode"].ToString(), strTaskName, DateTime.Now, DateTime.Now.AddDays(strRemindDay));
                                    }
                                }
                            }
                        }
                        if (strRemindType.IndexOf('1') > -1 && dtUserNew.Rows[i]["Type"].ToString() == "1") //0参与,1监督,2负责,3工作报告分发范围
                        {
                            if (dtUserNew.Rows[i]["RoleType"].ToString() == "0")                            // 0代表人,1代表岗位
                            // 3代表工作变更提醒的定义
                            {
                                RmsPM.Web.Remind.RemindModify.SaveNewRemind("3", strWBSCode, dtUserNew.Rows[i]["UserCode"].ToString(), strTaskName, DateTime.Now, DateTime.Now.AddDays(strRemindDay));
                            }
                            if (dtUserNew.Rows[i]["RoleType"].ToString() == "1")
                            {
                                // 取得某个岗位下的所有人
                                EntityData entityRemindUser = BLL.SystemRule.GetUserByStation(dtUserNew.Rows[i]["UserCode"].ToString());
                                if (entityRemindUser.HasRecord())
                                {
                                    DataTable dt = entityRemindUser.CurrentTable;
                                    for (int j = 0; j < dt.Rows.Count; j++)
                                    {
                                        RmsPM.Web.Remind.RemindModify.SaveNewRemind("3", strWBSCode, dt.Rows[j]["UserCode"].ToString(), strTaskName, DateTime.Now, DateTime.Now.AddDays(strRemindDay));
                                    }
                                }
                            }
                        }
                        if (strRemindType.IndexOf('2') > -1 && dtUserNew.Rows[i]["Type"].ToString() == "2") //0参与,1监督,2负责,3工作报告分发范围
                        {
                            if (dtUserNew.Rows[i]["RoleType"].ToString() == "0")                            // 0代表人,1代表岗位
                            // 3代表工作变更提醒的定义
                            {
                                RmsPM.Web.Remind.RemindModify.SaveNewRemind("3", strWBSCode, dtUserNew.Rows[i]["UserCode"].ToString(), strTaskName, DateTime.Now, DateTime.Now.AddDays(strRemindDay));
                            }
                            if (dtUserNew.Rows[i]["RoleType"].ToString() == "1")
                            {
                                // 取得某个岗位下的所有人
                                EntityData entityRemindUser = BLL.SystemRule.GetUserByStation(dtUserNew.Rows[i]["UserCode"].ToString());
                                if (entityRemindUser.HasRecord())
                                {
                                    DataTable dt = entityRemindUser.CurrentTable;
                                    for (int j = 0; j < dt.Rows.Count; j++)
                                    {
                                        RmsPM.Web.Remind.RemindModify.SaveNewRemind("3", strWBSCode, dt.Rows[j]["UserCode"].ToString(), strTaskName, DateTime.Now, DateTime.Now.AddDays(strRemindDay));
                                    }
                                }
                            }
                        }
                    }
                }
                entityUser.Dispose();
            }
            entityRemind.Dispose();
//			EntityData entityUser = WBSDAO.GetTaskPersonByWBSCode(strWBSCode);
//			if (entityUser.HasRecord())
//			{
//				DataTable dtUserNew = entityUser.CurrentTable;
//				for (int i = 0; i < dtUserNew.Rows.Count; i++)
//				{
//					// dtUserNew.Rows[i]["Type"].ToString() 为0参与,1监督,2负责,3工作报告分发范围
//					if(dtUserNew.Rows[i]["Type"].ToString()!="3")
//					{
//						// 对当前用户类型所在的岗位的提醒天数
//						double dblDurDays = 0.0;
//						RmsPM.Web.Desktop myRemind = new Desktop();
//						// 取得岗位
//						string strRole = myRemind.GetUserStation(dtUserNew.Rows[i]["UserCode"].ToString());
//						// 根据岗位取得设定天数
//						EntityData entityRemind =DAL.EntityDAO.RemindDAO.GetRemindStrategyByRoleCode(strRole);
//						if (entityRemind.HasRecord())
//						{
//							dblDurDays = double.Parse(entityRemind.GetInt("RemindDay").ToString());
//						}
//						myRemind.SaveNewRemind("3",strWBSCode,dtUserNew.Rows[i]["UserCode"].ToString(),strTaskName,DateTime.Now,DateTime.Now.AddDays(dblDurDays)); // 3代表工作变更提醒的定义
//					}
//				}
//			}
//			entityUser.Dispose();
        }
Ejemplo n.º 5
0
        private void InData(string templetCode)
        {
            ViewState["ProjectCode"] = Request["ProjectCode"].ToString();
            string projectCode = (string)ViewState["ProjectCode"];

            //EntityData del=WBSDAO.GetTaskByProject((string)ViewState["ProjectCode"]);
            //获取当前工作项结构,并删除之
            DAL.QueryStrategy.WBSStrategyBuilder WSB = new RmsPM.DAL.QueryStrategy.WBSStrategyBuilder();
            WSB.AddStrategy(new Strategy(DAL.QueryStrategy.WBSStrategyName.ProjectCode, (string)ViewState["ProjectCode"]));
            string     sql           = WSB.BuildMainQueryString();
            QueryAgent QA            = new QueryAgent();
            EntityData entityProject = QA.FillEntityData("Task", sql + " and Flag = 1");
            EntityData del           = QA.FillEntityData("Task", sql + " and Flag = 0 ");

            string ProjectWBSCode = "";

            if (entityProject.HasRecord())
            {
                ProjectWBSCode = entityProject.GetString("WBSCode");
            }
            entityProject.Dispose();
            QA.Dispose();

            if (del.HasRecord())
            {
                int iCount = del.CurrentTable.Rows.Count;
                for (int i = 0; i < iCount; i++)
                {
                    DeleteStandard_WBS(del.CurrentTable.Rows[i]["WBSCode"].ToString());
                }
            }
            del.Dispose();

            EntityData entity = WBSDAO.GetStandard_WBSTempletByCode(templetCode);

            if (entity.HasRecord())
            {
                entity.SetCurrentTable("WBSTemplet");
                entity.CurrentTable.Columns.Add("NewWBSCode");
                entity.CurrentTable.Columns.Add("NewFullCode");

                /*
                 * // 取任务项中最早的计划开始时间作为项目的开始时间,
                 * // 用来计算与新项目的开始时间的相对值
                 * DateTime dateBaseStart;
                 * DataRow[] rowDate = entity.CurrentTable.Select("PlannedStartDate is not null","PlannedStartDate");
                 * if (rowDate.Length > 0)
                 * {
                 *      dateBaseStart = (DateTime)rowDate[0]["PlannedStartDate"];
                 * }
                 *
                 * DateTime dateNewStartDate = DateTime.Parse( this.dtbProjectStartDate.Value);
                 * TimeSpan bts = dateNewStartDate - dateBaseStart ;
                 * int iSPDate = bts.Days;							// 新老项目的时间错误天数
                 */

                // 按照Deep顺序生成新的WBSCode和FullCode
                DataRow[] drs    = entity.CurrentTable.Select("", "Deep");
                int       iCount = entity.CurrentTable.Rows.Count;
                for (int i = 0; i < iCount; i++)
                {
                    string newWBSCode = DAL.EntityDAO.SystemManageDAO.GetNewSysCode("WBS");
                    drs[i]["NewWBSCode"] = newWBSCode;
                    string parentCode = "";
                    if (!drs[i].IsNull("ParentCode"))
                    {
                        parentCode = (string)drs[i]["ParentCode"];
                    }

                    string newParentFullCode = "";
                    string newFullCode       = "";
                    string newParentCode     = "";
                    if (parentCode != "")
                    {
                        DataRow[] pDrs = entity.CurrentTable.Select("WBSCode='" + parentCode + "'");
                        if (pDrs.Length > 0)
                        {
                            newParentFullCode = (string)pDrs[0]["NewFullCode"];
                            newParentCode     = (string )pDrs[0]["NewWBSCode"];
                        }
                    }
                    else
                    {
                        newParentCode     = ProjectWBSCode;
                        newParentFullCode = ProjectWBSCode;
                    }
                    if (newParentFullCode == "")
                    {
                        newFullCode = newWBSCode;
                    }
                    else
                    {
                        newFullCode = newParentFullCode + "-" + newWBSCode;
                    }

                    drs[i]["NewFullCode"] = newFullCode;
                    drs[i]["ParentCode"]  = newParentCode;
                }

                // 取得根节点人权限
                string     strUser    = "";
                string     strStation = "";
                EntityData entityUser = WBSDAO.GetTaskPersonByWBSCode(ProjectWBSCode);
                if (entityUser.HasRecord())
                {
                    DataTable dtUserNew = entityUser.CurrentTable.Copy();
                    for (int i = 0; i < dtUserNew.Rows.Count; i++)
                    {
                        if (dtUserNew.Rows[i]["RoleType"].ToString() == "0")                      // 类型为人
                        {
                            if (dtUserNew.Rows[i]["Type"].ToString() == "2")                      // 负责人
                            {
                                strUser += (strUser == "")?"":",";
                                strUser += dtUserNew.Rows[i]["UserCode"].ToString();
                            }
                        }
                        if (dtUserNew.Rows[i]["RoleType"].ToString() == "1")                      // 类型为岗位
                        {
                            if (dtUserNew.Rows[i]["Type"].ToString() == "2")                      // 负责人
                            {
                                strStation += (strStation == "")?"":",";
                                strStation += dtUserNew.Rows[i]["UserCode"].ToString();
                            }
                        }
                    }
                }
                entityUser.Dispose();

                EntityData task = new EntityData("Task");
                //DataRow newWBSRow = null;
                DataRow newTaskRow = null;
                for (int i = 0; i < iCount; i++)
                {
                    newTaskRow            = task.GetNewRecord();
                    newTaskRow["WBSCode"] = drs[i]["NewWBSCode"];

                    newTaskRow["FullCode"] = drs[i]["NewFullCode"];

                    newTaskRow["ProjectCode"]   = projectCode;
                    newTaskRow["TaskName"]      = drs[i]["TaskName"];
                    newTaskRow["OutLineNumber"] = drs[i]["OutLineNumber"];
                    newTaskRow["SortID"]        = drs[i]["SortID"];
                    newTaskRow["ParentCode"]    = drs[i]["ParentCode"];

                    newTaskRow["Deep"] = drs[i]["Deep"];

                    newTaskRow["TaskCode"] = "";                    //DAL.EntityDAO.SystemManageDAO.GetNewSysCode("Task");

                    newTaskRow["WBSCode"]     = drs[i]["NewWBSCode"];
                    newTaskRow["ProjectCode"] = projectCode;

                    newTaskRow["PlannedStartDate"]  = drs[i]["PlannedStartDate"];
                    newTaskRow["PlannedFinishDate"] = drs[i]["PlannedFinishDate"];

                    /*
                     * if ( drs[i].IsNull("PlannedStartDate"))
                     *      newTaskRow["PlannedStartDate"]= System.DBNull.Value;
                     * else
                     *      newTaskRow["PlannedStartDate"]= ((DateTime)drs[i]["PlannedStartDate"]).AddDays( iSPDate) ;
                     *
                     * if ( drs[i].IsNull("PlannedFinishDate"))
                     *      newTaskRow["PlannedFinishDate"]= System.DBNull.Value;
                     * else
                     *      newTaskRow["PlannedFinishDate"]= ((DateTime) drs[i]["PlannedFinishDate"]).AddDays(iSPDate);
                     *
                     * if ( drs[i].IsNull("ActualStartDate"))
                     *      newTaskRow["ActualStartDate"]= System.DBNull.Value;
                     * else
                     *      newTaskRow["ActualStartDate"]= ((DateTime)drs[i]["ActualStartDate"]).AddDays( iSPDate) ;
                     *
                     * if ( drs[i].IsNull("ActualFinishDate"))
                     *      newTaskRow["ActualFinishDate"]= System.DBNull.Value;
                     * else
                     *      newTaskRow["ActualFinishDate"]= ((DateTime) drs[i]["ActualFinishDate"]).AddDays(iSPDate);
                     *
                     * if ( drs[i].IsNull("EarlyFinishDate") )
                     *      newTaskRow["EarlyFinishDate"]= System.DBNull.Value;
                     * else
                     *      newTaskRow["EarlyFinishDate"]= ((DateTime)drs[i]["EarlyFinishDate"]).AddDays(iSPDate);
                     *
                     * if ( drs[i].IsNull("EarlyStartDate"))
                     *      newTaskRow["EarlyStartDate"] = System.DBNull.Value;
                     * else
                     *      newTaskRow["EarlyStartDate"]= ((DateTime)drs[i]["EarlyStartDate"]).AddDays(iSPDate);
                     *
                     * if ( drs[i].IsNull("LastFinishDate"))
                     *      newTaskRow["LastFinishDate"]= System.DBNull.Value;
                     * else
                     *      newTaskRow["LastFinishDate"]= ((DateTime)drs[i]["LastFinishDate"]).AddDays(iSPDate);
                     *
                     * if ( drs[i].IsNull("LastStartDate"))
                     *      newTaskRow["LastStartDate"]= System.DBNull.Value;
                     * else
                     *      newTaskRow["LastStartDate"]= ((DateTime)drs[i]["LastStartDate"]).AddDays(iSPDate);
                     */

                    newTaskRow["Duration"]        = drs[i]["Duration"];
                    newTaskRow["Remark"]          = drs[i]["Remark"];
                    newTaskRow["Status"]          = 0;
                    newTaskRow["Flag"]            = 0;
                    newTaskRow["ImportantLevel"]  = drs[i]["ImportantLevel"];
                    newTaskRow["CompletePercent"] = 0;
                    newTaskRow["ImageFileName"]   = drs[i]["ImageFileName"];

                    task.AddNewRecord(newTaskRow);

                    // 添加资源权限
                    // 保存资源
                    //this.SaveRS(drs[i]["NewWBSCode"].ToString(),strUser,strStation,"070101,070102,070103,070104,070105,070106,070107,070108,070109,070110");// 初始拥有工作的全部权限
                }

                DAL.EntityDAO.WBSDAO.InsertTask(task);
                task.Dispose();
            }
            entity.Dispose();
        }