public ActionResult TestEdit()
        {
            int          id           = 2;
            Recruitments recruitments = db.Recruitments.Find(id);

            if (recruitments == null)
            {
                return(HttpNotFound());
            }
            ViewBag.BillType        = recruitments.BillType;
            ViewBag.BillCode        = recruitments.BillCode;
            ViewBag.DepartmentsList = new SelectList(db.Departments.ToList(), "Name", "Name", recruitments.DepartmentName);

            ViewBag.PositionsList      = new SelectList(this.GetParamsListByName("员工岗位"), recruitments.Position);//this.GetParamsByName("员工岗位");
            ViewBag.RequiredNumber     = recruitments.RequiredNumber.ToString();
            ViewBag.GendersList        = new MultiSelectList(this.GetParamsListByName("性别"), this.SelectedListByName(recruitments.Gender));
            ViewBag.Age                = recruitments.Age.ToString();
            ViewBag.MaritalStatusList  = new MultiSelectList(this.GetParamsListByName("婚姻状况"), this.SelectedListByName(recruitments.MaritalStatus));
            ViewBag.EduBackgroundsList = new MultiSelectList(this.GetParamsListByName("学历"), this.SelectedListByName(recruitments.EducationBackground));
            ViewBag.MajorsList         = new MultiSelectList(this.GetParamsListByName("专业"), this.SelectedListByName(recruitments.Major));

            ViewBag.WorkExperience = recruitments.WorkExperience;
            ViewBag.Skill          = recruitments.Skill;
            ViewBag.Others         = recruitments.Others;
            ViewBag.Status         = recruitments.Status;
            return(View());
        }
Example #2
0
        private void RecruitAdditionHandler(object param)
        {
            ViewMode = true;

            Recruitment newRecruitment = param as Recruitment;

            if (_isModify)
            {
                if (newRecruitment != null)
                {
                    _selectedRecruitment.Company       = newRecruitment.Company;
                    _selectedRecruitment.Site          = newRecruitment.Site;
                    _selectedRecruitment.StartDate     = newRecruitment.StartDate;
                    _selectedRecruitment.EndDate       = newRecruitment.EndDate;
                    _selectedRecruitment.RecruitType   = RecruitType;
                    _selectedRecruitment.ScreeningStep = ScreeningStep;
                }
                _isModify = false;
            }
            else
            {
                if (newRecruitment != null)
                {
                    newRecruitment.RecruitType   = RecruitType;
                    newRecruitment.ScreeningStep = ScreeningStep;
                    Recruitments.Add(newRecruitment);
                }
            }
            _repository.SaveRecruitments(_recruitments);
            NotifyPropertyChanged("Recruitments");
        }
        // GET: Recruitments/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Recruitments recruitments = db.Recruitments.Find(id);

            if (recruitments == null)
            {
                return(HttpNotFound());
            }
            BillPropertyModels bill = db.BillProperties.Where(b => b.Type.Equals(recruitments.BillType)).SingleOrDefault();

            recruitments.BillType = recruitments.BillType + " " + bill.TypeName;

            /*查找预留字段(value)*/
            var fieldValueList = (from rr in db.RecruitmentReserves
                                  join rf in db.ReserveFields on rr.FieldId equals rf.Id
                                  where rr.Number == recruitments.Id
                                  select new RecruitmentViewModel {
                Id = rr.Number, Description = rf.Description, Value = rr.Value
            }).ToList();

            ViewBag.fieldValueList = fieldValueList;
            return(View(recruitments));
        }
        public ActionResult Create(Recruitments recruitments)
        {
            Recruitments tmpRecruit = new Recruitments()
            {
                BillType            = Request["BillType"].Length == 4 ? Request["BillType"] : Request["BillType"].Substring(0, 4),
                BillCode            = Request["BillCode"],
                DepartmentName      = Request["DepartmentName"],
                Position            = Request["Position"],
                RequiredNumber      = int.Parse(Request["RequiredNumber"]),
                Gender              = Request["Gender"],
                Age                 = Request["Age"],
                MaritalStatus       = Request["MaritalStatus"],
                EducationBackground = Request["EducationBackground"],
                Major               = Request["Major"],
                WorkExperience      = Request["WorkExperience"],
                Skill               = Request["Skill"],
                Others              = Request["Others"],
                Status              = "等待招聘"
            };

            if (ModelState.IsValid)
            {
                db.Recruitments.Add(tmpRecruit);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(recruitments));
        }
 public ActionResult Edit([Bind(Include = "Id,BillType,BillCode,DepartmentName,Position,RequiredNumber,Gender,Age,MaritalStatus,EducationBackground,Major,WorkExperience,Skill,Others,Status")] Recruitments recruitments)
 {
     if (ModelState.IsValid)
     {
         Recruitments tmp = db.Recruitments.Find(recruitments.Id);
         tmp.BillType            = Request["BillType"];
         tmp.BillCode            = Request["BillCode"];
         tmp.DepartmentName      = Request["DepartmentName"];
         tmp.Position            = Request["Position"];
         tmp.RequiredNumber      = int.Parse(Request["RequiredNumber"]);
         tmp.Gender              = Request["Gender"];
         tmp.Age                 = Request["Age"];
         tmp.MaritalStatus       = Request["MaritalStatus"];
         tmp.EducationBackground = Request["EducationBackground"];
         tmp.Major               = Request["Major"];
         tmp.WorkExperience      = Request["WorkExperience"];
         tmp.Skill               = Request["Skill"];
         tmp.Others              = Request["Others"];
         tmp.Status              = Request["Status"];
         db.Entry(tmp).State     = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(recruitments));
 }
        public ActionResult DeleteConfirmed(int id)
        {
            Recruitments recruitments = db.Recruitments.Find(id);

            db.Recruitments.Remove(recruitments);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #7
0
 private void RecruitDeleteHandler(object o)
 {
     if (_selectedRecruitment != null)
     {
         _repository.Delete(_selectedRecruitment);
         Recruitments.Remove(_selectedRecruitment);
         _repository.SaveRecruitments(_recruitments);
         NotifyPropertyChanged("Recruitments");
     }
 }
        // GET: Recruitments/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Recruitments recruitments = db.Recruitments.Find(id);

            if (recruitments == null)
            {
                return(HttpNotFound());
            }
            return(View(recruitments));
        }
        public ActionResult SaveRecruitments(int?id)
        {
            Recruitments tmp = db.Recruitments.Find(id);

            /**
             * 这里要注意,MVC框架在默认情况不会运行获取表单中的包含“<>"的内容,为了能正常获取,需要采取两个措施:
             * 1、添加[ValidateInput(false)]注解
             * 2、需要在web.config配置中添加<httpRuntime requestValidationMode="2.0"/>配置
             * */
            tmp.PublishVersion = Request["content"];

            db.Entry(tmp).State = EntityState.Modified;
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult Edit([Bind(Include = "Id,BillType,BillCode,DepartmentName,Position,RequiredNumber,Gender,Age,MaritalStatus,EducationBackground,Major,WorkExperience,Skill,Others,Status")] Recruitments recruitments)
        {
            if (ModelState.IsValid)
            {
                Recruitments tmp = db.Recruitments.Find(recruitments.Id);
                tmp.BillType            = Request["BillType"].Substring(0, 4);
                tmp.BillCode            = Request["BillCode"];
                tmp.DepartmentName      = Request["DepartmentName"];
                tmp.Position            = Request["Position"];
                tmp.RequiredNumber      = int.Parse(Request["RequiredNumber"]);
                tmp.Gender              = Request["Gender"];
                tmp.Age                 = Request["Age"];
                tmp.MaritalStatus       = Request["MaritalStatus"];
                tmp.EducationBackground = Request["EducationBackground"];
                tmp.Major               = Request["Major"];
                tmp.WorkExperience      = Request["WorkExperience"];
                tmp.Skill               = Request["Skill"];
                tmp.Others              = Request["Others"];
                tmp.Status              = Request["Status"];
                tmp.ChangePerson        = this.Name;
                tmp.ChangeTime          = DateTime.Now;
                db.Entry(tmp).State     = EntityState.Modified;
                db.SaveChanges();
                /*查找预留字段(value)*/
                var fieldValueList = (from rr in db.RecruitmentReserves
                                      join rf in db.ReserveFields on rr.FieldId equals rf.Id
                                      where rr.Number == recruitments.Id
                                      select new RecruitmentViewModel {
                    Id = rr.Id, Description = rf.Description, Value = rr.Value
                }).ToList();

                /*给预留字段赋值*/
                foreach (var temp in fieldValueList)
                {
                    RecruitmentReserve rr = db.RecruitmentReserves.Find(temp.Id);
                    rr.Value = Request[temp.Description];
                    db.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }
            return(View(recruitments));
        }
        //GET: StaffSkill/Submit/5
        public ActionResult Submit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Recruitments staffSkill = db.Recruitments.Find(id);

            if (staffSkill == null)
            {
                return(HttpNotFound());
            }
            //提交审批
            byte status = AuditApplicationStaffSkill(staffSkill);

            //需要对原表做出的修改
            staffSkill.AuditStatus = status;
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        // GET: Recruitments/Edit/5
        public ActionResult Edit(int id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Recruitments recruitments = db.Recruitments.Find(id);

            if (recruitments == null)
            {
                return(HttpNotFound());
            }
            BillPropertyModels bill = db.BillProperties.Where(b => b.Type.Equals(recruitments.BillType)).SingleOrDefault();

            ViewBag.BillType        = recruitments.BillType + " " + bill.TypeName;
            ViewBag.BillCode        = recruitments.BillCode;
            ViewBag.DepartmentsList = new SelectList(db.Departments.ToList(), "Name", "Name", recruitments.DepartmentName);

            ViewBag.PositionsList      = new SelectList(this.GetParamsListByName("员工岗位"), recruitments.Position);//this.GetParamsByName("员工岗位");
            ViewBag.RequiredNumber     = recruitments.RequiredNumber.ToString();
            ViewBag.GendersList        = new MultiSelectList(this.GetParamsListByName("性别"), this.SelectedListByName(recruitments.Gender));
            ViewBag.Age                = recruitments.Age.ToString();
            ViewBag.MaritalStatusList  = new MultiSelectList(this.GetParamsListByName("婚姻状况"), this.SelectedListByName(recruitments.MaritalStatus));
            ViewBag.EduBackgroundsList = new MultiSelectList(this.GetParamsListByName("学历"), this.SelectedListByName(recruitments.EducationBackground));
            ViewBag.MajorsList         = new MultiSelectList(this.GetParamsListByName("专业"), this.SelectedListByName(recruitments.Major));

            ViewBag.WorkExperience = recruitments.WorkExperience;
            ViewBag.Skill          = recruitments.Skill;
            ViewBag.Others         = recruitments.Others;
            ViewBag.Status         = recruitments.Status;
            /*查找预留字段(value)*/
            var fieldValueList = (from rr in db.RecruitmentReserves
                                  join rf in db.ReserveFields on rr.FieldId equals rf.Id
                                  where rr.Number == id
                                  select new RecruitmentViewModel {
                Description = rf.Description, Value = rr.Value
            }).ToList();

            ViewBag.fieldValueList = fieldValueList;
            return(View());
        }
        public ActionResult DeleteConfirmed(int id)
        {
            /*Step1:删除预留字段*/
            var item = (from rr in db.RecruitmentReserves
                        where rr.Number == id
                        select new RecruitmentViewModel {
                Id = rr.Id
            }).ToList();

            foreach (var temp in item)
            {
                RecruitmentReserve rr = db.RecruitmentReserves.Find(temp.Id);
                db.RecruitmentReserves.Remove(rr);
            }
            db.SaveChanges();

            /*Step2:删除固定字段*/
            Recruitments recruitments = db.Recruitments.Find(id);

            db.Recruitments.Remove(recruitments);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        //GET: StaffSkill/ManualAudit/5
        public ActionResult ManualAudit(int?id, int flag)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Recruitments staffSkill = db.Recruitments.Find(id);

            if (staffSkill == null)
            {
                return(HttpNotFound());
            }
            //手动审批;这部分是自己给自己审批
            //需要对原表做出的修改
            try
            {
                if (flag == 1)
                {
                    //通过审批
                    staffSkill.AuditStatus = 3;
                }
                else
                {
                    //不通过审批
                    staffSkill.AuditStatus = 4;
                }
                staffSkill.AuditPerson = this.UserName;
                staffSkill.AuditTime   = DateTime.Now;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            catch
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
        }
        public ActionResult Create(Recruitments recruitments)
        {
            if (ModelState.IsValid)
            {
                Recruitments tmpRecruit = new Recruitments()
                {
                    BillType            = Request["BillType"].Length == 4 ? Request["BillType"] : Request["BillType"].Substring(0, 4),
                    BillCode            = Request["BillCode"],
                    DepartmentName      = Request["DepartmentName"],
                    Position            = Request["Position"],
                    RequiredNumber      = int.Parse(Request["RequiredNumber"]),
                    Gender              = Request["Gender"],
                    Age                 = Request["Age"],
                    MaritalStatus       = Request["MaritalStatus"],
                    EducationBackground = Request["EducationBackground"],
                    Major               = Request["Major"],
                    WorkExperience      = Request["WorkExperience"],
                    Skill               = Request["Skill"],
                    Others              = Request["Others"],
                    Status              = "等待招聘",
                    IsAudit             = true,
                    IsPublished         = false,
                    RecordPerson        = this.Name,
                    RecordTime          = DateTime.Now
                };
                tmpRecruit.BillCode    = GenerateBillNumber(tmpRecruit.BillType);
                tmpRecruit.AuditStatus = recruitments.AuditStatus;
                tmpRecruit.AuditPerson = recruitments.AuditPerson;
                tmpRecruit.AuditTime   = recruitments.AuditTime;
                db.Recruitments.Add(tmpRecruit);
                //  db.SaveChanges();

                //提交审核
                byte status = AuditApplicationStaffSkill(tmpRecruit);
                if (status == 7)
                {
                    ViewBag.alertMessage = true;
                    return(View(recruitments));
                }
                else
                {
                    //需要对原表做出的修改
                    tmpRecruit.AuditStatus = status;
                    try {
                        db.SaveChanges();
                    }
                    catch (DbEntityValidationException e) { throw e; }
                }


                /*查找预留字段(name)*/
                var fieldList = (from p in db.ReserveFields
                                 join q in db.TableNameContrasts
                                 on p.TableNameId equals q.Id
                                 where q.TableName == "Recruitments" select p).ToList();
                ViewBag.fieldList = fieldList;
                /*遍历,保存变化的字段*/
                foreach (var temp in fieldList)
                {
                    RecruitmentReserve rr = new RecruitmentReserve();
                    rr.Number  = tmpRecruit.Id;
                    rr.FieldId = temp.Id;
                    rr.Value   = Request[temp.FieldName];
                    /*占位,为了在Index中显示整齐的格式*/
                    if (rr.Value == null)
                    {
                        rr.Value = " ";
                    }
                    db.RecruitmentReserves.Add(rr);
                    db.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }
            ViewBag.DepartmentsList    = new SelectList(db.Departments.ToList(), "Name", "Name");
            ViewBag.PositionsList      = this.GetParamsByName("员工岗位");
            ViewBag.GendersList        = this.GetParamsByName("性别");
            ViewBag.MaritalStatusList  = this.GetParamsByName("婚姻状况");
            ViewBag.EduBackgroundsList = this.GetParamsByName("学历");
            ViewBag.MajorsList         = this.GetParamsByName("专业");
            /*查找员工技能预留字段(name)*/
            var fieldList1 = (from p in db.ReserveFields
                              join q in db.TableNameContrasts
                              on p.TableNameId equals q.Id
                              where q.TableName == "Recruitments" select p).ToList();

            ViewBag.fieldList = fieldList1;
            return(View(recruitments));
        }
Example #16
0
        public static void ReturnStatus(int auditProcessAId, byte status, string userName)
        {
            UserModels       user        = (from u in sdb.Users where u.UserName == userName select u).FirstOrDefault();
            BonsaiiDbContext db          = new BonsaiiDbContext(user.ConnectionString);
            AuditApplication application = db.AuditApplications.Find(auditProcessAId);//修改Application的状态

            application.State = status;
            string btype = application.BType.Substring(0, 2);

            switch (btype)
            {
            case "21":
            {        //员工
                Staff someone = (from p in db.Staffs where (p.BillNumber == application.BNumber) && (p.BillTypeNumber == application.BType) select p).ToList().SingleOrDefault();
                if (someone != null)
                {
                    someone.AuditStatus = status;        //已审
                    SystemDbContext sysdb = new SystemDbContext();
                    /*BindCodes*/
                    var Ucount = (from p in sysdb.BindCodes where (p.CompanyId == user.CompanyId && p.StaffNumber == someone.StaffNumber) select p).ToList();
                    if (Ucount.Count == 0)
                    {        //木有该员工
                        BindCode user1         = new BindCode();
                        string   CompanyDbName = "Bonsaii" + user1.CompanyId;
                        user1.ConnectionString = ConfigurationManager.AppSettings["UserDbConnectionString"] + CompanyDbName + ";";           //"Data Source = localhost,1433;Network Library = DBMSSOCN;Initial Catalog = " + CompanyDbName + ";User ID = test;Password = admin;";
                        user1.CompanyId        = user1.CompanyId;
                        user1.StaffNumber      = someone.StaffNumber;
                        user1.RealName         = someone.Name;
                        user1.BindingCode      = someone.BindingCode;
                        user1.Phone            = someone.IndividualTelNumber;
                        user1.BindTag          = false;
                        user1.LastTime         = DateTime.Now;
                        user1.IsAvail          = true;
                        sysdb.BindCodes.Add(user1);
                        sysdb.SaveChanges();
                    }
                    db.SaveChanges();
                    Push(someone.StaffNumber, user.CompanyId, status);
                }
            } break;

            case "22":
            {         //变更
                StaffChange someone = (from p in db.StaffChanges where (p.BillNumber == application.BNumber) && (p.BillTypeNumber == application.BType) select p).ToList().SingleOrDefault();
                if (someone != null)
                {
                    someone.AuditStatus = status;
                    if (someone.AuditStatus == 3)
                    {
                        var   staffId = (from p in db.Staffs where p.StaffNumber == someone.StaffNumber && p.ArchiveTag != true select p.Number).ToList().FirstOrDefault();
                        Staff staff   = db.Staffs.Find(staffId);
                        staff.Name                      = someone.Name;
                        staff.Gender                    = someone.Gender;
                        staff.Department                = someone.Department;
                        staff.WorkType                  = someone.WorkType;
                        staff.Position                  = someone.Position;
                        staff.IdentificationNumber      = someone.IdentificationNumber;
                        staff.Nationality               = someone.Nationality;
                        staff.IdentificationNumber      = someone.IdentificationNumber;
                        staff.Entrydate                 = someone.Entrydate;
                        staff.ClassOrder                = someone.ClassOrder;
                        staff.ApplyOvertimeSwitch       = staff.ApplyOvertimeSwitch;
                        staff.JobState                  = someone.JobState;
                        staff.AbnormalChange            = someone.AbnormalChange;
                        staff.FreeCard                  = someone.FreeCard;
                        staff.WorkProperty              = someone.WorkProperty;
                        staff.WorkType                  = someone.WorkType;
                        staff.Source                    = someone.Source;
                        staff.QualifyingPeriodFull      = someone.QualifyingPeriodFull;
                        staff.MaritalStatus             = someone.MaritalStatus;
                        staff.BirthDate                 = someone.BirthDate;
                        staff.NativePlace               = someone.NativePlace;
                        staff.HealthCondition           = someone.HealthCondition;
                        staff.Nation                    = someone.Nation;
                        staff.Address                   = someone.Address;
                        staff.VisaOffice                = someone.VisaOffice;
                        staff.HomeTelNumber             = someone.HomeTelNumber;
                        staff.EducationBackground       = someone.EducationBackground;
                        staff.GraduationSchool          = someone.GraduationSchool;
                        staff.SchoolMajor               = someone.SchoolMajor;
                        staff.Degree                    = someone.SchoolMajor;
                        staff.Introducer                = someone.Introducer;
                        staff.IndividualTelNumber       = someone.IndividualTelNumber;
                        staff.BankCardNumber            = someone.BankCardNumber;
                        staff.UrgencyContactMan         = someone.UrgencyContactMan;
                        staff.UrgencyContactAddress     = someone.UrgencyContactAddress;
                        staff.UrgencyContactPhoneNumber = someone.UrgencyContactPhoneNumber;
                        staff.PhysicalCardNumber        = someone.PhysicalCardNumber;
                        staff.LeaveDate                 = someone.LeaveDate;
                        staff.LeaveType                 = someone.LeaveType;
                        staff.LeaveReason               = someone.LeaveReason;
                        staff.AuditStatus               = someone.AuditStatus;
                        staff.HealthCondition           = someone.HealthCondition;
                        staff.ChangeTime                = someone.RecordTime;
                        staff.ChangePerson              = someone.RecordPerson;
                        staff.AuditTime                 = DateTime.Now;
                        staff.AuditPerson               = userName;
                        staff.Head                      = someone.Head;
                        staff.LogicCardNumber           = someone.LogicCardNumber;
                        staff.HeadType                  = someone.HeadType;
                        staff.IDCardNumber              = someone.IDCardNumber;
                        staff.DeadlineDate              = someone.DeadlineDate;
                    }
                    db.SaveChanges();
                    Push(someone.StaffNumber, user.CompanyId, status);
                }
            }
            break;

            case "23":
            {         //离职
                StaffApplication someone = (from p in db.StaffApplications where (p.BillNumber == application.BNumber) && (p.BillTypeNumber == application.BType) select p).ToList().SingleOrDefault();
                if (someone != null)
                {
                    someone.AuditStatus = status;
                    if (someone.AuditStatus == 3)
                    {         //审核通过就在Staff里面把标志置为1
                        var   staffId = (from p in db.Staffs where p.StaffNumber == someone.StaffNumber && p.ArchiveTag != true select p.Number).ToList().FirstOrDefault();
                        Staff staff   = db.Staffs.Find(staffId);
                        staff.ArchiveTag  = true;       //true 代表离职
                        staff.BindingCode = null;
                        //要把信息写到离职档案中
                        StaffArchive staffArchive = new StaffArchive();
                        staffArchive.BillTypeNumber     = someone.BillTypeNumber;
                        staffArchive.BillTypeName       = someone.BillTypeName;
                        staffArchive.BillNumber         = someone.BillNumber;
                        staffArchive.StaffNumber        = staff.StaffNumber;
                        staffArchive.StaffName          = staff.Name;
                        staffArchive.LeaveDate          = someone.HopeLeaveDate;
                        staffArchive.Department         = (from p in db.Departments where p.DepartmentId == staff.Department select p.Name).ToList().FirstOrDefault();
                        staffArchive.IdenticationNumber = staff.IdentificationNumber;
                        staffArchive.RecordPerson       = staff.RecordPerson;
                        staffArchive.RecordTime         = staff.RecordTime;
                        staffArchive.BlackList          = false;
                        staffArchive.WorkPlus           = false;
                        staff.ArchiveTag = true;            //true 代表离职
                        db.StaffArchives.Add(staffArchive); //Users表中离职;
                        //修改系统表
                        SystemDbContext sysdb  = new SystemDbContext();
                        var             Ucount = (from p in sysdb.BindCodes where (p.CompanyId == user.CompanyId && p.StaffNumber == someone.StaffNumber) select p).SingleOrDefault();
                        if (Ucount != null)
                        {
                            sysdb.BindCodes.Remove(Ucount);
                            sysdb.SaveChanges();
                        }
                        db.SaveChanges();
                        Push(someone.StaffNumber, user.CompanyId, status);
                    }
                }
            }
            break;

            case "24":
            {        //技能
                StaffSkill someone = (from p in db.StaffSkills where (p.BillNumber == application.BNumber) && (p.BillTypeNumber == application.BType) select p).ToList().SingleOrDefault();
                if (someone != null)
                {
                    someone.AuditStatus = status;
                }
                Push(someone.StaffNumber, user.CompanyId, status);
            }
            break;

            case "25":
            {        //招聘
                Recruitments someone = (from p in db.Recruitments where (p.BillCode == application.BNumber) && (p.BillType == application.BType) select p).ToList().SingleOrDefault();
                if (someone != null)
                {
                    someone.AuditStatus = status;
                }
            }
            break;

            case "26":
            {         //培训
                TrainStart someone = (from p in db.TrainStarts where (p.BillNumber == application.BNumber) && (p.BillTypeNumber == application.BType) select p).ToList().SingleOrDefault();
                if (someone != null)
                {
                    someone.AuditStatus = status;
                }
            }
            break;

            case "27":
            {        //合同
                Contract someone = (from p in db.Contracts where (p.BillNumber == application.BNumber) && (p.BillTypeNumber == application.BType) select p).ToList().SingleOrDefault();
                if (someone != null)
                {
                    someone.AuditStatus = status;        //已审
                }
            } break;

            case "31":
            {         //出差
                EvectionApplies someone = (from p in db.EvectionApplies where (p.BillNumber == application.BNumber) && (p.BillType == application.BType) select p).SingleOrDefault();
                if (someone != null)
                {
                    someone.AuditStatus = status;
                }
                Push(someone.StaffNumber, user.CompanyId, status);
            }
            break;

            case "32":
            {         //请假
                VacateApplies someone = (from p in db.VacateApplies where (p.BillNumber == application.BNumber) && (p.BillType == application.BType) select p).ToList().SingleOrDefault();
                if (someone != null)
                {
                    someone.AuditStatus = status;
                }
                Push(someone.StaffNumber, user.CompanyId, status);
            }
            break;

            case "33":
            {         //加班
                OvertimeApplies someone = (from p in db.OvertimeApplies where (p.BillNumber == application.BNumber) && (p.BillType == application.BType) select p).ToList().SingleOrDefault();
                if (someone != null)
                {
                    OvertimeApplies correct = db.OvertimeApplies.Find(someone.Id);
                    correct.AuditPerson     = someone.AuditPerson;
                    correct.AuditStatus     = status;
                    correct.AuditStatusName = someone.AuditStatusName;
                    correct.AuditTime       = someone.AuditTime;
                    correct.BillNumber      = someone.BillNumber;
                    correct.BillType        = someone.BillType;
                    correct.Date            = someone.Date;
                    correct.EndDateTime     = someone.EndDateTime;
                    correct.Hours           = someone.Hours;
                    correct.IsRead          = someone.IsRead;
                    correct.Reason          = someone.Reason;
                    correct.Remark          = someone.Remark;
                    correct.StaffNumber     = someone.StaffNumber;
                    correct.StartDateTime   = someone.StartDateTime;
                    db.SaveChanges();
                }
                Push(someone.StaffNumber, user.CompanyId, status);
            }
            break;

            case "34":
            {         //签卡
                ChargeCardApplies someone = (from p in db.ChargeCardApplies where (p.BillNumber == application.BNumber) && (p.BillType == p.BillType) select p).ToList().SingleOrDefault();
                if (someone != null)
                {
                    someone.AuditStatus = status;
                }
                Push(someone.StaffNumber, user.CompanyId, status);
            }
            break;

            case "35":
            {         //调休
                DaysOffApplies someone = (from p in db.DaysOffApplies where (p.BillNumber == application.BNumber) && (p.BillType == application.BType) select p).ToList().SingleOrDefault();
                if (someone != null)
                {
                    someone.AuditStatus = status;
                }
                Push(someone.StaffNumber, user.CompanyId, status);
            }
            break;

            case "36":
            {         //异地
                VacateApplies someone = (from p in db.VacateApplies where (p.BillNumber == application.BNumber) && (p.BillType == application.BType) select p).ToList().SingleOrDefault();
                if (someone != null)
                {
                    someone.AuditStatus = status;
                }
                Push(someone.StaffNumber, user.CompanyId, status);
            }
            break;

            case "37":
            {         //值班
                OnDutyApplies someone = (from p in db.OnDutyApplies where (p.BillNumber == application.BNumber) && (p.BillType == application.BType) select p).ToList().SingleOrDefault();
                if (someone != null)
                {
                    someone.AuditStatus = status;
                }
                Push(someone.StaffNumber, user.CompanyId, status);
            }
            break;

            default:
                break;
            }
            switch (btype)
            {
            case "27":
            {                                 //合同
                Contract someone = (from p in db.Contracts where p.BillNumber == application.BNumber select p).ToList().SingleOrDefault();
                someone.AuditStatus = status; //已审
            } break;

            case "21":
            {                                 //员工
                Staff someone = (from p in db.Staffs where p.BillNumber == application.BNumber select p).ToList().SingleOrDefault();
                someone.AuditStatus = status; //已审
            } break;

            case "24":
            {        //技能
                StaffSkill someone = (from p in db.StaffSkills where p.BillNumber == application.BNumber select p).ToList().SingleOrDefault();
                someone.AuditStatus = status;
            }
            break;

            case "26":
            {         //培训
                TrainStart someone = (from p in db.TrainStarts where p.BillNumber == application.BNumber select p).ToList().SingleOrDefault();
                someone.AuditStatus = status;
            }
            break;

            case "23":
            {         //离职
                StaffApplication someone = (from p in db.StaffApplications where p.BillNumber == application.BNumber select p).ToList().SingleOrDefault();
                someone.AuditStatus = status;
                if (someone.AuditStatus == 3)
                {         //审核通过就在Staff里面把标志置为1
                    var   staffId = (from p in db.Staffs where p.StaffNumber == someone.StaffNumber && p.ArchiveTag != true select p.Number).ToList().FirstOrDefault();
                    Staff staff   = db.Staffs.Find(staffId);
                    staff.ArchiveTag = true;        //true 代表离职
                    //要把信息写到离职档案中
                    StaffArchive staffArchive = new StaffArchive();
                    staffArchive.BillTypeNumber     = someone.BillTypeNumber;
                    staffArchive.BillTypeName       = someone.BillTypeName;
                    staffArchive.StaffNumber        = staff.StaffNumber;
                    staffArchive.StaffName          = staff.Name;
                    staffArchive.Department         = staff.Department;
                    staffArchive.IdenticationNumber = staff.IdentificationNumber;
                    staffArchive.RecordPerson       = staff.RecordPerson;
                    staffArchive.RecordTime         = staff.RecordTime;
                    staffArchive.BillNumber         = Generate.GenerateBillNumber(staffArchive.BillTypeNumber, user.ConnectionString);
                    db.StaffArchives.Add(staffArchive);
                    db.SaveChanges();
                }
            }
            break;

            case "22":
            {         //变更
                StaffChange someone = (from p in db.StaffChanges where p.BillNumber == application.BNumber select p).ToList().SingleOrDefault();
                someone.AuditStatus = status;
                if (someone.AuditStatus == 3)
                {
                    var   staffId = (from p in db.Staffs where p.StaffNumber == someone.StaffNumber && p.ArchiveTag != true select p.Number).ToList().FirstOrDefault();
                    Staff staff   = db.Staffs.Find(staffId);
                    staff.Name                      = someone.Name;
                    staff.Gender                    = someone.Gender;
                    staff.Department                = someone.Department;
                    staff.WorkType                  = someone.WorkType;
                    staff.Position                  = someone.Position;
                    staff.IdentificationNumber      = someone.IdentificationNumber;
                    staff.Nationality               = someone.Nationality;
                    staff.IdentificationNumber      = someone.IdentificationNumber;
                    staff.Entrydate                 = someone.Entrydate;
                    staff.ClassOrder                = someone.ClassOrder;
                    staff.ApplyOvertimeSwitch       = staff.ApplyOvertimeSwitch;
                    staff.JobState                  = someone.JobState;
                    staff.AbnormalChange            = someone.AbnormalChange;
                    staff.FreeCard                  = someone.FreeCard;
                    staff.WorkProperty              = someone.WorkProperty;
                    staff.WorkType                  = someone.WorkType;
                    staff.Source                    = someone.Source;
                    staff.QualifyingPeriodFull      = someone.QualifyingPeriodFull;
                    staff.MaritalStatus             = someone.MaritalStatus;
                    staff.BirthDate                 = someone.BirthDate;
                    staff.NativePlace               = someone.NativePlace;
                    staff.HealthCondition           = someone.HealthCondition;
                    staff.Nation                    = someone.Nation;
                    staff.Address                   = someone.Address;
                    staff.VisaOffice                = someone.VisaOffice;
                    staff.HomeTelNumber             = someone.HomeTelNumber;
                    staff.EducationBackground       = someone.EducationBackground;
                    staff.GraduationSchool          = someone.GraduationSchool;
                    staff.SchoolMajor               = someone.SchoolMajor;
                    staff.Degree                    = someone.SchoolMajor;
                    staff.Introducer                = someone.Introducer;
                    staff.IndividualTelNumber       = someone.IndividualTelNumber;
                    staff.BankCardNumber            = someone.BankCardNumber;
                    staff.UrgencyContactMan         = someone.UrgencyContactMan;
                    staff.UrgencyContactAddress     = someone.UrgencyContactAddress;
                    staff.UrgencyContactPhoneNumber = someone.UrgencyContactPhoneNumber;
                    staff.PhysicalCardNumber        = someone.PhysicalCardNumber;
                    staff.LeaveDate                 = someone.LeaveDate;
                    staff.LeaveType                 = someone.LeaveType;
                    staff.LeaveReason               = someone.LeaveReason;
                    staff.AuditStatus               = someone.AuditStatus;
                    staff.HealthCondition           = someone.HealthCondition;
                    staff.ChangeTime                = someone.RecordTime;
                    staff.ChangePerson              = someone.RecordPerson;
                    staff.AuditTime                 = DateTime.Now;
                    staff.AuditPerson               = user.Name;
                    staff.Head                      = someone.Head;
                    staff.LogicCardNumber           = someone.LogicCardNumber;
                    staff.HeadType                  = someone.HeadType;
                    staff.IDCardNumber              = someone.IDCardNumber;
                    staff.DeadlineDate              = someone.DeadlineDate;
                }
                db.SaveChanges();
            }
            break;

            case "33":
            {         //加班
                OvertimeApplies someone = (from p in db.OvertimeApplies where p.BillNumber == application.BNumber select p).ToList().SingleOrDefault();
                someone.AuditStatus = status;

                Push(someone.StaffNumber, user.CompanyId, status);
            }
            break;

            case "32":
            {         //请假
                VacateApplies someone = (from p in db.VacateApplies where p.BillNumber == application.BNumber select p).ToList().SingleOrDefault();
                someone.AuditStatus = status;
                Push(someone.StaffNumber, user.CompanyId, status);
            }
            break;

            case "34":
            {         //请假
                ChargeCardApplies someone = (from p in db.ChargeCardApplies where p.BillNumber == application.BNumber select p).ToList().SingleOrDefault();
                someone.AuditStatus = status;
                Push(someone.StaffNumber, user.CompanyId, status);
            }
            break;

            case "31":
            {         //出差
                EvectionApplies someone = (from p in db.EvectionApplies where p.BillNumber == application.BNumber select p).SingleOrDefault();
                someone.AuditStatus = status;
                Push(someone.StaffNumber, user.CompanyId, status);
            }
            break;

            case "35":
            {         //出差
                DaysOffApplies someone = (from p in db.DaysOffApplies where p.BillNumber == application.BNumber select p).SingleOrDefault();
                someone.AuditStatus = status;
                Push(someone.StaffNumber, user.CompanyId, status);
            }
            break;

            case "36":
            {         //出差
                OffSiteApplies someone = (from p in db.OffSiteApplies where p.BillNumber == application.BNumber select p).SingleOrDefault();
                someone.AuditStatus = status;
                Push(someone.StaffNumber, user.CompanyId, status);
            }
            break;

            case "37":
            {         //出差
                OnDutyApplies someone = (from p in db.OnDutyApplies where p.BillNumber == application.BNumber select p).SingleOrDefault();
                someone.AuditStatus = status;
                Push(someone.StaffNumber, user.CompanyId, status);
            }
            break;

            default:
                break;
            }
            db.SaveChanges();
        }
        public byte AuditApplicationStaffSkill(Recruitments staffSkill)//(string BillTypeNumber,int id)
        {
            /*访问单据性质,看是否是自动审核*/
            var item = (from p in db.BillProperties where p.Type == staffSkill.BillType select p).ToList().FirstOrDefault();

            if (item.IsAutoAudit == 1)
            {              //如果为0 代表不能自动审核 如果为1  代表可以自动审核
                return(3); //代表自动审核
            }

            if (item.IsAutoAudit == 2)
            {
                //手动审核,也写到db.AditApplications这个表中但是不走process?
                return(6);//手动审核
            }

            if (item.IsAutoAudit == 3)
            { //如果不自动审核,就要走人工审核流程。即,把信息写入db.AditApplications这个表中
                AuditApplication auditApplication = new AuditApplication();
                auditApplication.BType      = item.Type;
                auditApplication.TypeName   = item.TypeName;
                auditApplication.CreateDate = DateTime.Now;

                var template = (from p in db.AuditTemplates
                                where (
                                    (staffSkill.BillType == p.BType) && (DateTime.Now > p.StartTime) && (DateTime.Now < p.ExpireTime)
                                    )
                                select p).ToList().FirstOrDefault();
                if (template != null)
                {
                    // Staff staff = db.Staffs.Where(c => c.StaffNumber.Equals(staffSkill.)).ToList().Single();
                    // var tmpDepartment = (from p in db.Departments where p.DepartmentId == staff.Department select p.Name).ToList().Single();
                    var tmpBillType = (from p in db.BillProperties where p.Type == staffSkill.BillType select p.TypeFullName).ToList().Single();
                    auditApplication.Info =
                        "单据名称:" + tmpBillType + ";" +
                        "申请部门:" + staffSkill.DepartmentName + ";" +
                        "招聘职务:" + staffSkill.Position + ";" +
                        "招聘人数:" + staffSkill.RequiredNumber + ";" +
                        "性别:" + staffSkill.Gender + ";" +
                        "年龄:" + staffSkill.Age + ";" +
                        "婚姻状况:" + staffSkill.MaritalStatus + ";" +
                        "学历要求:" + staffSkill.EducationBackground + ";" +
                        "专业:" + staffSkill.Major + ";" +
                        "工作经验:" + staffSkill.WorkExperience + ";" +
                        "技能要求:" + staffSkill.Skill + ";" +
                        "其他条件:" + staffSkill.Others + ";"
                    ;
                    //"单别:" + staffSkill.BillTypeNumber + ";" +
                    //"单号:" + staffSkill.BillNumber + ";" +
                    //"员工:" + staffSkill.StaffNumber + ";" +
                    //"技能编号:" + staffSkill.SkillNumber + ";" +
                    //"备注:" + staffSkill.SkillRemark + ";" +
                    //"单据类别编号:" + staffSkill.BillTypeNumber + ";" +
                    //"生效日期:" + staffSkill.ValidDate + ";" +
                    //"创建日期:" + staffSkill.RecordTime + ";" +
                    //"录入人员:" + staffSkill.RecordPerson + ";";

                    auditApplication.BNumber     = staffSkill.BillCode;
                    auditApplication.TId         = template.Id;
                    auditApplication.Creator     = this.UserName;
                    auditApplication.CreatorName = this.Name;
                    auditApplication.State       = 0;//代表等待审核
                    db.AuditApplications.Add(auditApplication);
                    db.SaveChanges();

                    AuditStep step = db.AuditSteps.Find(template.FirstStepSId);
                    if (step == null)
                    {
                        return(7);
                    }
                    else
                    {
                        AuditProcess auditProcess = new AuditProcess();
                        auditProcess.AId      = auditApplication.Id;
                        auditProcess.SId      = step.SId;
                        auditProcess.TId      = step.TId;
                        auditProcess.BType    = auditApplication.BType;
                        auditProcess.BNumber  = auditApplication.BNumber;
                        auditProcess.TypeName = auditApplication.TypeName;
                        auditProcess.Info     = auditApplication.Info;
                        //auditProcess.Info = auditApplication.Info + "提交人员:" + auditApplication.CreatorName + "-" + auditApplication.Creator + ";" +
                        //   "提交日期:" + auditApplication.CreateDate + ";";
                        auditProcess.AuditDate    = DateTime.Now;
                        auditProcess.CreateDate   = auditApplication.CreateDate;
                        auditProcess.Result       = 0;                               //待审
                        auditProcess.DeadlineDate = DateTime.Now.AddDays(step.Days); //记录一下该节点最晚的审核时间;
                        auditProcess.Approver     = step.Approver;
                        db.AuditProcesses.Add(auditProcess);
                        db.SaveChanges();
                    }
                    db.SaveChanges();
                    return(0);//待审
                }
                else
                {
                    return(7);//待审(未能进入审核流程)
                }
            }
            return(0);//待审
        }