public ActionResult Index() { HscvVanBanPhatHanhModel model = new HscvVanBanPhatHanhModel(); DM_DANHMUC_DATABusiness = Get <DM_DANHMUC_DATABusiness>(); //model.ListDoMat = DM_DANHMUC_DATABusiness.GetDataByCode(DMLOAI_CONSTANT.DOMAT); model.ListDoKhan = DM_DANHMUC_DATABusiness.GetDataByCode(DMLOAI_CONSTANT.DOKHAN); model.ListDoUuTien = DM_DANHMUC_DATABusiness.GetDataByCode(DMLOAI_CONSTANT.DOUUTIEN); model.ListLoaiVanBan = DM_DANHMUC_DATABusiness.GetDataByCode(DMLOAI_CONSTANT.LOAI_VANBAN); model.ListLinhVucVanBan = DM_DANHMUC_DATABusiness.GetDataByCode(DMLOAI_CONSTANT.LINHVUCVANBAN); HSCV_VANBANDENBusiness = Get <HSCV_VANBANDENBusiness>(); HSCV_VANBANDEN_SEARCH searchModel = new HSCV_VANBANDEN_SEARCH(); AssignUserInfo(); CCTC_THANHPHANBusiness = Get <CCTC_THANHPHANBusiness>(); List <int> Ids = new List <int>(); if (IsInActivities(currentUser.ListThaoTac, PermissionVanbanModel.DONVI)) { CCTC_THANHPHAN DonVi = CCTC_THANHPHANBusiness.Find(currentUser.DM_PHONGBAN_ID); if (DonVi != null && DonVi.PARENT_ID.HasValue && DonVi.PARENT_ID.Value > 0) { Ids = CCTC_THANHPHANBusiness.GetDSChild(DonVi.PARENT_ID.Value).Select(x => x.ID).ToList(); Ids.Add(DonVi.PARENT_ID.Value); model.TreeData = CCTC_THANHPHANBusiness.GetTree(DonVi.PARENT_ID.Value); searchModel.DONVI_ID = DonVi.PARENT_ID.Value; } else { Ids = CCTC_THANHPHANBusiness.GetDSChild(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0).Select(x => x.ID).ToList(); Ids.Add(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0); searchModel.DONVI_ID = currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0; } } //Nếu là quản lý phòng ban else if (IsInActivities(currentUser.ListThaoTac, PermissionVanbanModel.PHONGBAN)) { Ids = CCTC_THANHPHANBusiness.GetDSChild(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0).Select(x => x.ID).ToList(); Ids.Add(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0); searchModel.DONVI_ID = currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0; } else { Ids.Add(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0); //searchModel.USER_ID = currentUser.ID; } searchModel.ListDonVi = Ids; if (model.TreeData == null) { model.TreeData = CCTC_THANHPHANBusiness.GetTree(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0); } searchModel.pageSize = MaxPerpage; searchModel.pageIndex = 1; searchModel.ListIds = initIds(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0); model.ListResult = HSCV_VANBANDENBusiness.GetDaTaByPage(searchModel, MaxPerpage); SessionManager.SetValue("VanBanDenSearch", searchModel); //model.ListVanBan = initVanBanDi(); model.UserInfoBO = currentUser; return(View(model)); }
protected override void OnActionExecuting(ActionExecutingContext filterContext) { if (filterContext.HttpContext.Session != null) { bool skipAuthorization = filterContext.ActionDescriptor.IsDefined(typeof(AllowAnonymousAttribute), true) || filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof(AllowAnonymousAttribute), true); if (!skipAuthorization) { if (filterContext.HttpContext.Session.IsNewSession || filterContext.HttpContext.Session["UserInfo"] == null) { if (filterContext.HttpContext.Request.IsAjaxRequest()) { if (((ReflectedActionDescriptor)filterContext.ActionDescriptor).MethodInfo.ReturnType == typeof(JsonResult)) { var rs = new JsonResultBO(false); rs.Message = "Phiên làm việc của bạn đã hết"; filterContext.Result = Json(rs); } else if (((ReflectedActionDescriptor)filterContext.ActionDescriptor).MethodInfo.ReturnType == typeof(PartialViewResult)) { filterContext.Result = RedirectToAction("TimeOutSession", "home", new { area = "" }); } } else { filterContext.Result = RedirectToAction("login", "account", new { area = "" }); } return; } else if (filterContext.HttpContext.Session["UserInfo"] != null) { AssignUserInfo(); var hscvVanBanDenBusiness = Get <HSCV_VANBANDENBusiness>(); var hscvVanBanDiBusiness = Get <HSCV_VANBANDIBusiness>(); HSCV_VANBANDEN_SEARCH searchVanBanDen = new HSCV_VANBANDEN_SEARCH(); searchVanBanDen.USER_ID = currentUser.ID; searchVanBanDen.ITEM_TYPE = MODULE_CONSTANT.VANBANDEN; var resultVanBanDen = hscvVanBanDenBusiness.GetListInProcess(searchVanBanDen, 10, 1); HSCV_VANBANDI_SEARCH searchVanBanDi = new HSCV_VANBANDI_SEARCH(); searchVanBanDi.USER_ID = currentUser.ID; searchVanBanDi.ITEM_TYPE = MODULE_CONSTANT.VANBANTRINHKY; var resultVanBanDi = hscvVanBanDiBusiness.GetListProcessing(searchVanBanDi, 10, 1); SessionManager.SetValue("ProcessingVanBanDenNumber", resultVanBanDen.Count); SessionManager.SetValue("ProcessingVanBanDiNumber", resultVanBanDi.Count); } } } base.OnActionExecuting(filterContext); }
public JsonResult getData(int indexPage, string sortQuery, int pageSize) { HSCV_VANBANDENBusiness = Get <HSCV_VANBANDENBusiness>(); var searchModel = SessionManager.GetValue("VanBanDenSearch") as HSCV_VANBANDEN_SEARCH; if (!string.IsNullOrEmpty(sortQuery)) { if (searchModel == null) { searchModel = new HSCV_VANBANDEN_SEARCH(); } searchModel.sortQuery = sortQuery; if (pageSize > 0) { searchModel.pageSize = pageSize; } SessionManager.SetValue("VanBanDenSearch", searchModel); } var data = HSCV_VANBANDENBusiness.GetDaTaByPage(searchModel, pageSize, indexPage); return(Json(data)); }
public JsonResult GetData(int pageIndex, string sortQuery, int pageSize, int type) { AssignUserInfo(); hscvVanBanDenBusiness = Get <HSCV_VANBANDENBusiness>(); string sessionName; HSCV_VANBANDEN_SEARCH searchModel = new HSCV_VANBANDEN_SEARCH(); switch (type) { case VANBANDEN_CONSTANT.CHUA_XULY: sessionName = "VanBanDenChuaXuLySearchModel"; break; case VANBANDEN_CONSTANT.DA_XULY: sessionName = "VanBanDenDaXuLySearchModel"; break; case VANBANDEN_CONSTANT.THAMGIA_XULY: sessionName = "VanBanDenThamGiaXuLySearchModel"; break; case VANBANDEN_CONSTANT.NOIBO_CHUAXULY: searchModel.isInternal = true; searchModel.ITEM_TYPE = MODULE_CONSTANT.VANBANDENNOIBO; sessionName = "VanBanDenNoiBoChuaXuLySearchModel"; break; case VANBANDEN_CONSTANT.NOIBO_DAXULY: searchModel.isInternal = true; searchModel.ITEM_TYPE = MODULE_CONSTANT.VANBANDENNOIBO; sessionName = "VanBanDenNoiBoDaXuLySearchModel"; break; default: sessionName = string.Empty; break; } PageListResultBO <HSCV_VANBANDEN_BO> data = new PageListResultBO <HSCV_VANBANDEN_BO>(); if (!string.IsNullOrEmpty(sessionName)) { searchModel = (HSCV_VANBANDEN_SEARCH)SessionManager.GetValue(sessionName); if (searchModel == null) { searchModel = new HSCV_VANBANDEN_SEARCH(); searchModel.USER_ID = currentUser.ID; searchModel.ITEM_TYPE = MODULE_CONSTANT.VANBANDEN; } searchModel.sortQuery = sortQuery; if (pageSize > 0) { searchModel.pageSize = pageSize; } SessionManager.SetValue(sessionName, searchModel); switch (type) { case VANBANDEN_CONSTANT.CHUA_XULY: case VANBANDEN_CONSTANT.NOIBO_CHUAXULY: data = hscvVanBanDenBusiness.GetListInProcess(searchModel, pageSize, pageIndex); break; case VANBANDEN_CONSTANT.DA_XULY: case VANBANDEN_CONSTANT.NOIBO_DAXULY: data = hscvVanBanDenBusiness.GetListProcessed(searchModel, pageSize, pageIndex); break; case VANBANDEN_CONSTANT.THAMGIA_XULY: data = hscvVanBanDenBusiness.GetListJoinProcess(searchModel, pageSize, pageIndex); break; default: break; } } return(Json(data)); }
/// <summary> /// @description: view model văn bản đến /// @author: duynn /// @since: 06/08/2018 /// </summary> /// <param name="typeOfVanBanDen"></param> /// <returns></returns> public ListVanBanDenViewModel GetListViewModelOfVanBanDen(int typeOfVanBanDen) { AssignUserInfo(); hscvVanBanDenBusiness = Get <HSCV_VANBANDENBusiness>(); dmDanhMucDataBusiness = Get <DM_DANHMUC_DATABusiness>(); HSCV_VANBANDEN_SEARCH searchModel = new HSCV_VANBANDEN_SEARCH(); searchModel.USER_ID = currentUser.ID; searchModel.ITEM_TYPE = MODULE_CONSTANT.VANBANDEN; ListVanBanDenViewModel model = new ListVanBanDenViewModel(); model.userInfo = currentUser; model.typeOfLoaiVanBan = typeOfVanBanDen; model.groupOfLoaiVanBans = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.LOAI_VANBAN, 0); model.groupOfLinhVucVanBans = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.LINHVUCVANBAN, 0); model.groupOfDoKhans = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.DOKHAN, 0); model.groupOfDoUuTiens = dmDanhMucDataBusiness.DsByMaNhom(DMLOAI_CONSTANT.DOUUTIEN, 0); int tmpdept = currentUser.DeptParentID.HasValue ? currentUser.DeptParentID.Value : 0; model.groupSoVanBanDens = dmDanhMucDataBusiness.DsByMaNhomByDept(DMLOAI_CONSTANT.SOVANBANDEN, 0, tmpdept); DM_THAOTAC userFunction = currentUser.ListThaoTac.Where(o => o.MA_THAOTAC.ToUpper() == "HSCV_VANBANDEN_CREATE").FirstOrDefault(); model.canCreate = (userFunction != null && userFunction.DM_THAOTAC_ID > 0); string sessionName; switch (typeOfVanBanDen) { case VANBANDEN_CONSTANT.CHUA_XULY: sessionName = "VanBanDenChuaXuLySearchModel"; model.title = "Quản lý văn bản đến chưa xử lý"; model.groupOfVanBanDens = hscvVanBanDenBusiness.GetListInProcess(searchModel); break; case VANBANDEN_CONSTANT.DA_XULY: sessionName = "VanBanDenDaXuLySearchModel"; model.title = "Quản lý văn bản đến đã xử lý"; model.groupOfVanBanDens = hscvVanBanDenBusiness.GetListProcessed(searchModel); break; case VANBANDEN_CONSTANT.THAMGIA_XULY: sessionName = "VanBanDenThamGiaXuLySearchModel"; model.title = "Quản lý văn bản đến tham gia xử lý"; model.groupOfVanBanDens = hscvVanBanDenBusiness.GetListJoinProcess(searchModel); break; case VANBANDEN_CONSTANT.NOIBO_CHUAXULY: sessionName = "VanBanDenNoiBoChuaXuLySearchModel"; searchModel.isInternal = true; searchModel.ITEM_TYPE = MODULE_CONSTANT.VANBANDENNOIBO; model.title = "Quản lý văn bản đến nội bộ chưa xử lý"; model.groupOfVanBanDens = hscvVanBanDenBusiness.GetListInProcess(searchModel); break; case VANBANDEN_CONSTANT.NOIBO_DAXULY: searchModel.isInternal = true; searchModel.ITEM_TYPE = MODULE_CONSTANT.VANBANDENNOIBO; sessionName = "VanBanDenNoiBoDaXuLySearchModel"; model.title = "Quản lý văn bản đến nội bộ đã xử lý"; model.groupOfVanBanDens = hscvVanBanDenBusiness.GetListProcessed(searchModel); break; default: sessionName = string.Empty; break; } SessionManager.SetValue(sessionName, searchModel); return(model); }
/// <summary> /// @description: hàm lấy danh sách sau khi phân trang /// @author: duynn /// @since: 08/08/2018 /// </summary> /// <param name="queryResult"></param> /// <param name="searchModel"></param> /// <param name="pageSize"></param> /// <param name="pageIndex"></param> /// <returns></returns> public PageListResultBO <HSCV_VANBANDEN_BO> GetQueryResultAfterPaging(IQueryable <HSCV_VANBANDEN_BO> queryResult, HSCV_VANBANDEN_SEARCH searchModel, int pageSize, int pageIndex) { if (searchModel != null && queryResult != null) { queryResult = queryResult.GroupBy(x => x.ID).Select(y => y.FirstOrDefault()); if (!string.IsNullOrEmpty(searchModel.SOHIEU)) { queryResult = queryResult.Where(x => x.SOHIEU.ToLower().Contains(searchModel.SOHIEU.ToLower().Trim())); } if (!string.IsNullOrEmpty(searchModel.TRICHYEU)) { queryResult = queryResult.Where(x => x.TRICHYEU.ToLower().Contains(searchModel.TRICHYEU.ToLower().Trim())); } if (!string.IsNullOrEmpty(searchModel.NGUOIKY)) { queryResult = queryResult.Where(x => x.NGUOIKY.ToLower().Contains(searchModel.NGUOIKY.ToLower().Trim())); } if (searchModel.LOAIVANBAN_ID.HasValue) { queryResult = queryResult.Where(x => searchModel.LOAIVANBAN_ID == x.LOAIVANBAN_ID); } if (searchModel.LINHVUCVANBAN_ID.HasValue) { queryResult = queryResult.Where(x => searchModel.LINHVUCVANBAN_ID == x.LINHVUCVANBAN_ID); } if (searchModel.DOKHAN_ID.HasValue) { queryResult = queryResult.Where(x => searchModel.DOKHAN_ID == x.DOKHAN_ID); } if (searchModel.DOMAT_ID.HasValue) { queryResult = queryResult.Where(x => searchModel.DOMAT_ID == x.DOMAT_ID); } if (searchModel.SOVANBANDEN_ID.HasValue) { queryResult = queryResult.Where(x => searchModel.SOVANBANDEN_ID == x.SOVANBANDEN_ID); } //Ngày ban hành if (searchModel.NGAYBANHANH_TU.HasValue) { queryResult = queryResult.Where(x => searchModel.NGAYBANHANH_TU <= x.NGAY_BANHANH); } if (searchModel.NGAYBANHANH_DEN.HasValue) { queryResult = queryResult.Where(x => searchModel.NGAYBANHANH_DEN >= x.NGAY_BANHANH); } //Hiệu lực từ ngày đến ngày if (searchModel.NGAYHIEULUC_TU.HasValue) { queryResult = queryResult.Where(x => searchModel.NGAYHIEULUC_TU <= x.NGAY_HIEULUC); } if (searchModel.NGAYHIEULUC_TU.HasValue) { queryResult = queryResult.Where(x => searchModel.NGAYHIEULUC_DEN >= x.NGAY_HIEULUC); } //Hết hiệu lực từ ngày đến ngày if (searchModel.NGAYHETHIEULUC_TU.HasValue) { queryResult = queryResult.Where(x => searchModel.NGAYHETHIEULUC_TU <= x.NGAYHET_HIEULUC); } if (searchModel.NGAYHETHIEULUC_DEN.HasValue) { queryResult = queryResult.Where(x => searchModel.NGAYHETHIEULUC_DEN >= x.NGAYHET_HIEULUC); } //Ngày văn bản từ ngày đến ngày if (searchModel.NGAYVANBAN_TU.HasValue) { queryResult = queryResult.Where(x => searchModel.NGAYVANBAN_TU <= x.NGAY_VANBAN); } if (searchModel.NGAYVANBAN_DEN.HasValue) { queryResult = queryResult.Where(x => searchModel.NGAYVANBAN_DEN >= x.NGAY_VANBAN); } if (!string.IsNullOrEmpty(searchModel.sortQuery)) { queryResult = queryResult.OrderBy(searchModel.sortQuery); } else { queryResult = queryResult.OrderByDescending(x => x.SOVANBANDEN_ID) .ThenByDescending(x => x.SODITHEOSO_NUMBER); } queryResult = queryResult.Where(x => x.IS_NOIBO == searchModel.isInternal); } PageListResultBO <HSCV_VANBANDEN_BO> result = new PageListResultBO <HSCV_VANBANDEN_BO>(); if (pageIndex == -1) { int count = queryResult.Count() <= 0 ? 1 : queryResult.Count(); IPagedList <HSCV_VANBANDEN_BO> pagedList = queryResult.ToPagedList(1, count); result.ListItem = queryResult.ToList(); result.Count = count; result.TotalPage = count; } else { IPagedList <HSCV_VANBANDEN_BO> pagedList = queryResult.ToPagedList(pageIndex, pageSize); result.Count = pagedList.TotalItemCount; result.TotalPage = pagedList.PageCount; result.ListItem = pagedList.ToList(); foreach (var item in result.ListItem) { item.CAN_CREATE_CALENDAR = (item.NGUOITAO == searchModel.USER_ID && CheckIsFinish(item.ID)); } } return(result); }
/// <summary> /// @description: danh sách văn bản đến tham gia xử lý /// @author: duynn /// @since: 06/08/2018 /// </summary> /// <param name="searchModel"></param> /// <param name="pageSize"></param> /// <param name="pageIndex"></param> /// <returns></returns> public PageListResultBO <HSCV_VANBANDEN_BO> GetListJoinProcess(HSCV_VANBANDEN_SEARCH searchModel, int pageSize = 20, int pageIndex = 1) { IQueryable <HSCV_VANBANDEN_BO> queryResult = from vanban in this.context.HSCV_VANBANDEN join loaivanban in this.context.DM_DANHMUC_DATA on vanban.LOAIVANBAN_ID equals loaivanban.ID into group1 from g1 in group1.DefaultIfEmpty() join douutien in this.context.DM_DANHMUC_DATA on vanban.DOMAT_ID equals douutien.ID into group2 from g2 in group2.DefaultIfEmpty() join dokhan in this.context.DM_DANHMUC_DATA on vanban.DOKHAN_ID equals dokhan.ID into group3 from g3 in group3.DefaultIfEmpty() join linhvuc in this.context.DM_DANHMUC_DATA on vanban.LINHVUCVANBAN_ID equals linhvuc.ID into group4 from g4 in group4.DefaultIfEmpty() join sovb in this.context.DM_DANHMUC_DATA on vanban.SOVANBANDEN_ID equals sovb.ID into group5 from g5 in group5.DefaultIfEmpty() join donvi in this.context.DM_DANHMUC_DATA on vanban.DONVI_ID equals donvi.ID into group6 from g6 in group6.DefaultIfEmpty() join wf in context.WF_ITEM_USER_PROCESS.Where(x => x.ITEM_TYPE.Equals(searchModel.ITEM_TYPE) && searchModel.USER_ID == x.USER_ID && x.IS_XULYCHINH == false) on vanban.ID equals wf.ITEM_ID select new HSCV_VANBANDEN_BO() { ID = vanban.ID, SOHIEU = vanban.SOHIEU, TRICHYEU = vanban.TRICHYEU, NGAY_BANHANH = vanban.NGAY_BANHANH, NGAY_VANBAN = vanban.NGAY_VANBAN, NGAY_HIEULUC = vanban.NGAY_HIEULUC, NGAYHET_HIEULUC = vanban.NGAYHET_HIEULUC, TEN_HINHTHUC = g1.TEXT, LOAIVANBAN_ID = g1.ID, TEN_DOMAT = g2.TEXT, DOMAT_ID = g2.ID, SOTRANG = vanban.SOTRANG, TEN_DOKHAN = g3.TEXT, DOKHAN_ID = g3.ID, ICON_DOKHAN = g3.ICON, TEN_LINHVUC = g4.TEXT, LINHVUCVANBAN_ID = g4.ID, TENSOVANBAN = g5.TEXT, TEN_DONVI = g6.TEXT, SODITHEOSO = vanban.SODITHEOSO, SODITHEOSO_NUMBER = vanban.SODITHEOSO_NUMBER ?? 0, NGUOIKY = vanban.NGUOIKY, NGUOITAO = vanban.NGUOITAO, NGAYTAO = vanban.NGAYTAO, CHUCVU = vanban.CHUCVU, SOVANBANDEN_ID = vanban.SOVANBANDEN_ID, IS_NOIBO = vanban.IS_NOIBO == true ? true : false, PROCESS_USER_ID = wf.USER_ID, }; queryResult = queryResult.GroupBy(x => x.ID).Select(x => x.FirstOrDefault()); PageListResultBO <HSCV_VANBANDEN_BO> result = GetQueryResultAfterPaging(queryResult, searchModel, pageSize, pageIndex); return(result); }
public PageListResultBO <HSCV_VANBANDEN_BO> GetDaTaByPage(HSCV_VANBANDEN_SEARCH searchModel, int pageSize = 20, int pageIndex = 1) { var ListJobId = new List <long?>(); var query = from vanban in this.context.HSCV_VANBANDEN join loaivanban in this.context.DM_DANHMUC_DATA on vanban.LOAIVANBAN_ID equals loaivanban.ID into group1 from g1 in group1.DefaultIfEmpty() join linhvuc in this.context.DM_DANHMUC_DATA on vanban.LINHVUCVANBAN_ID equals linhvuc.ID into group2 from g2 in group2.DefaultIfEmpty() join dokhan in this.context.DM_DANHMUC_DATA on vanban.DOKHAN_ID equals dokhan.ID into group3 from g3 in group3.DefaultIfEmpty() join domat in this.context.DM_DANHMUC_DATA on vanban.DOMAT_ID equals domat.ID into group4 from g4 in group4.DefaultIfEmpty() join nguoidung in this.context.DM_NGUOIDUNG on vanban.NGUOITAO equals nguoidung.ID into group5 from g5 in group5.DefaultIfEmpty() select new HSCV_VANBANDEN_BO { CHUCVU = vanban.CHUCVU, DOKHAN_ID = vanban.DOKHAN_ID, DOMAT_ID = vanban.DOMAT_ID, ID = vanban.ID, LINHVUCVANBAN_ID = vanban.LINHVUCVANBAN_ID, LOAIVANBAN_ID = vanban.LOAIVANBAN_ID, NGAYSUA = vanban.NGAYSUA, NGAYTAO = vanban.NGAYTAO, NGUOIKY = vanban.NGUOIKY, NGUOISUA = vanban.NGUOISUA, NGUOITAO = vanban.NGUOITAO, NOIDUNG = vanban.NOIDUNG, SOHIEU = vanban.SOHIEU, SOTRANG = vanban.SOTRANG, TEN_DOKHAN = g3.TEXT, TEN_DOMAT = g4.TEXT, TEN_HINHTHUC = g1.TEXT, TEN_LINHVUC = g2.TEXT, ICON_DOKHAN = g3.ICON, ICON_DOMAT = g4.ICON, ICON_HINHTHUC = g1.ICON, ICON_LINHVUC = g2.ICON, TEN_NGUOITAO = g5.HOTEN, TRICHYEU = vanban.TRICHYEU, DONVI_ID = vanban.DONVI_ID, VANBANDI_ID = vanban.VANBANDI_ID, NGAYHET_HIEULUC = vanban.NGAYHET_HIEULUC, NGAY_BANHANH = vanban.NGAY_BANHANH, NGAY_HIEULUC = vanban.NGAY_HIEULUC, NGAY_VANBAN = vanban.NGAY_VANBAN, COLOR = g3.COLOR, ListDonViNhan = (from receiver in this.context.HSCV_VANBANDEN_DONVINHAN join unit in this.context.CCTC_THANHPHAN on receiver.DONVI_ID equals unit.ID where receiver.DONVI_ID.HasValue && receiver.VANBANDEN_ID == vanban.ID select new HSCV_VANBANDEN_DONVINHAN_BO { DONVI_ID = receiver.DONVI_ID, ID = receiver.ID, TEN_DONVI = unit.NAME, VANBANDEN_ID = receiver.VANBANDEN_ID }).ToList() //TEN_DONVI = g6.NAME }; if (searchModel != null) { #region Tìm kiếm if (searchModel.isMobileFilter && !string.IsNullOrEmpty(searchModel.mobileQuery)) { query = query.Where(x => (x.SOHIEU != null && x.SOHIEU.ToLower().Contains(searchModel.mobileQuery.ToLower().Trim())) || (x.TRICHYEU != null && x.TRICHYEU.ToLower().Contains(searchModel.mobileQuery.ToLower().Trim()))); } //Tìm kiếm theo đơn vị if (searchModel.ListDonVi != null && searchModel.ListDonVi.Any()) { ListJobId = (from receiver in this.context.HSCV_VANBANDEN_DONVINHAN where receiver.DONVI_ID.HasValue && searchModel.ListDonVi.Contains(receiver.DONVI_ID.Value) select receiver.VANBANDEN_ID).ToList(); //query = query.Where(x => (x.DONVI_ID.HasValue && searchModel.ListDonVi.Contains(x.DONVI_ID.Value))); query = query.Where(x => ListJobId.Contains(x.ID)); } else { query = query.Where(x => x.NGUOITAO.HasValue && x.NGUOITAO.Value == searchModel.USER_ID && !x.VANBANDI_ID.HasValue); } if (!string.IsNullOrEmpty(searchModel.SOHIEU)) { query = query.Where(x => !string.IsNullOrEmpty(x.SOHIEU) && x.SOHIEU.ToLower().Trim().Contains(searchModel.SOHIEU.Trim())); } if (!string.IsNullOrEmpty(searchModel.TRICHYEU)) { query = query.Where(x => !string.IsNullOrEmpty(x.TRICHYEU) && x.TRICHYEU.ToLower().Trim().Contains(searchModel.TRICHYEU)); } if (searchModel.LOAIVANBAN_ID.HasValue) { query = query.Where(x => x.LOAIVANBAN_ID.HasValue && x.LOAIVANBAN_ID.Value == searchModel.LOAIVANBAN_ID); } if (searchModel.LINHVUCVANBAN_ID.HasValue) { query = query.Where(x => x.LINHVUCVANBAN_ID.HasValue && x.LINHVUCVANBAN_ID.Value == searchModel.LINHVUCVANBAN_ID); } if (searchModel.DOMAT_ID.HasValue) { query = query.Where(x => x.DOMAT_ID.HasValue && x.DOMAT_ID.Value == searchModel.DOMAT_ID); } if (searchModel.DOKHAN_ID.HasValue) { query = query.Where(x => x.DOKHAN_ID.HasValue && x.DOKHAN_ID.Value == searchModel.DOKHAN_ID); } if (!string.IsNullOrEmpty(searchModel.NGUOIKY)) { query = query.Where(x => !string.IsNullOrEmpty(x.NGUOIKY) && x.NGUOIKY.ToLower().Trim().Contains(searchModel.NGUOIKY)); } if (searchModel.NGAYBANHANH_TU.HasValue) { query = query.Where(x => searchModel.NGAYBANHANH_TU <= x.NGAY_BANHANH); } if (searchModel.NGAYBANHANH_DEN.HasValue) { query = query.Where(x => searchModel.NGAYBANHANH_DEN >= x.NGAY_BANHANH); } #endregion if (!string.IsNullOrEmpty(searchModel.sortQuery)) { query = query.OrderBy(searchModel.sortQuery); } else { query = query.OrderByDescending(x => x.NGAYTAO); } } else { query = query.OrderByDescending(x => x.NGAYTAO); } var resultmodel = new PageListResultBO <HSCV_VANBANDEN_BO>(); var dataPageList = query.ToPagedList(pageIndex, pageSize); resultmodel.Count = dataPageList.TotalItemCount; resultmodel.TotalPage = dataPageList.PageCount; resultmodel.ListItem = dataPageList.ToList(); //foreach (var item in resultmodel.ListItem) //{ // //Danh sách đơn vị nhận được văn bản này // var ListDonVi = (from vanban in this.context.HSCV_VANBANDEN_DONVINHAN // join cctc in this.context.CCTC_THANHPHAN // on vanban.DONVI_ID equals cctc.ID // where vanban.VANBANDEN_ID == item.ID // select cctc).ToList(); // item.ListDonVi = ListDonVi; // int length = ListDonVi.Count; //} return(resultmodel); }
public JsonResult searchData(FormCollection form) { HSCV_VANBANDENBusiness = Get <HSCV_VANBANDENBusiness>(); var searchModel = SessionManager.GetValue("VanBanDenSearch") as HSCV_VANBANDEN_SEARCH; if (searchModel == null) { searchModel = new HSCV_VANBANDEN_SEARCH(); searchModel.pageSize = MaxPerpage; } int DONVI_ID = form["DONVI_ID"].ToIntOrZero(); if (DONVI_ID > 0) { AssignUserInfo(); CCTC_THANHPHANBusiness = Get <CCTC_THANHPHANBusiness>(); List <int> Ids = new List <int>(); if (IsInActivities(currentUser.ListThaoTac, PermissionVanbanModel.DONVI)) { CCTC_THANHPHAN DonVi = CCTC_THANHPHANBusiness.Find(currentUser.DM_PHONGBAN_ID); Ids = new List <int>(); if (DonVi != null && DonVi.PARENT_ID.HasValue && DonVi.PARENT_ID.Value > 0) { Ids = CCTC_THANHPHANBusiness.GetDSChild(DonVi.PARENT_ID.Value).Select(x => x.ID).ToList(); Ids.Add(DonVi.PARENT_ID.Value); } else { Ids = CCTC_THANHPHANBusiness.GetDSChild(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0).Select(x => x.ID).ToList(); Ids.Add(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0); } } else if (IsInActivities(currentUser.ListThaoTac, PermissionVanbanModel.PHONGBAN)) { Ids = CCTC_THANHPHANBusiness.GetDSChild(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0).Select(x => x.ID).ToList(); Ids.Add(currentUser.DM_PHONGBAN_ID.HasValue ? currentUser.DM_PHONGBAN_ID.Value : 0); } if (Ids.Contains(DONVI_ID)) { Ids = CCTC_THANHPHANBusiness.GetDSChild(DONVI_ID).Select(x => x.ID).ToList(); Ids.Add(DONVI_ID); searchModel.ListDonVi = Ids; } else { searchModel.ListDonVi = Ids; } } searchModel.SOHIEU = form["SOHIEU"]; searchModel.TRICHYEU = form["TRICHYEU"]; searchModel.DOKHAN_ID = form["DOKHAN_ID"].ToIntOrNULL(); searchModel.DOMAT_ID = form["DOMAT_ID"].ToIntOrNULL(); searchModel.LINHVUCVANBAN_ID = form["LINHVUCVANBAN_ID"].ToIntOrNULL(); searchModel.LOAIVANBAN_ID = form["LOAIVANBAN_ID"].ToIntOrNULL(); searchModel.NGUOIKY = form["NGUOIKY"]; searchModel.NGAYBANHANH_TU = form["BANHANH_TU"].ToDateTime(); searchModel.NGAYBANHANH_DEN = form["BANHANH_DEN"].ToDateTime(); SessionManager.SetValue("VanBanDenSearch", searchModel); var data = HSCV_VANBANDENBusiness.GetDaTaByPage(searchModel, searchModel.pageSize, 1); return(Json(data)); }