public JsonResult GetData(int pageIndex, string sortQuery, int pageSize) { AssignUserInfo(); qlChuyenBusiness = Get <QL_DANGKYXE_LAIXEBusiness>(); ChuyenSearchBO searchModel = (ChuyenSearchBO)SessionManager.GetValue("SearchChuyen"); if (searchModel == null) { searchModel = new ChuyenSearchBO(); } searchModel.sortQuery = sortQuery; searchModel.CCTC_THANHPHAN_ID = currentUser.DeptParentID.GetValueOrDefault(); PageListResultBO <ChuyenBO> data = qlChuyenBusiness.GetDataByPage(searchModel); return(Json(data)); }
public ActionResult Index() { AssignUserInfo(); qlChuyenBusiness = Get <QL_DANGKYXE_LAIXEBusiness>(); qlLaiXeBusiness = Get <QL_LAIXEBusiness>(); qlXeBusiness = Get <QL_XEBusiness>(); ChuyenIndexViewModel viewModel = new ChuyenIndexViewModel(); ChuyenSearchBO searchModel = new ChuyenSearchBO(); searchModel.CCTC_THANHPHAN_ID = currentUser.DeptParentID.GetValueOrDefault(); viewModel.listChuyens = qlChuyenBusiness.GetDataByPage(searchModel); viewModel.groupCars = qlXeBusiness.GetDropDownAvailableCars(); viewModel.groupDrivers = qlLaiXeBusiness.GetDropDownAvailableDrivers(); viewModel.currentUserId = currentUser.ID; SessionManager.SetValue("SearchChuyen", searchModel); return(View(viewModel)); }
/// <summary> /// @author: duynn /// @description: lấy danh sách chuyến /// @since: 28/08/2018 /// </summary> /// <param name="searchModel"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public PageListResultBO <ChuyenBO> GetDataByPage(ChuyenSearchBO searchModel, int pageIndex = 1, int pageSize = 20) { IQueryable <ChuyenBO> queryResult = (from trip in this.context.QL_DANGKYXE_LAIXE join registration in this.context.QL_DANGKY_XE on trip.QL_DANGKY_XE_ID equals registration.ID join car in this.context.QL_XE on trip.XE_ID equals car.ID join driver in this.context.QL_LAIXE on trip.LAIXE_ID equals driver.ID orderby trip.ID descending select new ChuyenBO { ID = trip.ID, TEN_CHUYEN = trip.TEN_CHUYEN, MUCDICH = registration.MUCDICH, XE_ID = car.ID, TENXE = car.TENXE, LAIXE_ID = driver.ID, TEN_LAIXE = driver.HOTEN, TRANGTHAI = trip.TRANGTHAI ?? 0, NGAY_XUATPHAT = registration.NGAY_XUATPHAT, GIO_XUATPHAT = registration.GIO_XUATPHAT, PHUT_XUATPHAT = registration.PHUT_XUATPHAT, NGAYSUA = registration.NGAYSUA, NGUOITAO = trip.NGUOITAO, CCTC_THANHPHAN_ID = trip.CCTC_THANHPHAN_ID, }); if (searchModel != null) { if (!string.IsNullOrEmpty(searchModel.TEN_CHUYEN)) { searchModel.TEN_CHUYEN = searchModel.TEN_CHUYEN.Trim().ToLower(); queryResult = queryResult.Where(x => !string.IsNullOrEmpty(x.TEN_CHUYEN) && x.TEN_CHUYEN.Trim().ToLower().Contains(searchModel.TEN_CHUYEN)); } if (searchModel.CCTC_THANHPHAN_ID != null) { queryResult = queryResult.Where(x => x.CCTC_THANHPHAN_ID == searchModel.CCTC_THANHPHAN_ID.Value); } if (searchModel.queryTimeStart != null) { queryResult = queryResult.Where(x => x.NGAY_XUATPHAT >= searchModel.queryTimeStart); } if (searchModel.queryTimeEnd != null) { queryResult = queryResult.Where(x => x.NGAY_XUATPHAT <= searchModel.queryTimeEnd); } if (searchModel.XE_ID != null) { queryResult = queryResult.Where(x => x.XE_ID == searchModel.XE_ID); } if (searchModel.LAIXE_ID != null) { queryResult = queryResult.Where(x => x.LAIXE_ID == searchModel.LAIXE_ID); } if (string.IsNullOrEmpty(searchModel.sortQuery) == false) { queryResult = queryResult.OrderBy(searchModel.sortQuery); } else { queryResult = queryResult.OrderByDescending(x => x.NGAYSUA).ThenByDescending(x => x.ID); } } PageListResultBO <ChuyenBO> result = new PageListResultBO <ChuyenBO>(); IPagedList <ChuyenBO> pagedList = queryResult.ToPagedList(pageIndex, pageSize); result.Count = pagedList.TotalItemCount; result.TotalPage = pagedList.PageCount; result.ListItem = pagedList.ToList(); result.ListItem.ForEach(x => { if (x.NGAY_XUATPHAT != null) { x.THOIGIAN_XUATPHAT = string.Format("{0:dd/MM/yyyy}", x.NGAY_XUATPHAT); if (x.GIO_XUATPHAT != null) { x.THOIGIAN_XUATPHAT += " " + x.GIO_XUATPHAT.Value.ToString("D2") + "h"; if (x.PHUT_XUATPHAT != null) { x.THOIGIAN_XUATPHAT += x.PHUT_XUATPHAT.Value.ToString("D2"); } } } switch (x.TRANGTHAI.Value) { case TRANGTHAI_CHUYEN_CONSTANT.MOITAO_ID: x.TEN_TRANGTHAI = TRANGTHAI_CHUYEN_CONSTANT.MOITAO_TEXT; x.MAU_TRANGTHAI = TRANGTHAI_CHUYEN_CONSTANT.MOITAO_COLOR; break; case TRANGTHAI_CHUYEN_CONSTANT.DANGCHAY_ID: x.TEN_TRANGTHAI = TRANGTHAI_CHUYEN_CONSTANT.DANGCHAY_TEXT; x.MAU_TRANGTHAI = TRANGTHAI_CHUYEN_CONSTANT.DANGCHAY_COLOR; break; case TRANGTHAI_CHUYEN_CONSTANT.DA_HOANTHANH_ID: x.TEN_TRANGTHAI = TRANGTHAI_CHUYEN_CONSTANT.DA_HOANTHANH_TEXT; x.MAU_TRANGTHAI = TRANGTHAI_CHUYEN_CONSTANT.DA_HOANTHANH_COLOR; break; default: break; } }); return(result); }
/// <summary> /// @author: duynn /// @description: báo cáo chuyến /// </summary> /// <param name="searchModel"></param> /// <returns></returns> public List <ChuyenReportBO> GetTripReportResult(ChuyenSearchBO searchModel) { List <UserInfoBO> users = (from user in this.context.DM_NGUOIDUNG.Where(x => x.IS_ACTIVE != false) join dept in this.context.CCTC_THANHPHAN.Where(x => x.IS_DELETE != true && x.PARENT_ID == searchModel.CCTC_THANHPHAN_ID) on user.DM_PHONGBAN_ID equals dept.ID select new UserInfoBO() { ID = user.ID, HOTEN = user.HOTEN }).ToList(); IQueryable <ChuyenBO> queryResult = (from user in this.context.DM_NGUOIDUNG.Where(x => x.IS_ACTIVE != false) join dept in this.context.CCTC_THANHPHAN.Where(x => x.IS_DELETE != true && x.PARENT_ID == searchModel.CCTC_THANHPHAN_ID) on user.DM_PHONGBAN_ID equals dept.ID join registration in this.context.QL_DANGKY_XE.Where(x => x.IS_DELETE != true) on user.ID equals registration.CANBO_ID into group1 from g1 in group1.DefaultIfEmpty() join trip in this.context.QL_DANGKYXE_LAIXE.Where(x => x.TRANGTHAI == TRANGTHAI_CHUYEN_CONSTANT.DA_HOANTHANH_ID) on g1.ID equals trip.QL_DANGKY_XE_ID select new ChuyenBO() { CANBO_ID = user.ID, TEN_CANBO = user.HOTEN, TEN_CHUYEN = trip.TEN_CHUYEN, NGAY_XUATPHAT = g1.NGAY_XUATPHAT, GIO_XUATPHAT = g1.GIO_XUATPHAT ?? 0, PHUT_XUATPHAT = g1.PHUT_XUATPHAT ?? 0, DIEM_XUATPHAT = g1.DIEM_XUATPHAT, DIEM_KETTHUC = g1.DIEM_KETTHUC, TONG_CHIPHI = trip.TONG_CHIPHI ?? 0, NGAYSUA = trip.NGAYSUA, QUANGDUONG_DICHUYEN = trip.QUANGDUONG_DICHUYEN ?? 0 }); if (searchModel.queryTimeStart != null) { searchModel.queryTimeStart = searchModel.queryTimeStart.Value.ToStartDay(); queryResult = queryResult.Where(x => x.NGAY_XUATPHAT >= searchModel.queryTimeStart.Value); } if (searchModel.queryTimeEnd != null) { searchModel.queryTimeEnd = searchModel.queryTimeEnd.Value.ToEndDay(); queryResult = queryResult.Where(x => x.NGAY_XUATPHAT <= searchModel.queryTimeEnd.Value); } if (searchModel.CANBO_IDs != null && searchModel.CANBO_IDs.Count > 0) { users = users.Where(x => searchModel.CANBO_IDs.Contains(x.ID)).ToList(); queryResult = queryResult.Where(x => searchModel.CANBO_IDs.Contains(x.CANBO_ID)); } List <ChuyenReportBO> result = new List <ChuyenReportBO>(); foreach (var user in users) { ChuyenReportBO item = new ChuyenReportBO(); item.TEN_CANBO = user.HOTEN; item.groupOfTrips = queryResult.Where(x => x.CANBO_ID == user.ID).ToList(); result.Add(item); } return(result); }
public ActionResult ReportTrip(FormCollection collection) { AssignUserInfo(); qlChuyenBusiness = Get <QL_DANGKYXE_LAIXEBusiness>(); dmNguoiDungBusiness = Get <DM_NGUOIDUNGBusiness>(); ReportTripViewModel reportResult = new ReportTripViewModel(); reportResult.reportEntity = new List <ChuyenReportBO>(); int type = collection["queryType"].ToIntOrZero(); string reportTitle = string.Empty; string timeRangeReportTitle = string.Empty; ChuyenSearchBO searchModel = new ChuyenSearchBO(); List <long> userIds = new List <long>(); if (collection["CANBO_ID"] != null) { userIds = collection["CANBO_ID"].ToListLong(','); searchModel.CANBO_IDs = userIds; } searchModel.CCTC_THANHPHAN_ID = currentUser.DeptParentID.GetValueOrDefault(); if (type == LOAI_BAOCAO_THOIGIAN_CONSTANT.NGAY) { searchModel.queryTimeStart = collection["queryTimeStart"].ToDateTime(); searchModel.queryTimeEnd = collection["queryTimeEnd"].ToDateTime(); string dateStartStr = searchModel.queryTimeStart.Value.ToVietnameseDateFormat(); string dateEndStr = searchModel.queryTimeEnd.Value.ToVietnameseDateFormat(); reportResult.title = string.Format("Từ ngày {0} đến ngày {1}", dateStartStr, dateEndStr); reportTitle = string.Format("BÁO CÁO CÔNG TÁC TỪ NGÀY {0} ĐẾN NGÀY {1}", dateStartStr, dateEndStr); timeRangeReportTitle = string.Format("từ ngày {0} đến ngày {1}", dateStartStr, dateEndStr); } else if (type == LOAI_BAOCAO_THOIGIAN_CONSTANT.THANG) { int year = collection["queryYear"].ToIntOrZero(); int month = collection["queryMonth"].ToIntOrZero(); searchModel.queryTimeStart = new DateTime(year, month, 1); searchModel.queryTimeEnd = new DateTime(year, month, DateTime.DaysInMonth(year, month)); reportResult.title = string.Format("Trong tháng {0} năm {1}", month, year); reportTitle = string.Format("BÁO CÁO CÔNG TÁC THÁNG {0}/{1}", month, year); timeRangeReportTitle = string.Format("trong tháng {0}/{1}", month, year); } else if (type == LOAI_BAOCAO_THOIGIAN_CONSTANT.NAM) { int year = collection["queryYear"].ToIntOrZero(); searchModel.queryTimeStart = new DateTime(year, 1, 1); searchModel.queryTimeEnd = new DateTime(year, 12, 31); reportResult.title = string.Format("Trong năm {0}", year); reportTitle = string.Format("BÁO CÁO CÔNG TÁC NĂM {0}", year); timeRangeReportTitle = string.Format("trong năm {0}", year); } if (userIds != null && userIds.Count > 0) { string[] arrNames = new string[userIds.Count()]; foreach (var userId in userIds) { DM_NGUOIDUNG user = dmNguoiDungBusiness.Find(userId); arrNames[userIds.IndexOf(userId)] = user.HOTEN; } timeRangeReportTitle = string.Format("{0} của cán bộ {1}", timeRangeReportTitle, string.Join(",", arrNames)); } List <ChuyenReportBO> tripReportResult = qlChuyenBusiness.GetTripReportResult(searchModel); reportResult.title = reportTitle; reportResult.timeLine = timeRangeReportTitle.ToUpper(); reportResult.reportEntity = tripReportResult; SessionManager.SetValue("ReportTripSession", reportResult); return(PartialView("_ReportTripResult", reportResult)); }