예제 #1
0
        private void InitPage()
        {
            Serial = int.Parse(Request.Params["Serial"]);
            string PmsId = Request.Params["PmsID"];
            string crId  = Request.Params["CrId"];
            //Abel test用
            //Serial = 697;
            //PmsId = "PMS201303010003";

            SdpDetail sdpDetailParms = new SdpDetail();

            sdpDetailParms.Serial = Serial;
            IList <PmsHead> pmsHead = new PmsHeadBiz().SelectPmsHeadByPmsId(PmsId);

            ;
            PmsHead ph = pmsHead[0];

            TextBoxCrNo.Text   = crId;
            TextBoxCrName.Text = ph.PmsName;
            IList <SdpDetail> sdpDetailList = new SdpDetailBiz().SelectSdpDetail(sdpDetailParms);

            if (sdpDetailList == null && sdpDetailList.Count == 0)
            {
                Msgbox("Data is null");
                return;
            }
            SdpDetailResult = (sdpDetailList == null || sdpDetailList.Count == 0) ? new SdpDetail() : sdpDetailList[0];
            ApprovedOutData();
            ControlEnabled(SdpDetailResult.TaskStatus);
        }
예제 #2
0
        protected void ButtonSave_Click(object sender, EventArgs e)
        {
            SdpDetail    sdpDetail    = new SdpDetail();
            SdpDetailBiz sdpDetailBiz = new SdpDetailBiz();
            bool         result       = true;

            sdpDetail.Resource = this.DropDownListNewResource.Text.Trim();
            sdpDetail.Pmsid    = PmsId;
            string[] serialArray = Serials.Split(';');
            foreach (string serial in serialArray)
            {
                sdpDetail.Serial = int.Parse(serial);
                if (!sdpDetailBiz.UpdateSdpDetailResource(sdpDetail))
                {
                    result = false;
                }
            }
            if (!result)
            {
                Msgbox("Update resource failed!");
                return;
            }
            else
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "SaveSuccess();", true);
            }
        }
예제 #3
0
        protected void ButtonSave_Click(object sender, EventArgs e)
        {
            SdpDetailBiz sdpDetailBiz = new SdpDetailBiz();
            SdpDetail    sdpDetail    = new SdpDetail();
            DateTime     dateTime     = PmsSysBiz.GetDBDateTime();

            sdpDetail.Pmsid = PmsId;
            sdpDetail.Phase = Phase;
            if (PhaseNull)
            {
                sdpDetail.Phase = DropDownListPhases.Text.Trim();
            }
            sdpDetail.TaskName        = TextBoxTaskName.Text.Trim();
            sdpDetail.OperationType   = int.Parse(DropDownListOperationType.Text.Trim());
            sdpDetail.TaskType        = int.Parse(DropDownListTaskType.Text.Trim());
            sdpDetail.FunctionType    = int.Parse(DropDownListFunctionType.Text.Trim());
            sdpDetail.ProgramLanguage = int.Parse(DropDownListProgramLanguage.Text.Trim());
            sdpDetail.TaskComplexity  = int.Parse(DropDownListTaskComplexity.Text.Trim());
            //sdpDetail.Actualcost = double.Parse(TextBoxRefCost.Text.Trim());
            sdpDetail.Refcost        = double.Parse(HiddenFieldRefCost.Value.Trim());
            sdpDetail.Plancost       = double.Parse(TextBoxPlanCost.Text.Trim());
            sdpDetail.Auditor        = new BaseDataUserBiz().SelectLeaderByLoginName(LoginName);
            HiddenFieldAuditor.Value = sdpDetail.Auditor;
            IList <PmsSys> pmsSysList = new PmsSysBiz().SelectData2ByTypeData1("PM", "AuditAgent", sdpDetail.Auditor);

            sdpDetail.AuditorAgent        = (pmsSysList == null || pmsSysList.Count == 0) ? "" : pmsSysList.FirstOrDefault().Data2;
            HiddenFieldAuditorAgent.Value = sdpDetail.AuditorAgent;
            sdpDetail.Planstartday        = DateTime.Parse(DateTextBoxPlanStartDate.Text.Trim());
            sdpDetail.Planendday          = DateTime.Parse(DateTextBoxPlanEndDate.Text.Trim());
            sdpDetail.Resource            = DropDownListResource.Text.Trim();
            //sdpDetail.Role = DropDownListRole.Text.Trim();
            sdpDetail.Role           = HiddenFieldRole.Value.Trim();
            sdpDetail.ScheduleRemark = TextBoxPlanRemark.Text.Trim();
            sdpDetail.AuditStatus    = 1;
            sdpDetail.TaskStatus     = 1;
            sdpDetail.Taskno         = 1;
            sdpDetail.Iseditable     = "Y";
            sdpDetail.Deleteflag     = "N";
            sdpDetail.Createdate     = dateTime;
            sdpDetail.Createuser     = LoginName;
            sdpDetail.Maintaindate   = dateTime;
            sdpDetail.Maintainuser   = LoginName;

            TaskSerial = sdpDetailBiz.InsertSdpDetail(sdpDetail);
            HiddenFieldSerial.Value = TaskSerial.ToString();
            if (TaskSerial > 0)
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "SaveSuccess();", true);
            }
            else
            {
                Msgbox("Save the new item failed!");
                return;
            }
            //更新head表的PlanStartDate
            new PmsHeadBiz().UpdatePmsHeadPlanStartDate(PmsId);
        }
예제 #4
0
        public bool DeleteSdpDetail(string serial)
        {
            int result = new SdpDetailBiz().DeleteSdpDetail(serial);

            if (result <= 0)
            {
                return(false);
            }
            return(true);
        }
예제 #5
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            bool updateTrue;

            if (this.HiddenButtonName.Value == "Save" || this.HiddenButtonName.Value == "Reactive" || this.HiddenButtonName.Value == "Pending")
            {
                SdpDetailResult.Actualstartday   = (this.DateTextBoxActualStartDate.Text.Trim() == "") ? new DateTime() : DateTime.Parse(this.DateTextBoxActualStartDate.Text.Trim());
                SdpDetailResult.Actualendday     = (this.DateTextBoxActualEndDate.Text.Trim() == "") ? new DateTime() : DateTime.Parse(this.DateTextBoxActualEndDate.Text.Trim());
                SdpDetailResult.Actualcost       = (this.TextBoxActualCost.Text.Trim() == "") ? 0 : double.Parse(this.TextBoxActualCost.Text.Trim());
                SdpDetailResult.Completedpercent = (this.HiddenPercent.Value == "") ? 0 : double.Parse(this.HiddenPercent.Value);
                SdpDetailResult.ExecuteRemark    = this.TextBoxExecuteRemark.Text;
                SdpDetailResult.TaskStatus       = int.Parse(this.HiddenTaskStatus.Value);

                updateTrue = new SdpDetailBiz().UpdateSdpDetail(SdpDetailResult);
            }
            else if (this.HiddenButtonName.Value == "HardClose")
            {
                SdpDetailResult.TaskStatus       = int.Parse(this.HiddenTaskStatus.Value);
                SdpDetailResult.Actualendday     = PmsSysBiz.GetDBDateTime();
                SdpDetailResult.Completedpercent = 100d;

                updateTrue = new SdpDetailBiz().UpdateSdpDetail(SdpDetailResult);
            }
            else
            {
                SdpDetailResult.TaskStatus = int.Parse(this.HiddenTaskStatus.Value);
                updateTrue = new SdpDetailBiz().UpdateSdpDetail(SdpDetailResult);
            }

            if (this.HiddenButtonName.Value == "Save" && updateTrue)
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "SaveSuccess();", true);
                //更新head表的ActualStartDate
                new PmsHeadBiz().UpdatePmsHeadActualStartDate(SdpDetailResult.Pmsid);
            }
            if (!updateTrue)
            {
                Msgbox("Update fails!");
            }

            SdpDetail sdpDetailParms = new SdpDetail();

            sdpDetailParms.Serial = Serial;

            SdpDetailResult                        = new SdpDetailBiz().SelectSdpDetail(sdpDetailParms)[0];
            this.TextBoxTaskStatus.Text            = SdpDetailResult.TaskStatusDesc;
            this.HiddenFieldResultTaskStatus.Value = SdpDetailResult.TaskStatus.ToString();
            ControlEnabled(SdpDetailResult.TaskStatus);
            InitPage();
        }
예제 #6
0
        public bool DeleteSdpDetailBySerials(string serials)
        {
            string[] serialArray = serials.Split(';');
            int      result;

            foreach (string serial in serialArray)
            {
                result = new SdpDetailBiz().DeleteSdpDetail(serials);
                if (result <= 0)
                {
                    return(false);
                }
            }
            return(true);
        }
예제 #7
0
        private void BindGrid()
        {
            SdpDetail sdpDetail = new SdpDetail();

            sdpDetail.Pmsid = this.PmsID;
            sdpDetail.Phase = this.Phase.ToString();

            IList <SdpDetail> sdpDetailList = new SdpDetailBiz().SelectSdpDetail(sdpDetail);

            if (sdpDetailList != null && sdpDetailList.Count > 0)
            {
                GridViewByPhase.DataSource = sdpDetailList;
                GridViewByPhase.DataBind();
            }
        }
예제 #8
0
        private void BindGrid()
        {
            SdpDetail sdpDetail = new SdpDetail();

            sdpDetail.Pmsid       = Request.QueryString["PmsId"];
            sdpDetail.Phase       = this.Phase.ToString();
            sdpDetail.AuditStatus = (int)PmsCommonEnum.AuditStatus.HasApproved;

            IList <SdpDetail> sdpDetailList = new SdpDetailBiz().SelectSdpDetail(sdpDetail);

            if (sdpDetailList != null && sdpDetailList.Count > 0)
            {
                GridViewByPhase.DataSource = sdpDetailList;
                GridViewByPhase.DataBind();
            }
        }
예제 #9
0
        public string CheckTaskNameAndResource(string taskName, string resource, string pmsid, string phase, string role)
        {
            SdpDetail sdpDetail = new SdpDetail();

            sdpDetail.Pmsid    = pmsid;
            sdpDetail.TaskName = taskName;
            sdpDetail.Phase    = phase;
            sdpDetail.Role     = role;
            sdpDetail.Resource = resource;

            IList <SdpDetail> sdpDetailList = new SdpDetailBiz().SelectSdpDetail(sdpDetail);

            if (sdpDetailList != null && sdpDetailList.Count > 0)
            {
                if (sdpDetailList[0].TaskName == sdpDetail.TaskName && sdpDetailList[0].Resource == sdpDetail.Resource)
                {
                    return("{'Exist':'Y','TaskStatus':'" + sdpDetailList[0].TaskStatus + "','serial':'" + sdpDetailList[0].Serial + "'}");
                }
            }
            return("{'Exist':'N','TaskStatus':'0','serial':'-1'}");
        }
예제 #10
0
        private void EditOutData()
        {
            SdpDetail sdpDetailParms = new SdpDetail();

            sdpDetailParms.Serial = int.Parse(Request.Params["Serial"]);
            sdpDetailParms.Pmsid  = PmsId;
            SdpDetail SdpDetailResult = new SdpDetailBiz().SelectSdpDetail(sdpDetailParms)[0];

            this.TextBoxTaskName.Text = SdpDetailResult.TaskName;
            this.DropDownListTaskType.SelectedValue        = SdpDetailResult.TaskType.ToString();
            this.DropDownListFunctionType.SelectedValue    = SdpDetailResult.FunctionType.ToString();
            this.DropDownListProgramLanguage.SelectedValue = SdpDetailResult.ProgramLanguage.ToString();
            this.DropDownListTaskComplexity.SelectedValue  = SdpDetailResult.TaskComplexity.ToString();
            this.TextBoxRefCost.Text                = SdpDetailResult.Refcost.ToString();
            this.TextBoxPlanCost.Text               = SdpDetailResult.Plancost.ToString();
            this.DateTextBoxPlanStartDate.Text      = new PmsCommonBiz().FormatDateTime(SdpDetailResult.Planstartday.ToString("yyyy-MM-dd").Trim());
            this.DateTextBoxPlanEndDate.Text        = new PmsCommonBiz().FormatDateTime(SdpDetailResult.Planendday.ToString("yyyy-MM-dd").Trim());
            this.DropDownListResource.SelectedValue = SdpDetailResult.Resource;
            this.DropDownListRole.SelectedValue     = SdpDetailResult.Role;
            this.DropDownListRole.Items.Add(new ListItem(SdpDetailResult.Role, SdpDetailResult.Role));
            this.TextBoxPlanRemark.Text = SdpDetailResult.ScheduleRemark;
        }
예제 #11
0
        public bool UpdateSdpDetailAuditStatus(string serials, int auditStatus, string auditComment)
        {
            bool result = false;

            string[]    serialArray = serials.Split(';');
            string      serialAll   = serialArray.Aggregate(string.Empty, (current, next) => current + "'" + next + "',").TrimEnd(',');
            SdpDetail   sdpDetail   = new SdpDetail();
            PmsSdpAudit pmsSdpAudit = new PmsSdpAudit();

            sdpDetail.Serials     = serialAll;
            sdpDetail.AuditStatus = auditStatus;
            if (new SdpDetailBiz().UpdateSdpDetailAuditStatus(sdpDetail))
            {
                //同意或拒绝会新增版本
                if ((auditStatus == (int)PmsCommonEnum.AuditStatus.HasApproved) || auditStatus == (int)PmsCommonEnum.AuditStatus.BeenRejected)
                {
                    PmsSdpVersion pmsSdpVersion = new PmsSdpVersion();
                    foreach (var serial in serialArray)
                    {
                        IList <PmsSdpVersion> PmsSdpVersionList = new PmsSdpVersionBiz().SelectPmsSdpVersionByTaskno(serial);
                        IList <SdpDetail>     listSdpDetail     = new SdpDetailBiz().SelectSdpDetail(new SdpDetail {
                            Serial = int.Parse(serial)
                        });
                        if (listSdpDetail == null || listSdpDetail.Count == 0)
                        {
                            return(result);
                        }
                        sdpDetail                  = listSdpDetail.FirstOrDefault();
                        pmsSdpVersion.Taskno       = int.Parse(serial);
                        pmsSdpVersion.Pmsid        = sdpDetail.Pmsid;
                        pmsSdpVersion.PlanStartDay = sdpDetail.Planstartday;
                        pmsSdpVersion.PlanEndDay   = sdpDetail.Planendday;
                        pmsSdpVersion.PlanCost     = (float)sdpDetail.Plancost;
                        pmsSdpVersion.RefCost      = (float)sdpDetail.Refcost;
                        pmsSdpVersion.Creator      = LoginName;
                        pmsSdpVersion.CreateDate   = DateTime.Now;
                        pmsSdpVersion.Version      = (PmsSdpVersionList == null || PmsSdpVersionList.Count == 0) ? 1.0f : PmsSdpVersionList.Max(t => t.Version) + 0.1f;
                        new PmsSdpVersionBiz().InsertPmsSdpVersion(pmsSdpVersion);
                    }
                    IList <PmsSdpAudit> pmsSdpAuditList = new PmsSdpAuditBiz().SelectPmsSdpAuditByPmsId(sdpDetail.Pmsid);
                    pmsSdpAudit.Pmsid      = sdpDetail.Pmsid;
                    pmsSdpAudit.SdpVersion = (pmsSdpAuditList == null || pmsSdpAuditList.Count == 0) ? 1.0f : pmsSdpAuditList.Max(t => t.SdpVersion) + 0.1f;
                    pmsSdpAudit.Auditor    = LoginName;
                    if (auditComment == "")
                    {
                        pmsSdpAudit.AuditResult = "Approve";
                    }
                    else
                    {
                        pmsSdpAudit.AuditResult = "Reject";
                    }
                    pmsSdpAudit.AuditComment = auditComment;
                    pmsSdpAudit.CreateDate   = DateTime.Now;
                    pmsSdpAudit.Creator      = LoginName;
                    new PmsSdpAuditBiz().InsertPmsSdpAudit(pmsSdpAudit);
                }

                //发mail通知相关人员(提交人或者审核人)
                result = new MailBiz().TaskMail(serialArray[0], auditStatus);
            }
            return(result);
        }
예제 #12
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string PmsId  = Request.QueryString["PmsID"];
            string CrID   = Request.QueryString["CrId"];
            string Phase  = Request.QueryString["Phase"];
            int    Serial = 0;

            int.TryParse(Request.QueryString["Serial"], out Serial);

            if (PmsId == null || CrID == null || Phase == null || Serial == 0)
            {
                return;
            }
            IList <PmsHead> pmsHeadList = new PmsHeadBiz().SelectPmsHead(PmsId, "");
            PmsHead         pmsHead;

            if (pmsHeadList != null && pmsHeadList.Count > 0)
            {
                pmsHead = pmsHeadList[0];
            }
            else
            {
                return;
            }

            SdpDetail sdpDetailParms = new SdpDetail();

            sdpDetailParms.Serial = Serial;
            sdpDetailParms.Pmsid  = PmsId;
            IList <SdpDetail> sdpDetailList   = new SdpDetailBiz().SelectSdpDetail(sdpDetailParms);
            SdpDetail         sdpDetailResult = (sdpDetailList == null || sdpDetailList.Count == 0) ? new SdpDetail() : sdpDetailList[0];

            PmsCommonEnum.PlanPhase planPhase = (PmsCommonEnum.PlanPhase)System.Enum.Parse(typeof(PmsCommonEnum.PlanPhase), Phase);
            string phaseDescription           = planPhase.GetDescription();
            string formatPlanstartday         = new PmsCommonBiz().FormatDateTime(sdpDetailResult.Planstartday.ToString("yyyy-MM-dd").Trim());
            string formatPlanendday           = new PmsCommonBiz().FormatDateTime(sdpDetailResult.Planendday.ToString("yyyy-MM-dd").Trim());
            string resultHtml = "<table class='ViewTaskTable'>"
                                + "<tr><td><span class='ViewTaskSpan'>CR No</span></td><td colspan='3'><input type='text' class='ViewTaskOnlyTextBox' value='" + pmsHead.CrId + "' /></td></tr>"
                                + "<tr><td><span class='ViewTaskSpan'>CR Name</span></td><td colspan='3'><input type='text' class='ViewTaskOnlyTextBox' value='" + pmsHead.PmsName + "'style='width: 325px;'/></td></tr>"
                                + "<tr><td><span class='ViewTaskSpan'>任务阶段</span></td><td><input type='text' class='ViewTaskOnlyTextBox' value='" + phaseDescription + "'/></td>"
                                + "<td><span class='ViewTaskSpan'>审核状态</span></td><td><input type='text' class='ViewTaskOnlyTextBox' value='" + sdpDetailResult.AuditStatusDesc + "' /></td></tr>"
                                + "<tr><td><span class='ViewTaskSpan'>任务状态</span></td><td><input type='text' class='ViewTaskOnlyTextBox' value='" + sdpDetailResult.TaskStatusDesc + "' /></td><td>&nbsp;</td><td>&nbsp;</td></tr>" + "<tr><td><span class='ViewTaskSpan'>任务名称</span></td>"
                                + "<td colspan='3'><div style=' border-bottom: 1px solid #CCCCCC;width: 325px;  white-space: normal;text-overflow: ellipsis; text-align: Left'>" + sdpDetailResult.TaskName + "</div></td></tr>"
                                + "<tr><td><span class='ViewTaskSpan'>作业方式</span></td><td><input type='text' class='ViewTaskOnlyTextBox' value='" + sdpDetailResult.OperationTypeDesc + "'/></td>"
                                + "<td><span class='ViewTaskSpan'>任务类型</span></td><td><input type='text' class='ViewTaskOnlyTextBox' value='" + sdpDetailResult.TaskTypeDesc + "'/></td></tr>"
                                + "<tr><td><span class='ViewTaskSpan'>功能分类</span></td><td><input type='text' class='ViewTaskOnlyTextBox' value='" + sdpDetailResult.FunctionTypeDesc + "'/></td>"
                                + "<td><span class='ViewTaskSpan'>语言</span></td><td><input type='text' class='ViewTaskOnlyTextBox' value='" + sdpDetailResult.ProgramLanguageDesc + "'/></td></tr>"
                                + "<tr><td><span class='ViewTaskSpan'>复杂度</span></td>"
                                + "<td colspan='3'><input type='text' class='ViewTaskOnlyTextBox' value='" + sdpDetailResult.TaskComplexityDesc + "'/></td></tr>"
                                + "<tr><td><span class='ViewTaskSpan'>参考工时</span></td><td><input type='text' class='ViewTaskOnlyTextBox' value='" + sdpDetailResult.Actualcost + "' /></td>"
                                + "<td><span class='ViewTaskSpan'>计划工时</span></td><td><input type='text' class='ViewTaskOnlyTextBox' value='" + sdpDetailResult.Plancost + "' /></td></tr>"
                                + "<tr><td><span class='ViewTaskSpan'>计划开始</span></td><td><input type='text' class='ViewTaskOnlyTextBox' value='" + formatPlanstartday + "' /></td>"
                                + "<td><span class='ViewTaskSpan'>计划结束</span></td><td><input type='text' class='ViewTaskOnlyTextBox' value='" + formatPlanendday + "' /> </td></tr>"
                                + "<tr><td><span class='ViewTaskSpan'>指派给</span></td>"
                                + "<td><input type='text' class='ViewTaskOnlyTextBox' value='" + sdpDetailResult.Resource + "'/></td><td><span class='ViewTaskSpan'>资源角色</span></td>"
                                + "<td><input type='text' class='ViewTaskOnlyTextBox' value='" + sdpDetailResult.Role + "'/></td></tr>"
                                + "<tr><td><span class='ViewTaskSpan'>说明</span></td>"
                                + "<td colspan='3'><div style='border-bottom: 1px solid #CCCCCC; width: 325px;  white-space: normal;text-overflow: ellipsis; text-align: Left'>" + sdpDetailResult.ScheduleRemark + "</div></td></tr>";

            Response.Write(resultHtml);
        }
예제 #13
0
        private int GetAuditStatus(SdpDetail sdpDetailResult, SdpDetail sdpDetailPage)
        {
            int AuditStatus = -1;

            switch (sdpDetailResult.AuditStatus)
            {
            case 1:
                AuditStatus = 1;
                break;

            case 2:
                SdpDetail sParms = new SdpDetail();
                sParms.Serial = Serial;
                IList <SdpDetail> sdpDetailList = new SdpDetailBiz().SelectSdpDetail(sParms);
                if (sdpDetailList[0].AuditStatus != 2)
                {
                    Msgbox("Audit status has changed, please refresh. ");
                }
                else
                {
                    AuditStatus = 2;
                }
                break;

            case 3:
                if (sdpDetailResult.TaskStatus == 1)
                {
                    AuditStatus = 1;
                }
                if (sdpDetailResult.TaskStatus == 3 ||
                    sdpDetailResult.TaskStatus == 4 ||
                    sdpDetailResult.TaskStatus == 5 ||
                    sdpDetailResult.TaskStatus == 6)
                {
                    Msgbox("This audit status can not save! ");
                    break;
                }
                if (sdpDetailResult.TaskStatus == 2)
                {
                    if (hidvalueIsSave.Value != "Y")
                    {
                        ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "Test();", true);
                        break;
                    }
                    else
                    {
                        SdpDetail oldParms = new SdpDetail();
                        oldParms.Serial = Serial;
                        SdpDetail oldSdpDetail = new SdpDetailBiz().SelectSdpDetail(oldParms)[0];
                        if (oldSdpDetail.Plancost != sdpDetailPage.Plancost ||
                            oldSdpDetail.Planstartday != sdpDetailPage.Planstartday ||
                            oldSdpDetail.Planendday != sdpDetailPage.Planendday)
                        {
                            AuditStatus = 1;
                            break;
                        }
                        else
                        {
                            AuditStatus = oldSdpDetail.AuditStatus;
                        }
                    }
                }
                break;

            case 4:
                AuditStatus = 1;
                break;
            }
            return(AuditStatus);
        }
예제 #14
0
        protected void ButtonSave_Click(object sender, EventArgs e)
        {
            SdpDetailBiz sdpDetailBiz  = new SdpDetailBiz();
            SdpDetail    sdpDetailPage = SdpDetailResult;
            DateTime     dateTime      = PmsSysBiz.GetDBDateTime();

            //Check 日期是否跨周、大于三天、超过dudate
            PmsHead objHead = new PmsHeadBiz().SelectPmsHeadByPmsId(PmsId)[0];

            if (!ValidatePlanDate((TextBox)DateTextBoxPlanStartDate, (TextBox)DateTextBoxPlanEndDate, int.Parse(Phase), objHead.DueDate, objHead.Type))
            {
                return;
            }

            //如果任务类型为 Review Meeting 不检查任务名和资源等重复
            if (DropDownListTaskType.SelectedItem.Text.Trim() != "Review Meeting")
            {
                // 当TaskName或Resource发生改变时Check TaskName和Resource不能重复
                if (SdpDetailResult.TaskName != TextBoxTaskName.Text.Trim() || SdpDetailResult.Resource != DropDownListResource.Text.Trim())
                {
                    SdpDetail sdpDetail = new SdpDetail();
                    sdpDetail.Pmsid    = PmsId;
                    sdpDetail.TaskName = TextBoxTaskName.Text.Trim();
                    sdpDetail.Phase    = Phase.ToString();
                    sdpDetail.Role     = DropDownListRole.Text.Trim();
                    sdpDetail.Resource = DropDownListResource.Text.Trim();
                    IList <SdpDetail> sdpDetailList = sdpDetailBiz.SelectSdpDetail(sdpDetail);
                    if (sdpDetailList != null && sdpDetailList.Count > 0)
                    {
                        if (sdpDetailList[0].TaskName == sdpDetail.TaskName && sdpDetailList[0].Resource == sdpDetail.Resource)
                        {
                            Msgbox("The same taskname and  resource has been exist!");
                            return;
                        }
                    }
                }
            }
            sdpDetailPage.TaskName        = TextBoxTaskName.Text.Trim();
            sdpDetailPage.TaskType        = int.Parse(DropDownListTaskType.Text.Trim());
            sdpDetailPage.FunctionType    = int.Parse(DropDownListFunctionType.Text.Trim());
            sdpDetailPage.ProgramLanguage = int.Parse(DropDownListProgramLanguage.Text.Trim());
            sdpDetailPage.TaskComplexity  = int.Parse(DropDownListTaskComplexity.Text.Trim());
            //sdpDetailPage.Actualcost = double.Parse(TextBoxRefCost.Text.Trim());
            sdpDetailPage.Refcost      = double.Parse(HiddenFieldRefCost.Value.Trim());
            sdpDetailPage.Plancost     = double.Parse(TextBoxPlanCost.Text.Trim());
            sdpDetailPage.Planstartday = DateTime.Parse(DateTextBoxPlanStartDate.Text.Trim());
            sdpDetailPage.Planendday   = DateTime.Parse(DateTextBoxPlanEndDate.Text.Trim());
            sdpDetailPage.Resource     = DropDownListResource.Text.Trim();
            sdpDetailPage.Auditor      = new BaseDataUserBiz().SelectLeaderByLoginName(LoginName);
            HiddenFieldAuditor.Value   = sdpDetailPage.Auditor;
            //sdpDetailPage.Role = DropDownListRole.Text.Trim();
            sdpDetailPage.Role           = HiddenFieldRole.Value.Trim();
            sdpDetailPage.ScheduleRemark = TextBoxPlanRemark.Text.Trim();
            sdpDetailPage.Maintaindate   = dateTime;
            sdpDetailPage.Maintainuser   = LoginName;

            //获得对应AuditStatus
            //SdpDetail sParms = new SdpDetail();
            //sParms.Serial = Serial;
            //SdpDetail sResult = new SdpDetailBiz().SelectSdpDetail(sParms)[0];
            if (SdpDetailResult.AuditStatus == 0)
            {
                sdpDetailPage.AuditStatus = 1;
                sdpDetailPage.TaskStatus  = 1;
                sdpDetailPage.Iseditable  = "Y";
                sdpDetailPage.Deleteflag  = "N";
                sdpDetailPage.Createdate  = dateTime;
                sdpDetailPage.Createuser  = LoginName;
            }
            else
            {
                int auditStatus = GetAuditStatus(SdpDetailResult, sdpDetailPage);
                if (auditStatus == -1)
                {
                    return;
                }
                else
                {
                    sdpDetailPage.AuditStatus = auditStatus;
                }
            }

            if (sdpDetailBiz.UpdateSdpDetail(sdpDetailPage))
            {
                SdpDetailPage = sdpDetailPage;
                HiddenFieldAuditStatus.Value     = sdpDetailPage.AuditStatus.ToString();
                HiddenFieldAuditStatusDesc.Value = System.Enum.Parse(typeof(PmsCommonEnum.AuditStatus), sdpDetailPage.AuditStatus.ToString()).GetDescription();
                HiddenFieldTaskStatus.Value      = sdpDetailPage.TaskStatus.ToString();
                HiddenFieldTaskStatusDesc.Value  = System.Enum.Parse(typeof(PmsCommonEnum.TaskStatus), sdpDetailPage.TaskStatus.ToString()).GetDescription();


                ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "SaveSuccess();", true);
            }
            else
            {
                Msgbox("Update this item failed!");
                return;
            }
            // 更新head表的PlanStartDate
            new PmsHeadBiz().UpdatePmsHeadPlanStartDate(PmsId);
        }
예제 #15
0
        public bool UpdateSdpDetailBySerial(string serials, string sdpDetailSerials)
        {
            string[] serialArray          = serials.Split(';');
            string[] sdpDetailSerialArray = sdpDetailSerials.Split(';');

            for (int i = 0; i < serialArray.Length; i++)
            //foreach (string serial in serialArray)
            {
                TmpSdpImportdetail tmpSdpImportdetail = new TmpSdpImportdetail();
                tmpSdpImportdetail.Serial = int.Parse(serialArray[i].Trim());
                TmpSdpImportdetailBiz tmpSdpImportdetailBiz = new TmpSdpImportdetailBiz();
                var listTmpSdpImportdetail = tmpSdpImportdetailBiz.GetTmpSdpDetail(tmpSdpImportdetail);
                if (listTmpSdpImportdetail == null || listTmpSdpImportdetail.Count == 0)
                {
                    return(false);
                }
                else
                {
                    tmpSdpImportdetail = listTmpSdpImportdetail[0];
                }


                //更新sdpDetail表
                SdpDetailBiz sdpDetailBiz = new SdpDetailBiz();
                SdpDetail    sdpDetail    = new SdpDetail();
                DateTime     dateTime     = PmsSysBiz.GetDBDateTime();


                //根据pmsid和serial 定位要跟新的任务
                sdpDetail.Pmsid  = tmpSdpImportdetail.Pmsid;
                sdpDetail.Serial = int.Parse(sdpDetailSerialArray[i]);

                //获取已存在任务在 tmp_sdp_importdetail表中不存在的栏位
                SdpDetail SdpDetailResult = new SdpDetailBiz().SelectSdpDetail(sdpDetail)[0];
                sdpDetail = SdpDetailResult;

                sdpDetail.TaskName        = tmpSdpImportdetail.TaskName;
                sdpDetail.OperationType   = tmpSdpImportdetail.OperationType;
                sdpDetail.TaskType        = tmpSdpImportdetail.TaskType;
                sdpDetail.FunctionType    = tmpSdpImportdetail.FunctionType;
                sdpDetail.ProgramLanguage = tmpSdpImportdetail.ProgramLanguage;
                sdpDetail.TaskComplexity  = tmpSdpImportdetail.TaskComplexity;

                //根据条件取,取值为空->refCost=planCost
                PmsSdpRefcost sdpRefcost = new PmsSdpRefcost();
                sdpRefcost.OperationType   = sdpDetail.OperationType;
                sdpRefcost.TaskComplexity  = sdpDetail.TaskComplexity;
                sdpRefcost.Tasktype        = sdpDetail.TaskType;
                sdpRefcost.Functiontype    = sdpDetail.FunctionType;
                sdpRefcost.Programlanguage = sdpDetail.ProgramLanguage;
                IList <PmsSdpRefcost> sdpRefcostlList = new PmsSdpRefcostBiz().SelectPmsSdpRefcost(sdpRefcost);
                if (sdpRefcostlList == null || sdpRefcostlList.Count == 0)
                {
                    sdpDetail.Refcost = tmpSdpImportdetail.Plancost;
                }
                else
                {
                    sdpDetail.Refcost = sdpRefcostlList[0].Refcost;
                }
                sdpDetail.Plancost     = tmpSdpImportdetail.Plancost;
                sdpDetail.Auditor      = new BaseDataUserBiz().SelectLeaderByLoginName(LoginName);
                sdpDetail.Planstartday = tmpSdpImportdetail.Planstartday;
                sdpDetail.Planendday   = tmpSdpImportdetail.Planendday;
                sdpDetail.Resource     = tmpSdpImportdetail.Resource;
                sdpDetail.Role         = tmpSdpImportdetail.Role;
                sdpDetail.Maintaindate = dateTime;
                sdpDetail.Maintainuser = LoginName;

                if (!sdpDetailBiz.UpdateSdpDetail(sdpDetail))
                {
                    return(false);
                }
                //更新临时表Falg栏位为“Y”
                TmpSdpImportdetail tmpSdpImportdetailForUpdate = new TmpSdpImportdetail();
                tmpSdpImportdetailForUpdate.Serial = int.Parse(serialArray[i].Trim());
                if (!tmpSdpImportdetailBiz.UpdateTmpSdpDetailFlag(tmpSdpImportdetailForUpdate))
                {
                    return(false);
                }
            }
            return(true);
        }
예제 #16
0
        public bool ImportSdpDetailBySerial(string serials)
        {
            string[] serialArray = serials.Split(';');
            foreach (string serial in serialArray)
            {
                TmpSdpImportdetail tmpSdpImportdetail = new TmpSdpImportdetail();
                tmpSdpImportdetail.Serial = int.Parse(serial.Trim());
                TmpSdpImportdetailBiz tmpSdpImportdetailBiz = new TmpSdpImportdetailBiz();
                var listTmpSdpImportdetail = tmpSdpImportdetailBiz.GetTmpSdpDetail(tmpSdpImportdetail);
                if (listTmpSdpImportdetail == null || listTmpSdpImportdetail.Count == 0)
                {
                    return(false);
                }
                else
                {
                    tmpSdpImportdetail = listTmpSdpImportdetail[0];
                }


                //插入sdpDetail表
                SdpDetailBiz sdpDetailBiz = new SdpDetailBiz();
                SdpDetail    sdpDetail    = new SdpDetail();
                DateTime     dateTime     = PmsSysBiz.GetDBDateTime();

                sdpDetail.Pmsid = tmpSdpImportdetail.Pmsid;
                sdpDetail.Phase = tmpSdpImportdetail.Phase;

                sdpDetail.TaskName        = tmpSdpImportdetail.TaskName;
                sdpDetail.OperationType   = tmpSdpImportdetail.OperationType;
                sdpDetail.TaskType        = tmpSdpImportdetail.TaskType;
                sdpDetail.FunctionType    = tmpSdpImportdetail.FunctionType;
                sdpDetail.ProgramLanguage = tmpSdpImportdetail.ProgramLanguage;
                sdpDetail.TaskComplexity  = tmpSdpImportdetail.TaskComplexity;

                //根据条件取,为空就为planCost
                PmsSdpRefcost sdpRefcost = new PmsSdpRefcost();
                sdpRefcost.OperationType   = sdpDetail.OperationType;
                sdpRefcost.TaskComplexity  = sdpDetail.TaskComplexity;
                sdpRefcost.Tasktype        = sdpDetail.TaskType;
                sdpRefcost.Functiontype    = sdpDetail.FunctionType;
                sdpRefcost.Programlanguage = sdpDetail.ProgramLanguage;
                IList <PmsSdpRefcost> sdpRefcostlList = new PmsSdpRefcostBiz().SelectPmsSdpRefcost(sdpRefcost);
                if (sdpRefcostlList == null || sdpRefcostlList.Count == 0)
                {
                    sdpDetail.Refcost = tmpSdpImportdetail.Plancost;
                }
                else
                {
                    sdpDetail.Refcost = sdpRefcostlList[0].Refcost;
                }


                sdpDetail.Plancost     = tmpSdpImportdetail.Plancost;
                sdpDetail.Auditor      = new BaseDataUserBiz().SelectLeaderByLoginName(LoginName);
                sdpDetail.Planstartday = tmpSdpImportdetail.Planstartday;
                sdpDetail.Planendday   = tmpSdpImportdetail.Planendday;
                sdpDetail.Resource     = tmpSdpImportdetail.Resource;
                sdpDetail.Role         = tmpSdpImportdetail.Role;
                sdpDetail.AuditStatus  = 1;
                sdpDetail.TaskStatus   = 1;
                sdpDetail.Taskno       = 1;
                sdpDetail.Iseditable   = "Y";
                sdpDetail.Deleteflag   = "N";
                sdpDetail.Createdate   = dateTime;
                sdpDetail.Createuser   = LoginName;
                sdpDetail.Maintaindate = dateTime;
                sdpDetail.Maintainuser = LoginName;

                if (new SdpDetailBiz().InsertSdpDetail(sdpDetail) < 0)
                {
                    return(false);
                }
                //更新临时表Falg栏位为“Y”
                TmpSdpImportdetail tmpSdpImportdetailForUpdate = new TmpSdpImportdetail();
                tmpSdpImportdetailForUpdate.Serial = int.Parse(serial.Trim());
                if (!tmpSdpImportdetailBiz.UpdateTmpSdpDetailFlag(tmpSdpImportdetailForUpdate))
                {
                    return(false);
                }
            }
            return(true);
        }