Beispiel #1
0
        public void CancelAdjust()
        {
            using (TransactionScope ts = new TransactionScope())
            {
                var adjustID = Convert.ToInt32(Request.GetString("AdjustID").Trim());
                var adjust = Database.Adjusts.GetByID(adjustID);
                var adjustBeforeDetailList = Database.BeforeAdjustDetails.Where(c => c.Adjust == adjust).ToList();
                //还原于调整前明细相关的已调整设备为未调整状态
                unmarkBeforeAdjustDetail(adjust.Stage, adjustBeforeDetailList, Database);

                AdjustHistoryState state = new AdjustHistoryState();
                state.Adjust = adjust;
                state.OperateTime = System.DateTime.Now;
                state.Operator = User;
                state.State = AdjustState.Canceled;
                state.Suggestion = Request.GetString("Content");
                state.Save(Database);

                adjust.CurrentState = AdjustState.Canceled;
                adjust.Save(Database);

                ts.Complete();
            }
        }
Beispiel #2
0
        public void CancerPassAdjust()
        {
            using (TransactionScope ts = new TransactionScope())
            {
                var adjustID = Convert.ToInt32(Request.GetString("AdjustID").Trim());
                var adjust = Database.Adjusts.GetByID(adjustID);
                var type = Request.GetString("Type").Trim();
                if (type == "Pass")
                {
                    //如果是负责人
                    if (User.IsProjectManager(Database))
                    {
                        if (adjust.CurrentState == AdjustState.WaitingManagerCensor && adjust.GetProject(Database).Manager == User)
                        {
                            AdjustHistoryState state = new AdjustHistoryState();
                            state.Adjust = adjust;
                            state.OperateTime = System.DateTime.Now;
                            state.Operator = User;
                            state.State = AdjustState.WaitingCollegeCensor;
                            state.Suggestion = Request.GetString("Content");
                            state.Save(Database);
                            adjust.CurrentState = AdjustState.WaitingCollegeCensor;
                            adjust.Save(Database);
                            Message.SendMessage("设备调整审核结果", string.Format("您对项目{0}的设备调整已经由项目负责人{1}审核通过,请查看信息。下一步将进入学院审核阶段。", adjust.Project.ProjectName, User.Name), User, adjust.Operator, Database, MessageType.System);
                        }
                    }
                    //如果是学院用户
                    if (User.IsCollege(Database))
                    {
                        if (adjust.CurrentState == AdjustState.WaitingCollegeCensor)
                        {
                            AdjustHistoryState state = new AdjustHistoryState();
                            state.Adjust = adjust;
                            state.OperateTime = System.DateTime.Now;
                            state.Operator = User;
                            state.State = AdjustState.WaitingOfficeCensor;
                            state.Suggestion = Request.GetString("Content");
                            state.Save(Database);
                            adjust.CurrentState = AdjustState.WaitingOfficeCensor;
                            adjust.Save(Database);
                            Message.SendMessage("设备调整审核结果", string.Format("您对项目{0}的设备调整已经由学院管理员{1}审核通过,请查看信息。下一步将进入985办公室审核阶段。", adjust.Project.ProjectName, User.Name), User, adjust.Operator, Database, MessageType.System);

                        }

                    }
                    //如果是985
                    if (User.Is985(Database))
                    {
                        if (adjust.CurrentState == AdjustState.WaitingOfficeCensor)
                        {
                            if (adjust.Stage < 1)
                            {
                                var beforeAdjustDetailList = Database.BeforeAdjustDetails.Where(c => c.Adjust == adjust).ToList();
                                //处理受影响的条目,不可逆
                                createAdjustInfluencedItemsAndRedirectTaskToNewPlan(adjust.Stage, beforeAdjustDetailList, Database);

                                AdjustHistoryState state = new AdjustHistoryState();
                                state.Adjust = adjust;
                                state.OperateTime = System.DateTime.Now;
                                state.Operator = User;
                                state.State = AdjustState.OfficeAgree;
                                state.Suggestion = Request.GetString("Content");
                                state.Save(Database);
                                adjust.CurrentState = AdjustState.OfficeAgree;
                                adjust.Save(Database);
                                var before = Database.BeforeAdjustDetails.Where(c => c.Adjust == adjust);
                                foreach (var item in before)
                                {
                                    item.ConstructPlanItem.IsBeforeAdjustPassed = true;
                                    item.ConstructPlanItem.Save(Database);
                                }
                                var after = Database.AfterAdjustDetails.Where(c => c.Adjust == adjust);
                                foreach (var item in after)
                                {
                                    item.ConstructPlanItem.IsAfterAdjustPassed = true;
                                    item.ConstructPlanItem.Save(Database);
                                }
                                Message.SendMessage("设备调整审核结果", string.Format("您对项目{0}的设备调整已经由985办公室管理员{1}审核通过,请查看信息。您提交的设备调整将从此生效!", adjust.Project.ProjectName, User.Name), User, adjust.Operator, Database, MessageType.System);

                            }
                            else
                            {
                                AdjustHistoryState state = new AdjustHistoryState();
                                state.Adjust = adjust;
                                state.OperateTime = System.DateTime.Now;
                                state.Operator = User;
                                state.State = AdjustState.WaitingStateAssetOfficeCensor;
                                state.Suggestion = Request.GetString("Content");
                                state.Save(Database);
                                adjust.CurrentState = AdjustState.WaitingStateAssetOfficeCensor;
                                adjust.Save(Database);
                                Message.SendMessage("设备调整审核结果", string.Format("您对项目{0}的设备设备调整已经由学院管理员{1}审核通过,请查看信息。下一步将进入国资处审核阶段。", adjust.Project.ProjectName, User.Name), User, adjust.Operator, Database, MessageType.System);

                            }

                        }
                    }
                    //如果是国资处
                    if (User.IsStateAssetOffice(Database))
                    {
                        if (adjust.CurrentState == AdjustState.WaitingStateAssetOfficeCensor && !adjust.IsPassed(Database))
                        {

                            if (adjust.Stage == 2 || adjust.Stage == 1)
                            {
                                var beforeAdjustDetailList = Database.BeforeAdjustDetails.Where(c => c.Adjust == adjust).ToList();
                                //处理受影响的条目,不可逆
                                createAdjustInfluencedItemsAndRedirectTaskToNewPlan(adjust.Stage, beforeAdjustDetailList, Database);
                            }

                            AdjustHistoryState state = new AdjustHistoryState();
                            state.Adjust = adjust;
                            state.OperateTime = System.DateTime.Now;
                            state.Operator = User;
                            state.State = AdjustState.StateAssetOfficeAgree;
                            state.Suggestion = Request.GetString("Content");
                            state.Save(Database);

                            adjust.CurrentState = AdjustState.StateAssetOfficeAgree;
                            adjust.Save(Database);

                            var before = Database.BeforeAdjustDetails.Where(c => c.Adjust == adjust);
                            foreach (var item in before)
                            {
                                item.ConstructPlanItem.IsBeforeAdjustPassed = true;
                                item.ConstructPlanItem.Save(Database);
                                if (item.ConstructTaskItem != null)
                                {
                                    item.ConstructTaskItem.IsBeforeAdjustPassed = true;
                                    item.ConstructTaskItem.Save(Database);
                                }
                                if (item.PurchasePlanItem != null)
                                {
                                    item.PurchasePlanItem.IsBeforeAdjustPassed = true;
                                    item.PurchasePlanItem.Save(Database);
                                }
                                if (item.BidFailedResultItem != null)
                                {
                                    item.BidFailedResultItem.IsBeforeAdjustPassed = true;
                                    item.BidFailedResultItem.Save(Database);
                                }

                            }
                            var after = Database.AfterAdjustDetails.Where(c => c.Adjust == adjust);
                            foreach (var item in after)
                            {
                                item.ConstructPlanItem.IsAfterAdjustPassed = true;
                                item.ConstructPlanItem.Save(Database);
                                if (item.ConstructTaskItem != null)
                                {
                                    item.ConstructTaskItem.IsAfterAdjustPassed = true;
                                    item.ConstructTaskItem.Save(Database);
                                }
                            }
                            Message.SendMessage("设备调整审核结果", string.Format("您对项目{0}的设备调整已经由国资处管理员{1}审核通过,请查看信息。您提交的设备调整将从此生效!", adjust.Project.ProjectName, User.Name), User, adjust.Operator, Database, MessageType.System);

                        }
                    }
                }
                else
                {
                    if (!adjust.IsPassed(Database))
                    {
                        AdjustHistoryState state = new AdjustHistoryState();
                        state.Adjust = adjust;
                        state.OperateTime = System.DateTime.Now;
                        state.Operator = User;
                        state.State = AdjustState.MemberUnSubmit;
                        state.Suggestion = Request.GetString("Content");
                        state.Save(Database);

                        adjust.CurrentState = AdjustState.MemberUnSubmit;
                        adjust.Save(Database);
                        Message.SendMessage("设备调整审核结果", string.Format("您对项目{0}的设备调整已被管理员{1}驳回,请查看信息。请修改后重新提交调整!", adjust.Project.ProjectName, User.Name), User, adjust.Operator, Database, MessageType.System);

                    }
                }
                ts.Complete();
            }
        }