public ActionResult SalaryPaymentDetail(string id) { ISalaryGrantBLL salaryGrantBLL = new SalaryGrantBLL(); IStaffBLL staffBLL = new StaffBLL(); ISalaryBLL salaryBLL = new SalaryBLL(); ISalaryItemBLL salaryItemBLL = new SalaryItemBLL(); IOrgBLL orgBLL = new OrgBLL(); List <StaffPayment> staffPaymentList = salaryGrantBLL.GetAllStaffPaymentByPaymentId(Convert.ToInt32(id)); List <Models.StaffPayment> staffPaymentListView = new List <Models.StaffPayment>(); foreach (var sp in staffPaymentList) { Models.StaffPayment staffPayment = new Models.StaffPayment { Id = sp.Id, OddAmout = sp.OddAmout, MinusAmout = sp.MinusAmout }; //获取Model.StaffSalary,为StaffPayment装载StaffSalary StaffSalary staffSalary = salaryGrantBLL.GetStaffSalaryById(sp.StaffSalaryId); Models.StaffSalary staffSalaryView = new Models.StaffSalary { Id = staffSalary.Id, StaffFileNumber = staffSalary.StaffFileNumber }; Staff staff = staffBLL.GetStaffById(staffSalary.StaffId); staffSalaryView.Staff = new Models.Staff { Id = staff.Id, StaffName = staff.StaffName }; ThirdOrg thirdOrg = orgBLL.GetThirdOrgById(staff.ThirdOrgId); SecondOrg secondOrg = orgBLL.GetSecondOrgById(thirdOrg.ParentOrgId); FirstOrg firstOrg = orgBLL.GetFirstOrgById(secondOrg.ParentOrgId); Models.FirstOrg firstOrgView = new Models.FirstOrg { Id = firstOrg.Id, OrgLevel = firstOrg.OrgLevel, OrgName = firstOrg.OrgName }; Models.SecondeOrg secondeOrgView = new Models.SecondeOrg { Id = secondOrg.Id, OrgName = secondOrg.OrgName, OrgLevel = secondOrg.OrgLevel, ParentOrg = firstOrgView }; staffSalaryView.ThirdOrg = new Models.ThirdOrg { Id = thirdOrg.Id, ParentOrg = secondeOrgView, OrgLevel = thirdOrg.OrgLevel, OrgName = thirdOrg.OrgName }; SalaryStandard salaryStandard = salaryBLL.GetSalaryStandardById(staffSalary.StandardId); Models.SalaryStandard salaryStandardView = new Models.SalaryStandard { Id = salaryStandard.Id, StandardName = salaryStandard.StandardName, }; List <StandardMapItem> standardMapItemList = salaryBLL.GetAllStandardMapItemByStandardId(salaryStandard.Id); foreach (var item in standardMapItemList) { SalaryItem salaryItem = salaryItemBLL.GetSalaryItemById(item.ItemId); Models.SalaryItem salaryItemView = new Models.SalaryItem { Id = salaryItem.Id, Name = salaryItem.Name }; salaryStandardView.ItemAmout.Add(salaryItemView, item.Amout);; } staffSalaryView.SalaryStandard = salaryStandardView; staffPayment.StaffSalary = staffSalaryView; SalaryPayment salaryPayment = salaryGrantBLL.GetSalaryPaymentById(sp.PaymentId); staffPayment.SalaryPayment = new Models.SalaryPayment { Id = salaryPayment.Id, TotalPerson = salaryPayment.TotalPerson, TotalAmout = salaryPayment.TotalAmout, FileState = salaryPayment.FileState, FileNumber = salaryPayment.FileNumber, Registrant = salaryPayment.Registrant, RegistTime = salaryPayment.RegistTime, TotalReal = salaryPayment.TotalReal, CheckBy = salaryPayment.CheckBy, CheckTime = salaryPayment.CheckTime }; staffPaymentListView.Add(staffPayment); } ViewData["staffPaymentListView"] = staffPaymentListView; return(View()); }
/// <summary> /// 薪酬标准详情 /// </summary> /// <param name="id">薪酬标准的id</param> /// <returns>薪酬标准详情页</returns> public ActionResult DetailSalaryStandard(string id) { ISalaryBLL salaryBLL = new SalaryBLL(); ISalaryItemBLL salaryItemBLL = new SalaryItemBLL(); IOccupationBLL occupationBLL = new OccupationBLL(); //通过id查找到薪酬标准 SalaryStandard salaryStandard = salaryBLL.GetSalaryStandardById(Convert.ToInt32(id)); //视图模型薪酬标准 Models.SalaryStandard salaryStandardView = new Models.SalaryStandard { Id = salaryStandard.Id, StandardName = salaryStandard.StandardName, StandardFileNumber = salaryStandard.StandardFileNumber, Registrant = salaryStandard.Registrant, RegistTime = salaryStandard.RegistTime, DesignBy = salaryStandard.DesignBy, Total = salaryStandard.Total, StandardState = salaryStandard.StandardState, CheckDesc = salaryStandard.CheckDesc, CheckBy = salaryStandard.CheckBy }; //通过薪酬标准的id找到所有的项目映射关系 List <StandardMapItem> tempMapList = salaryBLL.GetAllStandardMapItemByStandardId(salaryStandard.Id); //遍历映射关系,并把薪酬项目和薪酬项目的金额装载到视图模型薪酬标准的字典中 foreach (var m in tempMapList) { SalaryItem tempSalaryItem = salaryItemBLL.GetSalaryItemById(m.ItemId); Models.SalaryItem salaryItemView = new Models.SalaryItem { Id = tempSalaryItem.Id, Name = tempSalaryItem.Name }; salaryStandardView.ItemAmout.Add(salaryItemView, m.Amout); } //通过薪酬标准的id找到所有的职位映射关系 List <StandardMapOccupationName> occList = salaryBLL.GetAllStandardMapOccByStandardId(salaryStandard.Id); if (occList != null) { foreach (var o in occList) { OccupationName tempOccName = occupationBLL.GetOccupationNameById(o.OccupationNameId); Models.OccupationName occupationNameView = new Models.OccupationName { Id = tempOccName.Id, Name = tempOccName.Name }; OccupationClass tempOccClass = occupationBLL.GetOccupationClassById(tempOccName.ClassId); occupationNameView.OccupationClass = new Models.OccupationClass { Id = tempOccClass.Id, Name = tempOccClass.Name }; salaryStandardView.OccList.Add(occupationNameView); } } ViewData["salaryStandardView"] = salaryStandardView; return(View()); }
/// <summary> /// 控制器内部方法,通过id获取薪酬标准的详细信息 /// </summary> /// <param name="id">薪酬标准的id</param> private void GetStandardById(string id) { ISalaryBLL salaryBLL = new SalaryBLL(); ISalaryItemBLL salaryItemBLL = new SalaryItemBLL(); IOccupationBLL occupationBLL = new OccupationBLL(); //通过id查找到薪酬标准 SalaryStandard salaryStandard = salaryBLL.GetSalaryStandardById(Convert.ToInt32(id)); //视图模型薪酬标准 Models.SalaryStandard salaryStandardView = new Models.SalaryStandard { Id = salaryStandard.Id, StandardName = salaryStandard.StandardName, StandardFileNumber = salaryStandard.StandardFileNumber, Registrant = salaryStandard.Registrant, RegistTime = salaryStandard.RegistTime, DesignBy = salaryStandard.DesignBy, Total = salaryStandard.Total, StandardState = salaryStandard.StandardState, CheckDesc = salaryStandard.CheckDesc, CheckBy = salaryStandard.CheckBy }; //通过薪酬标准的id找到所有的项目映射关系 List <StandardMapItem> tempMapList = salaryBLL.GetAllStandardMapItemByStandardId(salaryStandard.Id); //遍历映射关系,并把薪酬项目和薪酬项目的金额装载到视图模型薪酬标准的字典中 foreach (var m in tempMapList) { SalaryItem tempSalaryItem = salaryItemBLL.GetSalaryItemById(m.ItemId); Models.SalaryItem salaryItemView = new Models.SalaryItem { Id = tempSalaryItem.Id, Name = tempSalaryItem.Name }; salaryStandardView.ItemAmout.Add(salaryItemView, m.Amout); } //通过薪酬标准的id找到所有的职位映射关系 List <StandardMapOccupationName> occList = salaryBLL.GetAllStandardMapOccByStandardId(salaryStandard.Id); if (occList != null) { foreach (var o in occList) { OccupationName tempOccName = occupationBLL.GetOccupationNameById(o.OccupationNameId); Models.OccupationName occupationNameView = new Models.OccupationName { Id = tempOccName.Id, Name = tempOccName.Name }; OccupationClass tempOccClass = occupationBLL.GetOccupationClassById(tempOccName.ClassId); occupationNameView.OccupationClass = new Models.OccupationClass { Id = tempOccClass.Id, Name = tempOccClass.Name }; salaryStandardView.OccList.Add(occupationNameView); } } ViewData["salaryStandardView"] = salaryStandardView; //装载所有薪酬项目 List <SalaryItem> salaryList = salaryItemBLL.GetAllSalaryItem(); List <Models.SalaryItem> itemList = new List <Models.SalaryItem>(); foreach (var item in salaryList) { Models.SalaryItem tempItem = new Models.SalaryItem { Id = item.Id, Name = item.Name }; itemList.Add(tempItem); } ViewData["itemList"] = itemList; //装载所有职位类型 List <OccupationClass> occClassList = occupationBLL.GetAllOccupationClass(); List <Models.OccupationClass> occClassListView = new List <Models.OccupationClass>(); if (occClassList != null) { foreach (var oc in occClassList) { Models.OccupationClass tempClass = new Models.OccupationClass() { Id = oc.Id, Name = oc.Name }; occClassListView.Add(tempClass); } } ViewData["occClassListView"] = occClassListView; //装载所有该薪酬标准的职位类型下的所有职位 List <Models.OccupationName> occNameList = new List <Models.OccupationName>(); for (int i = 0; i < salaryStandardView.OccList.Count; i++) { List <OccupationName> tempList = occupationBLL.GetAllOccNameByClassId(salaryStandardView.OccList[i].OccupationClass.Id); foreach (var on in tempList) { Models.OccupationName tempOccupationName = new Models.OccupationName { Id = on.Id, Name = on.Name, OccupationClass = salaryStandardView.OccList[i].OccupationClass }; occNameList.Add(tempOccupationName); } } ViewData["occNameList"] = occNameList; }
/// <summary> /// 控制器内部方法 /// </summary> /// <param name="id">通过id装载视图模型Staff</param> private void GetStaffById(string id) { IStaffBLL staffBLL = new StaffBLL(); IOrgBLL orgBLL = new OrgBLL(); IOccupationBLL occupationBLL = new OccupationBLL(); ISalaryBLL salaryBLL = new SalaryBLL(); Staff staff = staffBLL.GetStaffById(Convert.ToInt32(id)); Models.Staff staffView = new Models.Staff(); Type type = typeof(Models.Staff); Type modelType = typeof(Staff); var props = type.GetProperties(); foreach (var p in props) { if (modelType.GetProperty(p.Name) != null) { p.SetValue(staffView, modelType.GetProperty(p.Name).GetValue(staff)); } } ThirdOrg thirdOrg = orgBLL.GetThirdOrgById(staff.ThirdOrgId); SecondOrg secondOrg = orgBLL.GetSecondOrgById(thirdOrg.ParentOrgId); FirstOrg firstOrg = orgBLL.GetFirstOrgById(secondOrg.ParentOrgId); OccupationName occupationName = occupationBLL.GetOccupationNameById(staff.OccId); OccupationClass occupationClass = occupationBLL.GetOccupationClassById(occupationName.ClassId); SalaryStandard salaryStandard = salaryBLL.GetSalaryStandardById(staff.StandardId); TechnicalTitle technicalTitle = occupationBLL.GetTechnicalTitleById(staff.TechnicalTitleId); staffView.FirstOrg = new Models.FirstOrg { Id = firstOrg.Id, OrgLevel = firstOrg.OrgLevel, OrgName = firstOrg.OrgName }; staffView.SecondeOrg = new Models.SecondeOrg { Id = secondOrg.Id, OrgName = secondOrg.OrgName, OrgLevel = secondOrg.OrgLevel, ParentOrg = staffView.FirstOrg }; staffView.ThirdOrg = new Models.ThirdOrg { Id = thirdOrg.Id, ParentOrg = staffView.SecondeOrg, OrgLevel = thirdOrg.OrgLevel, OrgName = thirdOrg.OrgName }; staffView.OccupationClass = new Models.OccupationClass { Id = occupationClass.Id, Name = occupationClass.Name }; staffView.OccupationName = new Models.OccupationName { Id = occupationName.Id, Name = occupationName.Name, OccupationClass = staffView.OccupationClass }; staffView.SalaryStandard = new Models.SalaryStandard { Id = salaryStandard.Id, StandardName = salaryStandard.StandardName, Total = salaryStandard.Total }; staffView.TechnicalTitle = new Models.TechnicalTitle { Id = technicalTitle.Id, Name = technicalTitle.Name }; ViewData["staffView"] = staffView; //装载所有职称 List <Models.TechnicalTitle> list = new List <Models.TechnicalTitle>(); List <TechnicalTitle> tempList = occupationBLL.GetAllTechnicalTitle(); foreach (var tt in tempList) { Models.TechnicalTitle tempTechnicalTitle = new Models.TechnicalTitle { Id = tt.Id, Name = tt.Name }; list.Add(tempTechnicalTitle); } ViewData["tTitleList"] = list; //装载该职位的所有薪酬标准 List <SalaryStandard> standardList = salaryBLL.GetAllStandardByOccId(staff.OccId); List <Models.SalaryStandard> standardListView = new List <Models.SalaryStandard>(); foreach (var s in standardList) { Models.SalaryStandard tempStandard = new Models.SalaryStandard { Id = s.Id, StandardName = s.StandardName, Total = s.Total }; standardListView.Add(tempStandard); } ViewData["standardListView"] = standardListView; }