public JsonResult PersonnelTransferApplySave(T_PersonnelTransfer model)
        {
            using (TransactionScope sc = new TransactionScope())
            {
                try
                {
                    //string approveName = db.T_PersonnelTransferConfig.First(a => a.Step == 1).Name;
                    model.IsDelete = 0;
                    model.PostTime = DateTime.Now;
                    model.Status   = -1;
                    model.Step     = 1;
                    //model.CurrentApprove = approveName;
                    db.T_PersonnelTransfer.Add(model);
                    db.SaveChanges();

                    T_PersonnelTransferApprove newApprove = new T_PersonnelTransferApprove();
                    newApprove.ApproveName = model.CurrentApprove;
                    newApprove.PTID        = model.ID;
                    newApprove.Status      = 0;
                    newApprove.Step        = 1;
                    db.T_PersonnelTransferApprove.Add(newApprove);
                    db.SaveChanges();
                    // ModularByZP();
                    sc.Complete();
                    return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet));
                }
                catch (Exception e)
                {
                    return(Json(new { State = "Faile", Message = e.Message }, JsonRequestBehavior.AllowGet));
                }
            }
        }
        public ActionResult ViewCheck(int PTID)
        {
            T_PersonnelTransferApprove model = db.T_PersonnelTransferApprove.FirstOrDefault(a => a.PTID == PTID && a.Status == 0);

            if (model != null)
            {
                ViewData["approveList"] = getApproveName(model.Step + 1);
                return(View(model));
            }
            else
            {
                return(HttpNotFound());
            }
        }
        public JsonResult PersonnelTransferEditSave(T_PersonnelTransfer model)
        {
            using (TransactionScope sc = new TransactionScope())
            {
                try
                {
                    T_PersonnelTransfer editModel = db.T_PersonnelTransfer.Find(model.ID);
                    editModel.TransDepartment = model.TransDepartment;
                    editModel.TransferReason  = model.TransferReason;
                    editModel.TransJob        = model.TransJob;
                    editModel.Type            = model.Type;
                    editModel.CurrentApprove  = model.CurrentApprove;
                    if (editModel.Status == 2)
                    {
                        editModel.Status = -1;
                        editModel.Step   = 1;

                        T_PersonnelTransferApprove newApprove = new T_PersonnelTransferApprove();
                        newApprove.ApproveName = db.T_PersonnelTransferApprove.FirstOrDefault(a => a.PTID == editModel.ID && a.Step == 1).ApproveName; //db.T_PersonnelTransferConfig.First(a => a.Step == editModel.Step).Name;
                        newApprove.PTID        = model.ID;
                        newApprove.Status      = 0;
                        newApprove.Step        = 1;
                        db.T_PersonnelTransferApprove.Add(newApprove);
                    }


                    db.SaveChanges();
                    //ModularByZP();
                    sc.Complete();
                    return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet));
                }
                catch (Exception e)
                {
                    return(Json(new { State = "Faile", Message = e.Message }, JsonRequestBehavior.AllowGet));
                }
            }
        }
        public JsonResult TransferCheckSave(T_PersonnelTransferApprove model, string nextApprove)
        {
            using (TransactionScope sc = new TransactionScope())
            {
                try
                {
                    string name = Server.UrlDecode(Request.Cookies["NickName"].Value);
                    T_PersonnelTransferApprove editModel = db.T_PersonnelTransferApprove.Find(model.ID);
                    editModel.Status      = model.Status;
                    editModel.ApproveDate = DateTime.Now;
                    editModel.ApproveName = name;
                    editModel.Memo        = model.Memo;
                    db.Entry <T_PersonnelTransferApprove>(editModel).State = System.Data.Entity.EntityState.Modified;
                    T_PersonnelTransfer TransferModel = db.T_PersonnelTransfer.Find(editModel.PTID);
                    if (model.Status == 1)//同意
                    {
                        int nextStep = editModel.Step + 1;
                        List <T_PersonnelTransferConfig> ConfigList = db.T_PersonnelTransferConfig.Where(a => a.Step == nextStep).ToList();
                        if (ConfigList.Count > 0)//下一步
                        {
                            TransferModel.Status         = 0;
                            TransferModel.Step           = nextStep;
                            TransferModel.CurrentApprove = nextApprove;

                            T_PersonnelTransferApprove newApprove = new T_PersonnelTransferApprove();
                            if (nextApprove != "")
                            {
                                newApprove.ApproveName = nextApprove;
                            }
                            else
                            {
                                newApprove.ApproveName = ConfigList.First().Name;
                            }

                            newApprove.PTID   = editModel.PTID;
                            newApprove.Status = 0;
                            newApprove.Step   = nextStep;
                            db.T_PersonnelTransferApprove.Add(newApprove);
                        }
                        else//结束
                        {
                            T_PersonnelFile person = db.T_PersonnelFile.Find(TransferModel.Pid);
                            person.Job        = TransferModel.TransJob;
                            person.Department = TransferModel.TransDepartment;
                            //还需要修改user的departmentID信息
                            TransferModel.Status       = 1;
                            TransferModel.Step         = 99;
                            TransferModel.TransferDate = DateTime.Now;
                        }
                    }
                    else//不同意结束
                    {
                        TransferModel.Status = 2;
                        TransferModel.Step   = 99;
                    }
                    db.Entry <T_PersonnelTransfer>(TransferModel).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                    //ModularByZP();
                    sc.Complete();
                    return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet));
                }
                catch (Exception e)
                {
                    return(Json(new { State = "Faile", Message = e.Message }, JsonRequestBehavior.AllowGet));
                }
            }
        }