Ejemplo n.º 1
0
        public ActionResult Create(Pts_Records pts_Records)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Pts_Records modelPts_Records = new Pts_Records();
                    var NewRecords = (from d in db.Pts_Records
                                      where d.ProblemID == pts_Records.ProblemID
                                      orderby d.CreateTime descending
                                      select d).First();
                    var LastRecords = (from d in db.Pts_Records
                                       where d.ProblemID == pts_Records.ProblemID
                                       orderby d.CreateTime ascending
                                       select d).First();
                    var upDateProblems = (from d in db.Pts_Problems
                                          where d.ProblemID == pts_Records.ProblemID
                                          select d).Single();
                    Department clsDepartment = new Department();
                    UserProfileModel userprofile = GetMyProfile();
                    if ((pts_Records.AssignType == 1) || (pts_Records.AssignType == 3))//直接解决或者不不解决转交上一个人
                    {
                        modelPts_Records.AssignTo = "1";
                        modelPts_Records.AssignType = 0;
                        modelPts_Records.AssignStateID = new Guid("00000000-0000-0000-0000-000000000000");

                        //根据问题最终处理人
                        if (NewRecords.Pts_ProblemState.ListOrder==1)
                        {
                            upDateProblems.SolveUser = User.Identity.Name;
                        }

                        if (LastRecords.CreateUser == User.Identity.Name || (GetUserDP(User.Identity.Name) == "bbf977d8-aeab-4bec-b070-a3d1c1b41cb5"))//第一条记录创建人和当前用户,判断是否是问题提交人GetUserDP(ReplayRecords.CreateUser)
                        {
                            modelPts_Records.AssignToObjectID = userprofile.NickName;
                            modelPts_Records.ProblemStateID = new Guid("aa36df43-a68b-45e2-8230-21b2f6f5fce2");//问题已解决
                            modelPts_Records.Course = "-->" + userprofile.NickName;
                            upDateProblems.IsClosed = true;
                        }
                        else
                        {
                            //上一个部门
                            Guid preDPID = clsDepartment.GetPreDeparmentID(userprofile.Department);

                            if (NewRecords.Pts_ProblemState.IsState == 2)//最新一条记录状态为待确定的
                            {
                                //获取当前记录的隔一条记录
                                var ReplayRecords = (from d in db.Pts_Records
                                                     where d.ProblemID == pts_Records.ProblemID && (d.ListOrder == NewRecords.ListOrder - 2)
                                                     orderby d.CreateTime descending
                                                     select d).First();
                                if (ReplayRecords.Pts_ProblemState.IsState == 2)
                                {//解决打回问题
                                    var ReplayRecordsDH = (from d in db.Pts_Records
                                                           where d.ProblemID == pts_Records.ProblemID && (d.ListOrder == ReplayRecords.ListOrder - 2)
                                                           orderby d.CreateTime descending
                                                           select d).First();
                                    modelPts_Records.AssignToObjectID = ReplayRecordsDH.CreateUser;
                                    modelPts_Records.Course = userprofile.NickName + "-->" + clsDepartment.GetDepartmentName(GetUserDP(ReplayRecordsDH.CreateUser)) + "(" + GetUserProfile(ReplayRecordsDH.CreateUser) + ")";
                                }
                                else
                                {
                                    modelPts_Records.AssignToObjectID = ReplayRecords.CreateUser;
                                    modelPts_Records.Course = userprofile.NickName + "-->" + clsDepartment.GetDepartmentName(GetUserDP(ReplayRecords.CreateUser)) + "(" + GetUserProfile(ReplayRecords.CreateUser) + ")";
                                }

                            }
                            else
                            {
                                modelPts_Records.AssignToObjectID = NewRecords.CreateUser;
                                modelPts_Records.Course = userprofile.NickName + "-->" + clsDepartment.GetDepartmentName(preDPID.ToString()) + "(" + GetUserProfile(NewRecords.CreateUser) + ")";

                            }

                            modelPts_Records.ProblemStateID = clsDepartment.GetProblemStateReplay(preDPID);
                        }

                        modelPts_Records.SrcUserID = NewRecords.CreateUser;
                    }
                    if (pts_Records.AssignType == 2)//转交其他人
                    {
                        modelPts_Records.AssignTo = pts_Records.AssignTo;
                        modelPts_Records.AssignToObjectID = pts_Records.AssignToObjectID;
                        modelPts_Records.AssignType = 2;
                        modelPts_Records.AssignStateID = new Guid("00000000-0000-0000-0000-000000000000");
                        modelPts_Records.ProblemStateID = clsDepartment.GetProblemState(pts_Records.AssignTo);
                        modelPts_Records.SrcUserID = NewRecords.CreateUser;
                        //提交问题记录相关信息
                        if (pts_Records.AssignToObjectID == "0")
                        {

                            modelPts_Records.Course = userprofile.NickName + "-->" + clsDepartment.GetDepartmentName(pts_Records.AssignTo) + "(部门所有人)";

                        }
                        else
                        {
                            modelPts_Records.Course = userprofile.NickName + "-->" + clsDepartment.GetDepartmentName(pts_Records.AssignTo) + "(" + GetUserProfile(pts_Records.AssignToObjectID) + ")";

                        }
                    }
                    modelPts_Records.RecordID = Guid.NewGuid();
                    modelPts_Records.Content = pts_Records.Content;
                    modelPts_Records.Describe = Utils.NoHTML(string.IsNullOrWhiteSpace(pts_Records.Content) ? "" : pts_Records.Content);
                    modelPts_Records.CreateUser = User.Identity.Name;
                    modelPts_Records.CreateTime = DateTime.Now;
                    modelPts_Records.ProblemID = pts_Records.ProblemID;
                    modelPts_Records.ListOrder = NewRecords.ListOrder + 1;
                    modelPts_Records.ResponseTotalTime = Utils.TimeDifference(NewRecords.CreateTime);
                    db.Pts_Records.Add(modelPts_Records);
                    //更新问题表待调整

                    upDateProblems.IsStart = false;
                    upDateProblems.HandlingUser = modelPts_Records.AssignToObjectID;
                    upDateProblems.ProblemStateID = modelPts_Records.ProblemStateID;
                    int result = db.SaveChanges();
                    return RedirectToAction("Details", "Problems", new { id = modelPts_Records.ProblemID });
                }
                else
                {
                    return Content("-1");
                }
            }
            catch (DbEntityValidationException dbEx)
            {
                return Content("-1");
            }
        }
Ejemplo n.º 2
0
        public ActionResult AdminRecordsAdd(Pts_Records pts_Records)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Pts_Records modelPts_Records = new Pts_Records();
                    var NewRecords = (from d in db.Pts_Records
                                      where d.ProblemID == pts_Records.ProblemID
                                      orderby d.CreateTime descending
                                      select d).First();
                    var LastRecords = (from d in db.Pts_Records
                                       where d.ProblemID == pts_Records.ProblemID
                                       orderby d.CreateTime ascending
                                       select d).First();
                    Department clsDepartment = new Department();
                    UserProfileModel userprofile = GetMyProfile();
                    if ((pts_Records.AssignType == 1) || (pts_Records.AssignType == 3))//直接解决或者不不解决转交上一个人
                    {
                        modelPts_Records.AssignTo = "1";
                        modelPts_Records.AssignToObjectID = NewRecords.CreateUser;
                        modelPts_Records.AssignType = 0;
                        modelPts_Records.AssignStateID = new Guid("00000000-0000-0000-0000-000000000000");
                        if (LastRecords.CreateUser == User.Identity.Name)//第一条记录创建人和当前用户,判断是否是问题提交人
                        {
                            modelPts_Records.ProblemStateID = new Guid("aa36df43-a68b-45e2-8230-21b2f6f5fce2");//问题已解决
                        }
                        else
                        {
                            //上一个部门
                         Guid preDPID=clsDepartment.GetPreDeparmentID(userprofile.Department);
                         modelPts_Records.ProblemStateID = clsDepartment.GetProblemStateReplay(preDPID);
                        }

                        modelPts_Records.SrcUserID = NewRecords.CreateUser;
                    }
                    if (pts_Records.AssignType == 2)//转交其他人
                    {
                        modelPts_Records.AssignTo = pts_Records.AssignTo;
                        modelPts_Records.AssignToObjectID = pts_Records.AssignToObjectID;
                        modelPts_Records.AssignType = 2;
                        modelPts_Records.AssignStateID = new Guid("00000000-0000-0000-0000-000000000000");
                        modelPts_Records.ProblemStateID = clsDepartment.GetProblemState(pts_Records.AssignTo);
                        modelPts_Records.SrcUserID = NewRecords.CreateUser;
                    }
                    modelPts_Records.RecordID = Guid.NewGuid();
                    modelPts_Records.Content = pts_Records.Content;
                    modelPts_Records.CreateUser = User.Identity.Name;
                    modelPts_Records.CreateTime = DateTime.Now;
                    modelPts_Records.ProblemID = pts_Records.ProblemID;
                    db.Pts_Records.Add(modelPts_Records);
                    var upDateProblems = (from d in db.Pts_Problems
                                          where d.ProblemID == modelPts_Records.ProblemID
                                          select d).Single();
                    upDateProblems.IsStart = false;
                    int result = db.SaveChanges();
                    return RedirectToAction("Details", "Admin", new { id = modelPts_Records.ProblemID });
                }
                else
                {
                    return Content("-1");
                }
            }
            catch (DbEntityValidationException dbEx)
            {
                return Content("-1");
            }
        }
Ejemplo n.º 3
0
        public ActionResult YFCreate(Pts_Records pts_Records)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Pts_Records modelPts_Records = new Pts_Records();
                    var NewRecords = (from d in db.Pts_Records
                                      where d.ProblemID == pts_Records.ProblemID
                                      orderby d.CreateTime descending
                                      select d).First();
                    var LastRecords = (from d in db.Pts_Records
                                       where d.ProblemID == pts_Records.ProblemID
                                       orderby d.CreateTime ascending
                                       select d).First();
                    var upDateProblems = (from d in db.Pts_Problems
                                          where d.ProblemID == pts_Records.ProblemID
                                          select d).Single();
                    Department clsDepartment = new Department();
                    UserProfileModel userprofile = GetMyProfile();
                    if ((pts_Records.AssignType == 1) || (pts_Records.AssignType == 3))//直接解决或者不不解决转交上一个人
                    {
                        modelPts_Records.AssignTo = "1";
                        modelPts_Records.AssignType = 0;

                        //根据问题最终处理人
                         upDateProblems.SolveUser = User.Identity.Name;

                        modelPts_Records.AssignStateID = new Guid("00000000-0000-0000-0000-000000000000");
                        if (LastRecords.CreateUser == User.Identity.Name)//第一条记录创建人和当前用户,判断是否是问题提交人
                        {
                            modelPts_Records.AssignToObjectID = NewRecords.CreateUser;
                            modelPts_Records.ProblemStateID = new Guid("aa36df43-a68b-45e2-8230-21b2f6f5fce2");//问题已解决
                            modelPts_Records.Course = "-->" + userprofile.NickName;
                            upDateProblems.IsClosed = true;
                        }
                        else
                        {
                            //上一个部门
                            Guid preDPID = clsDepartment.GetPreDeparmentID(userprofile.Department);

                            if (NewRecords.Pts_ProblemState.IsState == 2)//最新一条记录状态为待确定的
                            {
                                //获取当前记录的隔一条记录
                                var ReplayRecords = (from d in db.Pts_Records
                                                     where d.ProblemID == pts_Records.ProblemID && (d.ListOrder == NewRecords.ListOrder - 1)
                                                     orderby d.CreateTime descending
                                                     select d).First();
                                //不存在此情况
                                if (ReplayRecords.Pts_ProblemState.IsState == 2)
                                {//解决打回问题
                                    var ReplayRecordsDH = (from d in db.Pts_Records
                                                           where d.ProblemID == pts_Records.ProblemID && (d.ListOrder == ReplayRecords.ListOrder - 2)
                                                           orderby d.CreateTime descending
                                                           select d).First();
                                    modelPts_Records.AssignToObjectID = ReplayRecordsDH.CreateUser;
                                    modelPts_Records.Course = userprofile.NickName + "-->" + clsDepartment.GetDepartmentName(GetUserDP(ReplayRecordsDH.CreateUser)) + "(" + GetUserProfile(ReplayRecordsDH.CreateUser) + ")";
                                }
                                else
                                {
                                    modelPts_Records.AssignToObjectID = ReplayRecords.CreateUser;
                                    modelPts_Records.Course = userprofile.NickName + "-->" + clsDepartment.GetDepartmentName(GetUserDP(ReplayRecords.CreateUser)) + "(" + GetUserProfile(ReplayRecords.CreateUser) + ")";
                                }

                            }
                            else
                            {
                                modelPts_Records.AssignToObjectID = NewRecords.CreateUser;
                                modelPts_Records.Course = userprofile.NickName + "-->" + clsDepartment.GetDepartmentName(preDPID.ToString()) + "(" + GetUserProfile(NewRecords.CreateUser) + ")";

                            }

                            modelPts_Records.ProblemStateID = clsDepartment.GetProblemStateReplay(preDPID);
                        }

                        modelPts_Records.SrcUserID = NewRecords.CreateUser;
                        modelPts_Records.ListOrder = NewRecords.ListOrder +1;
                    }
                    if (pts_Records.AssignType == 2)//转交其他人
                    {
                        modelPts_Records.AssignTo = "2ba34c68-9c2c-4e06-9e17-ecd2e1156438";//部门研发
                        modelPts_Records.AssignToObjectID = User.Identity.Name;
                        modelPts_Records.AssignType = 2;
                        modelPts_Records.AssignStateID = new Guid("00000000-0000-0000-0000-000000000000");
                        modelPts_Records.ProblemStateID = new Guid("9c3f96c9-1869-41c4-92f5-f81c5f3e6e5c");//研发中
                        modelPts_Records.SrcUserID = NewRecords.CreateUser;
                        modelPts_Records.YFWay = pts_Records.YFWay;
                        modelPts_Records.YFTime = pts_Records.YFTime;
                        //提交问题记录相关信息
                        modelPts_Records.Course = "--研发中:预计时间(" + string.Format("{0:d}", pts_Records.YFTime) + ")--";
                     //研发状态特殊处理
                        modelPts_Records.ListOrder = NewRecords.ListOrder +1;

                    }
                    modelPts_Records.RecordID = Guid.NewGuid();
                    modelPts_Records.Content = pts_Records.Content;
                    modelPts_Records.Describe = Utils.NoHTML(string.IsNullOrWhiteSpace(pts_Records.Content) ? "" : pts_Records.Content);
                    modelPts_Records.CreateUser = User.Identity.Name;
                    modelPts_Records.CreateTime = DateTime.Now;
                    modelPts_Records.ProblemID = pts_Records.ProblemID;

                    modelPts_Records.ResponseTotalTime = Utils.TimeDifference(NewRecords.CreateTime);
                    db.Pts_Records.Add(modelPts_Records);
                    //更新问题表待调整

                    upDateProblems.IsStart = false;
                    upDateProblems.HandlingUser = modelPts_Records.AssignToObjectID;
                    upDateProblems.ProblemStateID = modelPts_Records.ProblemStateID;
                    int result = db.SaveChanges();
                    return RedirectToAction("Details", "Problems", new { id = modelPts_Records.ProblemID });
                }
                else
                {
                    return Content("-1");
                }
            }
            catch (DbEntityValidationException dbEx)
            {
                return Content("-1");
            }
        }