public JsonResult EmployeeDemandEditSave(T_EmployDemand model) //用人需求编辑保存
        {
            T_EmployDemand editModel = db.T_EmployDemand.Find(model.ID);

            if (editModel != null)
            {
                editModel.Job                = model.Job;
                editModel.PeopleNum          = model.PeopleNum;
                editModel.RecommendSalary    = model.RecommendSalary;
                editModel.Memo               = model.Memo;
                editModel.CurrentApproveName = db.T_EmployDemandConfig.FirstOrDefault(a => a.Step == 1 && a.Type == "审核人").Name;
                editModel.Step               = 1;
                editModel.Date               = DateTime.Now;
                if (editModel.State == 2)
                {
                    editModel.State = 0;
                    T_EmployDemandApprove approve = new T_EmployDemandApprove();
                    approve.ApproveState = 0;
                    approve.ApproveUser  = editModel.CurrentApproveName;
                    approve.DemandID     = model.ID;
                    approve.Step         = 1;
                    db.T_EmployDemandApprove.Add(approve);
                }
                db.Entry <T_EmployDemand>(editModel).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
                // ModularByZP();
                return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new { State = "Faile", Message = "无相关记录" }, JsonRequestBehavior.AllowGet));
            }
        }
        public JsonResult EmployeeDemandAddSave(T_EmployDemand model)// 用人需求新增保存
        {
            try
            {
                //model.CurrentApproveName = db.T_EmployDemandConfig.FirstOrDefault(a => a.Step == 1 && a.Type == "审核人").Name;
                model.DemandUser      = Server.UrlDecode(Request.Cookies["NickName"].Value);
                model.DistributionNum = 0;
                model.PerMemo         = "";
                model.State           = -1;
                model.Step            = 1;
                model.IsDelete        = "0";
                model.Date            = DateTime.Now;
                db.T_EmployDemand.Add(model);
                db.SaveChanges();

                T_EmployDemandApprove approve = new T_EmployDemandApprove();
                approve.ApproveState = 0;
                approve.ApproveUser  = model.CurrentApproveName;
                approve.DemandID     = model.ID;
                approve.Step         = 1;
                db.T_EmployDemandApprove.Add(approve);
                db.SaveChanges();
                //ModularByZP();
                return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet));
            }
            catch (DbEntityValidationException e)
            {
                return(Json(new { State = "Faile", Message = e.EntityValidationErrors.First().ValidationErrors.First().ErrorMessage }, JsonRequestBehavior.AllowGet));
            }
        }
        public ActionResult ViewEmployeeDemandEdit(int ID)
        {
            ViewData["JobList"] = ConfigList("岗位");
            T_EmployDemand model = db.T_EmployDemand.Find(ID);

            if (model != null)
            {
                return(View(model));
            }
            else
            {
                return(HttpNotFound());
            }
        }
        public JsonResult EmployeeDemandDelete(int ID) //用人需求删除保存
        {
            T_EmployDemand editModel = db.T_EmployDemand.Find(ID);

            if (editModel != null)
            {
                editModel.IsDelete = "1";
                db.Entry <T_EmployDemand>(editModel).State = System.Data.Entity.EntityState.Modified;
                int i = db.SaveChanges();
                //ModularByZP();
                return(Json(i));
            }
            else
            {
                return(Json(-1));
            }
        }
        public JsonResult EmployeeDemandVoid(int ID) //作废
        {
            T_EmployDemand editModel = db.T_EmployDemand.Find(ID);

            if (editModel != null)
            {
                editModel.State = 3;
                editModel.CurrentApproveName = "";

                db.Entry <T_EmployDemand>(editModel).State = System.Data.Entity.EntityState.Modified;
                int i = db.SaveChanges();
                //ModularByZP();
                return(Json(i));
            }
            else
            {
                return(Json(-1));
            }
        }
        public JsonResult ResumeDistribute(int DID, int RID)//简历分配
        {
            using (TransactionScope sc = new TransactionScope())
            {
                try
                {
                    T_PersonnelFile pModel = db.T_PersonnelFile.Find(RID);
                    T_EmployDemand  dModel = db.T_EmployDemand.Find(DID);
                    dModel.DistributionNum += 1;   //已分配数量+1
                    pModel.DemandID         = DID; //档案存入分配需求ID

                    db.Entry <T_PersonnelFile>(pModel).State = System.Data.Entity.EntityState.Modified;
                    db.Entry <T_EmployDemand>(dModel).State  = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                    sc.Complete();
                    return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet));
                }
                catch (Exception e)
                {
                    return(Json(new { State = "Faile", Message = e.Message }, JsonRequestBehavior.AllowGet));
                }
            }
        }
        public JsonResult EmployeeDemandCheckSave(T_EmployDemandApprove model, string recruit) //用人需求审核
        {
            try
            {
                string name = Server.UrlDecode(Request.Cookies["NickName"].Value);
                T_EmployDemandApprove editApprove = db.T_EmployDemandApprove.Find(model.ID);
                T_EmployDemand        editDemand  = db.T_EmployDemand.Find(editApprove.DemandID);
                editApprove.ApproveState = model.ApproveState;
                editApprove.ApproveMemo  = model.ApproveMemo;
                editApprove.ApproveDate  = DateTime.Now;
                editApprove.ApproveUser  = name;

                if (editApprove.ApproveState == 1) //同意
                {
                    int nextStep = editDemand.Step + 1;
                    List <T_EmployDemandConfig> ConfigList = db.T_EmployDemandConfig.Where(a => a.Step == nextStep).ToList();
                    if (ConfigList.Count > 0) //下一步
                    {
                        T_EmployDemandApprove newApprove = new T_EmployDemandApprove();
                        newApprove.ApproveState = 0;
                        newApprove.DemandID     = editApprove.DemandID;
                        newApprove.Step         = nextStep;
                        newApprove.ApproveUser  = ConfigList.First().Name;
                        db.T_EmployDemandApprove.Add(newApprove);
                        if (editDemand.Step == 1)
                        {
                            editDemand.PerMemo = model.ApproveMemo; //人事备注
                        }
                        else if (editDemand.Step == 2)
                        {
                            editDemand.Recruiter = recruit; //指定招聘专员
                        }
                        editDemand.Step  = nextStep;
                        editDemand.State = 0; //审核中
                        editDemand.CurrentApproveName = ConfigList.First().Name;
                    }
                    else //结束
                    {
                        if (editDemand.Step == 2)
                        {
                            editDemand.Recruiter = recruit; //指定招聘专员
                        }
                        editDemand.State = 1;
                        editDemand.Step  = 99;
                        editDemand.CurrentApproveName = "";
                    }
                }
                else
                {
                    editDemand.Step  = 99;
                    editDemand.State = 2; //不同意
                    editDemand.CurrentApproveName = "";
                }
                db.Entry <T_EmployDemand>(editDemand).State         = System.Data.Entity.EntityState.Modified;
                db.Entry <T_EmployDemandApprove>(editApprove).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
                //ModularByZP();
                return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                return(Json(new { State = "Faile", Message = e.Message }, JsonRequestBehavior.AllowGet));
            }
        }