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 BillTypeNumber(string number) { string temp = Generate.GenerateBillNumber(number, this.ConnectionString); try { var items = (from p in db.BillProperties where p.Type.Contains(number) || p.TypeName.Contains(number) select new { billNumber = temp }).ToList(); return(Json(items)); } catch (Exception e) { return(Json(new { success = false, msg = e.Message })); } }
public ActionResult ImportExcelFile() { HttpPostedFileBase file = Request.Files["file"]; string fileName = Path.Combine(Request.MapPath("~/Tmp"), Path.GetFileName(file.FileName)); string FileType = ".xls,.xlsx";//定义上传文件的类型字符串 if (!FileType.Contains(fileName)) { ModelState.AddModelError("", "文件类型不对,只能导入xls和xlsx格式的文件"); return(RedirectToAction("Index")); } file.SaveAs(fileName); string BillTypeNumber = "2603"; var item = (from p in db.BillProperties where p.Type == "2603" select p.TypeName).FirstOrDefault(); string BillTypeName = item; /*生成单号*/ string str = Generate.GenerateBillNumber(BillTypeNumber, this.ConnectionString); /*生成单号*/ string BillNumber = str; DataTable list = new DataTable(); list = ImportExcelFile1(fileName); for (int i = 0; i < list.Rows.Count; i++)//得到excel的所有行 { BillStaffMapping mapping = new BillStaffMapping { BillType = BillTypeNumber, BillNumber = BillNumber, StaffNumber = list.Rows[i][0].ToString(), //从外部Excel表格获取员工工号 TelPhone = list.Rows[i][2].ToString(), Email = list.Rows[i][3].ToString() }; db.BillStaffMappings.Add(mapping); db.SaveChanges(); } return(RedirectToAction("Index")); }
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(); }