public PartialViewResult ReturnTrip(long tripId)
        {
            qlChuyenBusiness = Get <QL_DANGKYXE_LAIXEBusiness>();
            ChuyenBO trip = qlChuyenBusiness.GetDetail(tripId);

            return(PartialView("_ReturnTrip", trip));
        }
        public JsonResult StartTrip(long tripId)
        {
            JsonResultBO result = new JsonResultBO(false);

            qlChuyenBusiness   = Get <QL_DANGKYXE_LAIXEBusiness>();
            qlDangKyXeBusiness = Get <QL_DANGKY_XEBusiness>();
            QL_DANGKYXE_LAIXE entity = qlChuyenBusiness.Find(tripId);

            if (entity != null)
            {
                entity.TRANGTHAI = TRANGTHAI_CHUYEN_CONSTANT.DANGCHAY_ID;
                //cập nhật yêu cầu xe đang được thực thi
                QL_DANGKY_XE registration = qlDangKyXeBusiness.Find(entity.QL_DANGKY_XE_ID);
                if (registration != null)
                {
                    registration.TRANGTHAI = TRANGTHAI_DANGKY_XE_CONSTANT.DANG_THUCHIEN_ID;
                    qlDangKyXeBusiness.Save(registration);
                }
                qlChuyenBusiness.Save(entity);
                result.Message = "Đã bắt đầu chuyến";
                result.Status  = true;
            }
            else
            {
                result.Message = "Chuyến không tồn tại";
            }
            return(Json(result));
        }
        public PartialViewResult DetailTrip(long tripId)
        {
            qlChuyenBusiness = Get <QL_DANGKYXE_LAIXEBusiness>();
            ChuyenDetailViewModel viewModel = new ChuyenDetailViewModel();

            viewModel.tripEntity = qlChuyenBusiness.GetDetail(tripId);
            return(PartialView("_DetailTrip", viewModel));
        }
        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));
        }
Example #5
0
        public JsonResult CancelRegistration(long registrationId)
        {
            AssignUserInfo();
            JsonResultBO result = new JsonResultBO(true);

            qlDangKyXeBusiness  = Get <QL_DANGKY_XEBusiness>();
            qlChuyenBusiness    = Get <QL_DANGKYXE_LAIXEBusiness>();
            dmNguoiDungBusiness = Get <DM_NGUOIDUNGBusiness>();
            sysTinNhanBusiness  = Get <SYS_TINNHANBusiness>();

            QL_DANGKY_XE registration = qlDangKyXeBusiness.Find(registrationId);

            if (registration != null && registration.IS_DELETE != true)
            {
                QL_DANGKYXE_LAIXE trip = qlChuyenBusiness.repository.All().Where(x => x.QL_DANGKY_XE_ID == registration.ID).FirstOrDefault();
                if (trip == null || trip.TRANGTHAI == TRANGTHAI_CHUYEN_CONSTANT.MOITAO_ID)
                {
                    if (trip != null)
                    {
                        qlChuyenBusiness.repository.Delete(trip);
                    }
                    registration.TRANGTHAI = TRANGTHAI_DANGKY_XE_CONSTANT.DA_HUY_ID;
                    qlDangKyXeBusiness.Save(registration);
                    result.Message = "Hủy yêu cầu thành công";

                    //gửi tin nhắn cho người có quyền xác nhận yêu cầu sử dụng xe
                    List <long> notifyUsers = dmNguoiDungBusiness.GetListUsersByFunctionCodeAndDeptId(CONFIRM_CAR_REGISTRATION, currentUser.DeptParentID.GetValueOrDefault());
                    string      title       = "HỦY YÊU CẦU SỬ DỤNG XE";
                    string      content     = string.Format("{0} đã hủy một yêu cầu sử dụng xe", currentUser.HOTEN);

                    sysTinNhanBusiness.sendMessageMultipleUsers(notifyUsers, currentUser, title, content, Url.Action("Details", new { id = registrationId }), string.Empty, false, registrationId, 0);
                }
                else
                {
                    result.Status = false;
                    if (trip.TRANGTHAI == TRANGTHAI_CHUYEN_CONSTANT.DANGCHAY_ID)
                    {
                        result.Message = "Yêu cầu đang được thực thi không thể hủy";
                    }
                    else
                    {
                        result.Message = "Hủy yêu cầu không thành công";
                    }
                }
            }
            return(Json(result));
        }
        public JsonResult SearchData(FormCollection fc)
        {
            AssignUserInfo();
            qlChuyenBusiness = Get <QL_DANGKYXE_LAIXEBusiness>();
            var searchModel = (ChuyenSearchBO)SessionManager.GetValue("SearchChuyen");

            searchModel.TEN_CHUYEN        = fc["TEN_CHUYEN"].Trim();
            searchModel.queryTimeStart    = fc["queryTimeStart"].ToDateTime();
            searchModel.queryTimeEnd      = fc["queryTimeEnd"].ToDateTime();
            searchModel.XE_ID             = fc["XE_ID"].ToIntOrNULL();
            searchModel.LAIXE_ID          = fc["LAIXE_ID"].ToIntOrNULL();
            searchModel.CCTC_THANHPHAN_ID = currentUser.DeptParentID.GetValueOrDefault();
            SessionManager.SetValue("SearchChuyen", searchModel);
            var result = qlChuyenBusiness.GetDataByPage(searchModel);

            return(Json(result));
        }
        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));
        }
        public JsonResult ReturnTrip(FormCollection fc)
        {
            JsonResultBO result = new JsonResultBO(false);

            qlChuyenBusiness   = Get <QL_DANGKYXE_LAIXEBusiness>();
            qlDangKyXeBusiness = Get <QL_DANGKY_XEBusiness>();
            long id = fc["ID"].ToLongOrZero();
            QL_DANGKYXE_LAIXE entity = qlChuyenBusiness.Find(id);

            if (entity != null)
            {
                entity.TRANGTHAI = TRANGTHAI_CHUYEN_CONSTANT.DA_HOANTHANH_ID;
                entity.GHICHU    = fc["GHICHU"].Trim();
                entity.NGAYSUA   = DateTime.Now;
                //cập nhật quãng đường di chuyển
                if (!string.IsNullOrEmpty(fc["QUANGDUONG_DICHUYEN"]))
                {
                    entity.QUANGDUONG_DICHUYEN = fc["QUANGDUONG_DICHUYEN"].Replace(",", string.Empty).Replace(".00", string.Empty).ToIntOrZero();
                }
                //cập nhật chi phí
                if (!string.IsNullOrEmpty(fc["TONG_CHIPHI"]))
                {
                    entity.TONG_CHIPHI = fc["TONG_CHIPHI"].Replace(",", string.Empty).Replace(".00", string.Empty).ToIntOrZero();
                }
                qlChuyenBusiness.Save(entity);

                //cập nhật hoàn thành yêu cầu đăng ký xe
                QL_DANGKY_XE registration = qlDangKyXeBusiness.Find(entity.QL_DANGKY_XE_ID);
                if (registration != null)
                {
                    registration.TRANGTHAI = TRANGTHAI_DANGKY_XE_CONSTANT.DA_HOANTHANH_ID;
                    qlDangKyXeBusiness.Save(registration);
                }
                result.Message = "Đã trả chuyến thành công";
                result.Status  = true;
            }
            else
            {
                result.Message = "Chuyến không tồn tại";
            }
            return(Json(result));
        }
Example #9
0
        public JsonResult AcceptCarRegistration(FormCollection fc)
        {
            AssignUserInfo();
            JsonResultBO result = new JsonResultBO(false);

            qlChuyenBusiness    = Get <QL_DANGKYXE_LAIXEBusiness>();
            qlDangKyXeBusiness  = Get <QL_DANGKY_XEBusiness>();
            qlLaiXeBusiness     = Get <QL_LAIXEBusiness>();
            sysTinNhanBusiness  = Get <SYS_TINNHANBusiness>();
            dmNguoiDungBusiness = Get <DM_NGUOIDUNGBusiness>();
            try
            {
                long         registrationId = fc["DANGKY_XE_ID"].ToIntOrZero();
                QL_DANGKY_XE registration   = qlDangKyXeBusiness.Find(registrationId);

                if (registration != null)
                {
                    List <int> cars    = fc["XE_ID"].ToListInt(',');
                    List <int> drivers = fc["LAIXE_ID"].ToListInt(',');

                    for (int i = 0; i < cars.Count; i++)
                    {
                        QL_LAIXE          driver = qlLaiXeBusiness.Find(drivers[i]) ?? new QL_LAIXE();
                        QL_DANGKYXE_LAIXE item   = new QL_DANGKYXE_LAIXE();
                        item.CCTC_THANHPHAN_ID = currentUser.DeptParentID.GetValueOrDefault();
                        item.TEN_CHUYEN        = "Chuyến " + registrationId + "-" + driver.HOTEN;
                        item.QL_DANGKY_XE_ID   = registrationId;
                        item.XE_ID             = cars[i];
                        item.LAIXE_ID          = drivers[i];
                        item.TRANGTHAI         = TRANGTHAI_CHUYEN_CONSTANT.MOITAO_ID;
                        item.GHICHU            = fc["GHICHU"].Trim();
                        item.NGAYTAO           = DateTime.Now;
                        item.NGAYSUA           = DateTime.Now;
                        item.NGUOISUA          = currentUser.ID;
                        item.NGUOITAO          = currentUser.ID;
                        qlChuyenBusiness.Save(item);
                    }

                    registration.TRANGTHAI = TRANGTHAI_DANGKY_XE_CONSTANT.DA_TIEPNHAN_ID;
                    qlDangKyXeBusiness.Save(registration);

                    result.Status  = true;
                    result.Message = "Tiếp nhận yêu cầu thành công";

                    //gửi tin nhắn cho người tạo ra yêu cầu
                    //gửi tin nhắn cho người tạo yêu cầu
                    List <long> notifyUsers = new List <long>()
                    {
                        registration.NGUOITAO.GetValueOrDefault()
                    };
                    string title   = "TIẾP NHẬN YÊU CẦU SỬ DỤNG XE";
                    string content = string.Format("{0} đã tiếp nhận một yêu cầu sử dụng xe", currentUser.HOTEN);

                    sysTinNhanBusiness.sendMessageMultipleUsers(notifyUsers, currentUser, title, content, Url.Action("Details", new { id = registrationId }), string.Empty, false, registrationId, 0);
                }
                else
                {
                    result.Message = "Không tìm thấy yêu cầu đăng ký xe";
                }
            }
            catch (Exception ex)
            {
                result.Message = ex.Message;
            }
            return(Json(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));
        }