public ActionResult DynamicOccName(string id)
        {
            IOccupationBLL        bLL      = new OccupationBLL();
            List <OccupationName> list     = new List <OccupationName>();
            List <OccupationName> tempList = bLL.GetAllOccNameByClassId(Convert.ToInt32(id));

            if (tempList != null)
            {
                list = tempList;
            }
            return(Json(list));
        }
        /// <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;
        }
示例#3
0
        /// <summary>
        /// 根据条件查询档案
        /// </summary>
        /// <param name="formCollection">查询条件</param>
        /// <returns>返回符合条件的员工档案列表视图</returns>
        public ActionResult StaffSearch(FormCollection formCollection)
        {
            IStaffBLL staffBLL = new StaffBLL();

            IOrgBLL orgBLL = new OrgBLL();

            IOccupationBLL occupationBLL = new OccupationBLL();

            List <Staff> list = new List <Staff>();

            List <Staff> tempList = new List <Staff>();

            if (formCollection["ThirdOrgId"] != "0")
            {
                list = staffBLL.GetAllStaffByTOrgId(Convert.ToInt32(formCollection["ThirdOrgId"]));

                tempList = list;

                if (formCollection["BeginDate"] != "")
                {
                    var l = from s in list
                            where s.RegistTime > Convert.ToDateTime(formCollection["BeginDate"])
                            select s;
                    tempList = l.ToList();
                    if (formCollection["EndDate"] != "")
                    {
                        var l2 = from s in tempList
                                 where s.RegistTime < Convert.ToDateTime(formCollection["EndDate"])
                                 select s;
                        tempList = l2.ToList();
                    }
                }
                else
                {
                    if (formCollection["EndDate"] != "")
                    {
                        var l2 = from s in list
                                 where s.RegistTime < Convert.ToDateTime(formCollection["EndDate"])
                                 select s;
                        tempList = l2.ToList();
                    }
                }

                list = tempList;
            }
            else
            {
                if (formCollection["SecondOrgId"] != "0")
                {
                    list = staffBLL.GetAllStaffBySOrgId(Convert.ToInt32(formCollection["SecondOrgId"]));

                    tempList = list;

                    if (formCollection["BeginDate"] != "")
                    {
                        var l = from s in list
                                where s.RegistTime > Convert.ToDateTime(formCollection["BeginDate"])
                                select s;
                        tempList = l.ToList();
                        if (formCollection["EndDate"] != "")
                        {
                            var l2 = from s in tempList
                                     where s.RegistTime < Convert.ToDateTime(formCollection["EndDate"])
                                     select s;
                            tempList = l2.ToList();
                        }
                    }
                    else
                    {
                        if (formCollection["EndDate"] != "")
                        {
                            var l2 = from s in list
                                     where s.RegistTime < Convert.ToDateTime(formCollection["EndDate"])
                                     select s;
                            tempList = l2.ToList();
                        }
                    }

                    list = tempList;
                }
                else
                {
                    if (formCollection["FirstOrgId"] != "0")
                    {
                        list = staffBLL.GetAllStaffByFOrgId(Convert.ToInt32(formCollection["FirstOrgId"]));

                        tempList = list;

                        if (formCollection["BeginDate"] != "")
                        {
                            var l = from s in list
                                    where s.RegistTime > Convert.ToDateTime(formCollection["BeginDate"])
                                    select s;
                            tempList = l.ToList();
                            if (formCollection["EndDate"] != "")
                            {
                                var l2 = from s in tempList
                                         where s.RegistTime < Convert.ToDateTime(formCollection["EndDate"])
                                         select s;
                                tempList = l2.ToList();
                            }
                        }
                        else
                        {
                            if (formCollection["EndDate"] != "")
                            {
                                var l2 = from s in list
                                         where s.RegistTime < Convert.ToDateTime(formCollection["EndDate"])
                                         select s;
                                tempList = l2.ToList();
                            }
                        }

                        list = tempList;
                    }
                    else
                    {
                        list = staffBLL.GetAllStaffNormal();

                        tempList = list;

                        if (formCollection["BeginDate"] != "")
                        {
                            var l = from s in list
                                    where s.RegistTime > Convert.ToDateTime(formCollection["BeginDate"])
                                    select s;
                            tempList = l.ToList();
                            if (formCollection["EndDate"] != "")
                            {
                                var l2 = from s in tempList
                                         where s.RegistTime < Convert.ToDateTime(formCollection["EndDate"])
                                         select s;
                                tempList = l2.ToList();
                            }
                        }
                        else
                        {
                            if (formCollection["EndDate"] != "")
                            {
                                var l2 = from s in list
                                         where s.RegistTime < Convert.ToDateTime(formCollection["EndDate"])
                                         select s;
                                tempList = l2.ToList();
                            }
                        }

                        list = tempList;
                    }
                }
            }

            if (formCollection["OccNameId"] != "0")
            {
                int occNameId = Convert.ToInt32(formCollection["OccNameId"]);

                var l = from s in list
                        where s.OccId == occNameId
                        select s;

                list = l.ToList();
            }
            else
            {
                if (formCollection["OccClassId"] != "0")
                {
                    int occClassId = Convert.ToInt32(formCollection["OccClassId"]);

                    List <OccupationName> occNameList = occupationBLL.GetAllOccNameByClassId(occClassId);

                    List <int> ints = new List <int>();

                    foreach (var oc in occNameList)
                    {
                        ints.Add(oc.Id);
                    }

                    var l = from s in list
                            where ints.Contains(s.OccId)
                            select s;

                    list = l.ToList();
                }
            }



            List <Models.Staff> staffListView = new List <Models.Staff>();

            if (list != null)
            {
                foreach (var staff in list)
                {
                    Models.Staff tempStaff = new Models.Staff
                    {
                        Id = staff.Id,
                        StaffFileNumber = staff.StaffFileNumber,
                        StaffName       = staff.StaffName,
                        FileState       = staff.FileState,
                        IsDel           = staff.IsDel
                    };
                    ThirdOrg  thirdOrg  = orgBLL.GetThirdOrgById(staff.ThirdOrgId);
                    SecondOrg secondOrg = orgBLL.GetSecondOrgById(thirdOrg.ParentOrgId);
                    FirstOrg  firstOrg  = orgBLL.GetFirstOrgById(secondOrg.ParentOrgId);

                    tempStaff.FirstOrg = new Models.FirstOrg {
                        Id = firstOrg.Id, OrgLevel = firstOrg.OrgLevel, OrgName = firstOrg.OrgName
                    };
                    tempStaff.SecondeOrg = new Models.SecondeOrg {
                        Id = secondOrg.Id, OrgName = secondOrg.OrgName, OrgLevel = secondOrg.OrgLevel, ParentOrg = tempStaff.FirstOrg
                    };
                    tempStaff.ThirdOrg = new Models.ThirdOrg {
                        Id = thirdOrg.Id, ParentOrg = tempStaff.SecondeOrg, OrgLevel = thirdOrg.OrgLevel, OrgName = thirdOrg.OrgName
                    };

                    OccupationName occupationName = occupationBLL.GetOccupationNameById(staff.OccId);

                    tempStaff.OccupationName = new Models.OccupationName {
                        Id = occupationName.Id, Name = occupationName.Name
                    };

                    staffListView.Add(tempStaff);
                }
            }

            ViewData["staffListView"] = staffListView;


            //装载1级机构
            List <FirstOrg>        fList        = orgBLL.GetAllFirstOrg();
            List <Models.FirstOrg> firstOrgList = new List <Models.FirstOrg>();

            foreach (var fo in fList)
            {
                Models.FirstOrg tempFo = new Models.FirstOrg {
                    Id = fo.Id, OrgName = fo.OrgName, OrgLevel = fo.OrgLevel
                };
                firstOrgList.Add(tempFo);
            }
            ViewData["firstOrgList"] = firstOrgList;

            if (formCollection["FirstOrgId"] != "0")
            {
                //装载2级机构
                List <SecondOrg>         sList         = orgBLL.GetSecondOrgByFirstOrgId(Convert.ToInt32(formCollection["FirstOrgId"]));
                List <Models.SecondeOrg> secondOrgList = new List <Models.SecondeOrg>();
                foreach (var so in sList)
                {
                    Models.SecondeOrg tempSo = new Models.SecondeOrg {
                        Id = so.Id, OrgName = so.OrgName
                    };
                    secondOrgList.Add(tempSo);
                }
                ViewData["secondOrgList"] = secondOrgList;
            }

            if (formCollection["SecondOrgId"] != "0")
            {
                //装载3级机构
                List <ThirdOrg>        tList        = orgBLL.GetThirdOrgBySecondOrgId(Convert.ToInt32(formCollection["SecondOrgId"]));
                List <Models.ThirdOrg> thirdOrgList = new List <Models.ThirdOrg>();
                foreach (var to in tList)
                {
                    Models.ThirdOrg tempTo = new Models.ThirdOrg {
                        Id = to.Id, OrgName = to.OrgName
                    };
                    thirdOrgList.Add(tempTo);
                }
                ViewData["thirdOrgList"] = thirdOrgList;
            }

            //装载职位类型
            List <OccupationClass>        ocList       = occupationBLL.GetAllOccupationClass();
            List <Models.OccupationClass> occClassList = new List <Models.OccupationClass>();

            foreach (var oc in ocList)
            {
                Models.OccupationClass tempClass = new Models.OccupationClass {
                    Id = oc.Id, Name = oc.Name
                };
                occClassList.Add(tempClass);
            }
            ViewData["occClassList"] = occClassList;

            if (formCollection["OccClassId"] != "0")
            {
                //装载职位
                List <OccupationName>        onList       = occupationBLL.GetAllOccNameByClassId(Convert.ToInt32(formCollection["OccClassId"]));
                List <Models.OccupationName> occNameList2 = new List <Models.OccupationName>();
                foreach (var on in onList)
                {
                    Models.OccupationName tempName = new Models.OccupationName {
                        Id = on.Id, Name = on.Name
                    };
                    occNameList2.Add(tempName);
                }
                ViewData["occNameList"] = occNameList2;
            }



            return(View("StaffView"));
        }