Пример #1
0
        public ActionResult Create([Bind(Include = "Id,BillTypeNumber,BillTypeName,BillNumber,StaffNumber,Name,Gender,Department,WorkType,Position,IdentificationType,Nationality,IdentificationNumber,Entrydate,ClassOrder,JobState,AbnormalChange,FreeCard,WorkProperty,ApplyOvertimeSwitch,Source,QualifyingPeriodFull,MaritalStatus,BirthDate,NativePlace,HealthCondition,Nation,Address,VisaOffice,HomeTelNumber,EducationBackground,GraduationSchool,SchoolMajor,Degree,Introducer,IndividualTelNumber,BankCardNumber,UrgencyContactMan,UrgencyContactAddress,UrgencyContactPhoneNumber,InBlacklist,PhysicalCardNumber,AuditStatus,EffectiveDate,Remark,LeaveType,LeaveDate,LeaveReason")] StaffChange staffChange)
        {
            //List<SelectListItem> item = db.Staffs.ToList().Select(c => new SelectListItem
            //{
            //    Value = c.StaffNumber,
            //    Text = c.StaffNumber
            //}).ToList();

            //SelectListItem i = new SelectListItem();
            //i.Value = "";
            //i.Text = " ";
            //item.Insert(0,i);

            //ViewBag.StaffNumberList = item;

            if (ModelState.IsValid)
            {
                staffChange.AuditStatus = "未审核";
                db.StaffChanges.Add(staffChange);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(staffChange));
        }
        public JsonResult SendBillTypeNumber(string BillTypeNumber)
        {
            StaffChange staffChange = new StaffChange();
            var         item        = (from p in db.BillProperties where BillTypeNumber == p.Type select p).FirstOrDefault();

            staffChange.BillTypeName = item.TypeName;
            return(Json(staffChange));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            StaffChange staffChange = db.StaffChanges.Find(id);

            db.StaffChanges.Remove(staffChange);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "Id,BillTypeNumber,BillTypeName,BillNumber,StaffNumber,Name,Gender,Department,WorkType,Position,IdentificationType,Nationality,IdentificationNumber,Entrydate,ClassOrder,JobState,AbnormalChange,FreeCard,WorkProperty,ApplyOvertimeSwitch,Source,QualifyingPeriodFull,MaritalStatus,BirthDate,NativePlace,HealthCondition,Nation,Address,VisaOffice,HomeTelNumber,EducationBackground,GraduationSchool,SchoolMajor,Degree,Introducer,IndividualTelNumber,BankCardNumber,UrgencyContactMan,UrgencyContactAddress,UrgencyContactPhoneNumber,InBlacklist,PhysicalCardNumber,AuditStatus,EffectiveDate,Remark")] StaffChange staffChange)
 {
     if (ModelState.IsValid)
     {
         db.Entry(staffChange).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(staffChange));
 }
Пример #5
0
        public JsonResult SendBillTypeNumber(string BillTypeNumber)
        {
            StaffChange staffChange = new StaffChange();
            var         item        = (from p in db.BillProperties where BillTypeNumber == p.Type select p).FirstOrDefault();
            string      str         = Generate.GenerateBillNumber(BillTypeNumber, this.ConnectionString);

            staffChange.BillNumber   = str;
            staffChange.BillTypeName = item.TypeName;
            return(Json(staffChange));
        }
        public JsonResult SendData(string StaffNumber)
        {
            StaffChange staffChange = new StaffChange();
            var         itemStaff   = (from p in db.Staffs
                                       where StaffNumber == p.StaffNumber
                                       select p).FirstOrDefault();

            //赋值
            staffChange.Name                      = itemStaff.Name;
            staffChange.Gender                    = itemStaff.Gender;
            staffChange.Department                = itemStaff.Department;
            staffChange.WorkType                  = itemStaff.WorkType;
            staffChange.Position                  = itemStaff.Position;
            staffChange.IdentificationType        = itemStaff.IdentificationType;
            staffChange.Nationality               = itemStaff.Nationality;
            staffChange.IdentificationNumber      = itemStaff.IdentificationNumber;
            staffChange.Entrydate                 = itemStaff.Entrydate;
            staffChange.ClassOrder                = itemStaff.ClassOrder;
            staffChange.JobState                  = itemStaff.JobState;
            staffChange.AbnormalChange            = itemStaff.AbnormalChange;
            staffChange.FreeCard                  = itemStaff.FreeCard;
            staffChange.WorkProperty              = itemStaff.WorkProperty;
            staffChange.ApplyOvertimeSwitch       = itemStaff.ApplyOvertimeSwitch;
            staffChange.Source                    = itemStaff.Source;
            staffChange.QualifyingPeriodFull      = itemStaff.QualifyingPeriodFull;
            staffChange.MaritalStatus             = itemStaff.MaritalStatus;
            staffChange.BirthDate                 = itemStaff.BirthDate;
            staffChange.NativePlace               = itemStaff.NativePlace;
            staffChange.HealthCondition           = itemStaff.HealthCondition;
            staffChange.Nation                    = itemStaff.Nation;
            staffChange.Address                   = itemStaff.Address;
            staffChange.VisaOffice                = itemStaff.VisaOffice;
            staffChange.HomeTelNumber             = itemStaff.HomeTelNumber;
            staffChange.EducationBackground       = itemStaff.EducationBackground;
            staffChange.GraduationSchool          = itemStaff.GraduationSchool;
            staffChange.SchoolMajor               = itemStaff.SchoolMajor;
            staffChange.Degree                    = itemStaff.Degree;
            staffChange.Introducer                = itemStaff.Introducer;
            staffChange.IndividualTelNumber       = itemStaff.IndividualTelNumber;
            staffChange.BankCardNumber            = itemStaff.BankCardNumber;
            staffChange.UrgencyContactMan         = itemStaff.UrgencyContactMan;
            staffChange.UrgencyContactAddress     = itemStaff.UrgencyContactAddress;
            staffChange.UrgencyContactPhoneNumber = itemStaff.UrgencyContactPhoneNumber;
            staffChange.InBlacklist               = itemStaff.InBlacklist;
            staffChange.PhysicalCardNumber        = itemStaff.PhysicalCardNumber;
            //staffChange.AuditStatus = itemStaff.AuditStatus;
            staffChange.LeaveDate     = itemStaff.LeaveDate;
            staffChange.LeaveType     = itemStaff.LeaveType;
            staffChange.LeaveReason   = itemStaff.LeaveReason;
            staffChange.EffectiveDate = null;

            return(Json(staffChange));
        }
        // GET: StaffChange/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            StaffChange staffChange = db.StaffChanges.Find(id);

            if (staffChange == null)
            {
                return(HttpNotFound());
            }
            return(View(staffChange));
        }
Пример #8
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
        // GET: StaffChangeMange/Details/5
        public ActionResult Details(int?id, int?flag)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            StaffChange staffChange = db.StaffChanges.Find(id);

            if (staffChange == null)
            {
                return(HttpNotFound());
            }
            else
            {
                if (flag == 0)
                {
                    staffChange.AuditStatus = "审核通过";

                    var itemStaff = (from p in db.Staffs where p.StaffNumber == staffChange.StaffNumber select p).FirstOrDefault();
                    {
                        itemStaff.Name                      = staffChange.Name;
                        itemStaff.Gender                    = staffChange.Gender;
                        itemStaff.Department                = staffChange.Department;
                        itemStaff.WorkType                  = staffChange.WorkType;
                        itemStaff.Position                  = staffChange.Position;
                        itemStaff.IdentificationType        = staffChange.IdentificationType;
                        itemStaff.Nationality               = staffChange.Nationality;
                        itemStaff.IdentificationNumber      = staffChange.IdentificationNumber;
                        itemStaff.Entrydate                 = staffChange.Entrydate;
                        itemStaff.ClassOrder                = staffChange.ClassOrder;
                        itemStaff.JobState                  = staffChange.JobState;
                        itemStaff.AbnormalChange            = staffChange.AbnormalChange;
                        itemStaff.FreeCard                  = staffChange.FreeCard;
                        itemStaff.WorkProperty              = staffChange.WorkProperty;
                        itemStaff.ApplyOvertimeSwitch       = staffChange.ApplyOvertimeSwitch;
                        itemStaff.Source                    = staffChange.Source;
                        itemStaff.QualifyingPeriodFull      = staffChange.QualifyingPeriodFull;
                        itemStaff.MaritalStatus             = staffChange.MaritalStatus;
                        itemStaff.BirthDate                 = staffChange.BirthDate;
                        itemStaff.NativePlace               = staffChange.NativePlace;
                        itemStaff.HealthCondition           = staffChange.HealthCondition;
                        itemStaff.Nation                    = staffChange.Nation;
                        itemStaff.Address                   = staffChange.Address;
                        itemStaff.VisaOffice                = staffChange.VisaOffice;
                        itemStaff.HomeTelNumber             = staffChange.HomeTelNumber;
                        itemStaff.EducationBackground       = staffChange.EducationBackground;
                        itemStaff.GraduationSchool          = staffChange.GraduationSchool;
                        itemStaff.SchoolMajor               = staffChange.SchoolMajor;
                        itemStaff.Degree                    = staffChange.Degree;
                        itemStaff.Introducer                = staffChange.Introducer;
                        itemStaff.IndividualTelNumber       = staffChange.IndividualTelNumber;
                        itemStaff.BankCardNumber            = staffChange.BankCardNumber;
                        itemStaff.UrgencyContactMan         = staffChange.UrgencyContactMan;
                        itemStaff.UrgencyContactAddress     = staffChange.UrgencyContactAddress;
                        itemStaff.UrgencyContactPhoneNumber = staffChange.UrgencyContactPhoneNumber;
                        itemStaff.InBlacklist               = staffChange.InBlacklist;
                        itemStaff.PhysicalCardNumber        = staffChange.PhysicalCardNumber;
                    }
                }
                else
                if (flag == 1)
                {
                    staffChange.AuditStatus = "审核不通过";
                }
            }
            db.SaveChanges();
            return(View(staffChange));
        }