public PartialViewResult EditStorage(long id) { DungLuongLuuTruModel model = new DungLuongLuuTruModel(); DUNGLUONG_LUUTRUBusiness = Get <DUNGLUONG_LUUTRUBusiness>(); DM_NGUOIDUNGBusiness = Get <DM_NGUOIDUNGBusiness>(); CCTC_THANHPHANBusiness = Get <CCTC_THANHPHANBusiness>(); DUNGLUONG_LUUTRU Storage = DUNGLUONG_LUUTRUBusiness.GetDataByUser(id); if (Storage == null) { Storage = new DUNGLUONG_LUUTRU(); Storage.DUNGLUONG = ThuMucLuuTruConstant.DefaultStorage; Storage.TYPE = ThuMucLuuTruConstant.DetaultType; Storage.USER_ID = 0; } model.Storage = Storage; DM_NGUOIDUNG NguoiDung = DM_NGUOIDUNGBusiness.Find(id); if (NguoiDung == null) { NguoiDung = new DM_NGUOIDUNG(); } CCTC_THANHPHAN DonVi = CCTC_THANHPHANBusiness.Find(NguoiDung.DM_PHONGBAN_ID); if (DonVi == null) { DonVi = new CCTC_THANHPHAN(); } model.NguoiDung = NguoiDung; model.DonVi = DonVi; return(PartialView("_SetupStorage", model)); }
public JsonResult SendEmail(FormCollection fc) { JsonResultBO result = new JsonResultBO(false); lichCongTacBusiness = Get <LICHCONGTACBusiness>(); dmNguoiDungBusiness = Get <DM_NGUOIDUNGBusiness>(); DateTime currentDate = DateTime.Now; var startOfWeek = currentDate.GetStartDayOfWeek(); var endOfWeek = currentDate.GetEndDayOfWeek(); LICHCONGTAC_SEARCH searchModel = new LICHCONGTAC_SEARCH(); searchModel.startDate = startOfWeek; searchModel.endDate = endOfWeek; List <long> userIds = fc["LANHDAO_ID"].ToListLong(','); string subject = fc["TIEUDE"].Trim(); string emailTemplatePath = Path.Combine(ConfigurationManager.AppSettings["FileUpload"], ConfigurationManager.AppSettings["LichCongTacEmailTemplate"]); string emailContent = System.IO.File.ReadAllText(emailTemplatePath); foreach (var item in userIds) { DM_NGUOIDUNG user = dmNguoiDungBusiness.Find(item); if (user != null && string.IsNullOrEmpty(user.EMAIL) == false) { searchModel.leaderId = user.ID; List <LICHCONGTAC_BO> calendars = lichCongTacBusiness.GetListLichCongTacs(searchModel); List <LICHCONGTAC_BO> deletedCalendars = lichCongTacBusiness.GetListDeletedLichCongTacs(searchModel); emailContent = emailContent.Replace("[[recipient]]", user.HOTEN); emailContent = emailContent.Replace("[[week_header_title]]", currentDate.GetWeekNumber() + " (từ ngày " + startOfWeek.ToVietnameseDateFormat() + " đến ngày " + endOfWeek.ToVietnameseDateFormat() + ")"); emailContent = emailContent.Replace("[[week_title]]", currentDate.GetNameOfWeek() + " năm " + currentDate.Year); emailContent = emailContent.Replace("[[week_start_end_date_title]]", currentDate.GetNameOfWeek() + " (" + startOfWeek.GetNameOfDay() + ", " + startOfWeek.ToVietnameseDateFormat() + " - " + endOfWeek.GetNameOfDay() + ", " + endOfWeek.ToVietnameseDateFormat() + ")"); emailContent = emailContent.Replace("[[email_main_content]]", this.GenerateLichCongTacEmailContent(calendars)); emailContent = emailContent.Replace("[[email_error_content]]", this.GenerateLichCongTacDeleteEmailContent(deletedCalendars)); List <string> address = new List <string>() { user.EMAIL }; EmailProvider.sendEmail(emailContent, subject, address); } } result.Status = true; return(Json(result)); }
/// <summary> /// @author:duynn /// @description: gửi đơn vị nhận bên ngoài /// @since: 10/06/2019 /// </summary> /// <param name="entityVanBanDi"></param> /// <param name="sms"></param> /// <returns></returns> public bool SaveVanBanPhatHanhToDonVi(HSCV_VANBANDI entityVanBanDi, SMSDAL.SendSMSDAL sms) { bool result = true; try { DM_NHOMDANHMUC entityNhomDanhMuc = DM_NHOMDANHMUCBusiness.repository.All() .FirstOrDefault(x => x.GROUP_CODE == DMLOAI_CONSTANT.SOVANBANDEN); DM_NGUOIDUNG entityNguoiKy = DM_NGUOIDUNGBusiness.Find(entityVanBanDi.NGUOIKY_ID); List <TAILIEUDINHKEM> groupFiles = TAILIEUDINHKEMBusiness.GetNewestData(entityVanBanDi.ID, LOAITAILIEU.VANBAN); List <int> idsDonViNhan = new List <int>(); if (!string.IsNullOrEmpty(entityVanBanDi.DONVINHAN_INTERNAL_ID)) { var idsDonViDaNhan = entityVanBanDi.DONVINHAN_INTERNAL_ID.ToListInt(','); idsDonViNhan.AddRange(idsDonViDaNhan); entityVanBanDi.DONVINHAN_INTERNAL_ID = string.Join(",", idsDonViNhan.ToArray()); } List <CCTC_THANHPHAN> groupDonViNhan = CCTC_THANHPHANBusiness.repository.AllNoTracking .Where(x => idsDonViNhan.Contains(x.ID)).ToList(); List <LOGSMS> groupLogSMS = new List <LOGSMS>(); List <TAILIEUDINHKEM> groupForwardFiles = new List <TAILIEUDINHKEM>(); List <WF_ITEM_USER_PROCESS> groupItemUserProcess = new List <WF_ITEM_USER_PROCESS>(); foreach (var dept in groupDonViNhan) { WF_STATE firstState = null; //kiểm tra có phải là gửi nội bộ hay không? bool isSendInternal = false; //- trường hợp gửi cho các ban ngành cấp tỉnh và các huyện xa -> thành văn bản đến của các đơnvị nhận được if (dept.TYPE == DEPTTYLELABEL.ToIntOrZero()) { //- trường hợp này là văn bản đến bình thường var workflowModule = WF_MODULEBusiness.repository .All().FirstOrDefault(x => x.MODULE_CODE == MODULE_CONSTANT.VANBANDEN); var workflowStreamIds = workflowModule.WF_STREAM_ID.ToListInt(','); //- lấy luồng xử lý của từng đơn vị var workflowStream = WF_STREAMBusiness.repository.All() .FirstOrDefault(x => x.LEVEL_ID == dept.CATEGORY && workflowStreamIds.Contains(x.ID)); //lấy trạng thái xử lý ban đầu cảu đơn vị firstState = WF_STATEBusiness.repository.All() .FirstOrDefault(x => x.IS_START == true && x.WF_ID == workflowStream.ID); } else if (dept.PARENT_ID == currentUser.DeptParentID) { isSendInternal = true; //- trường hợp gửi các phòng ban thuộc tỉnh ủy => thành văn bản đến nội bộ của tỉnh var workflowModule = WF_MODULEBusiness.repository.All() .FirstOrDefault(x => x.MODULE_CODE == MODULE_CONSTANT.VANBANDENNOIBO); var workflowStreamIds = workflowModule.WF_STREAM_ID.ToListInt(','); //- lấy luồng xử lý của từng đơn vị var workflowStream = WF_STREAMBusiness.repository.All() .FirstOrDefault(x => x.LEVEL_ID == dept.CATEGORY && workflowStreamIds.Contains(x.ID)); firstState = WF_STATEBusiness.repository.All() .FirstOrDefault(x => x.IS_START == true && x.WF_ID == workflowStream.ID); } UserInfoBO processor = null; /** * kiểm tra vai trò nhận của trạng thái đầu tiên */ if (firstState != null) { /** * lấy người thuộc phòng ban có vai trò xử lý */ var receiver = DM_NGUOIDUNGBusiness.GetUserByRoleAndDeptId(firstState.VAITRO_ID.GetValueOrDefault(), dept.ID).FirstOrDefault(); if (receiver != null) { processor = DM_NGUOIDUNGBusiness.GetNewUserInfo(receiver.Value.ToLongOrZero()); } } var dataSoVanBanDen = DM_DANHMUC_DATABusiness.GetSoVanBan(DMLOAI_CONSTANT.SOVANBANDEN, DateTime.Now.Year, dept.ID); if (dataSoVanBanDen == null) { //tạo sổ văn bản đến dataSoVanBanDen = new DM_DANHMUC_DATA() { DEPTID = dept.ID, TEXT = "Sổ văn bản đến " + DateTime.Now.Year, DATA = DateTime.Now.Year, DM_NHOM_ID = entityNhomDanhMuc.ID }; DM_DANHMUC_DATABusiness.Save(dataSoVanBanDen); } HSCV_VANBANDEN entityVanBanDen = this.ConvertToVanBanDen(entityVanBanDi, entityNguoiKy, dataSoVanBanDen); entityVanBanDen.IS_NOIBO = isSendInternal ? true : false; HSCV_VANBANDENBusiness.Save(entityVanBanDen); /** * cập nhật số văn bản đến */ dataSoVanBanDen.GHICHU = (dataSoVanBanDen.GHICHU.ToIntOrZero() + 1).ToString(); DM_DANHMUC_DATABusiness.Save(dataSoVanBanDen); /** * cập nhật tài liệu đính kèm */ var files = this.GenerateFiles(groupFiles, entityVanBanDen); groupForwardFiles.AddRange(files); /** * cập nhật thông tin văn bản đến trong luồng xử lý */ if (processor != null) { WF_PROCESSBusiness.AddFlow(entityVanBanDen.ID, isSendInternal ? MODULE_CONSTANT.VANBANDENNOIBO : MODULE_CONSTANT.VANBANDEN, processor); } /** * nếu không có người phù hợp trong luồng xử lý ==> lấy người có vai trò cao nhất tại phòng */ if (processor == null) { /** * lấy ra người có vai trò cao nhất tại phòng ban */ processor = DM_NGUOIDUNGBusiness.GetUserHighestPriority(dept.ID); /** * lưu thông in người nhận vào bảng WF_ITEM_USER_PROCESS */ var itemUserProcess = new WF_ITEM_USER_PROCESS(); itemUserProcess.ITEM_ID = entityVanBanDen.ID; itemUserProcess.ITEM_TYPE = isSendInternal ? MODULE_CONSTANT.VANBANDENNOIBO : MODULE_CONSTANT.VANBANDEN; itemUserProcess.IS_XULYCHINH = false; itemUserProcess.USER_ID = processor.ID; itemUserProcess.create_at = DateTime.Now; itemUserProcess.create_by = currentUser.ID; groupItemUserProcess.Add(itemUserProcess); } if (processor != null) { ElasticSearch.updateListUser(entityVanBanDen.ID.ToString(), new List <long> { processor.ID }, ElasticType.VanBanDen); //gửi email if (!string.IsNullOrEmpty(processor.EMAIL)) { var ContentEmail = currentUser.TenPhongBan + " đã gửi bạn một văn bản đến <a href='" + SERVERADDRESS + "/HSCV_VANBANDENArea/HSCV_VANBANDEN/DetailVanBanDen?id=" + entityVanBanDen.ID.ToString() + "'>" + entityVanBanDen.SOHIEU + "</a>"; EmailProvider.SendMailTemplate(currentUser, ContentEmail, ContentEmail, new List <string> { processor.EMAIL }); } //gửi tin nhắn if (currentUser.CanSendSMS && entityVanBanDi.CAN_SEND_SMS == true && processor.DIENTHOAI != null) { var ContentSMS = currentUser.TenPhongBan + " đã gửi bạn một văn bản đến " + entityVanBanDen.SOHIEU; ContentSMS = sms.locDau(ContentSMS); var DoDaiSMS = ContentSMS.Length; string[] noiDung = new string[1]; noiDung[0] = ContentSMS; string resultsend = sms.guiTinNhan(processor.DIENTHOAI, "177403", noiDung); LOGSMS SmsObject = new LOGSMS(); SmsObject.SODIENTHOAINHAN = processor.DIENTHOAI; SmsObject.NOIDUNG = ContentSMS; SmsObject.SOKYTU = DoDaiSMS; SmsObject.KETQUA = resultsend; SmsObject.CREATED_AT = DateTime.Now; SmsObject.CREATED_BY = currentUser.ID; SmsObject.HOTENNGUOIGUI = currentUser.HOTEN; SmsObject.DONVI_GUI = currentUser.DM_PHONGBAN_ID.GetValueOrDefault(); SmsObject.ITEMTYPE = "VANBANDEN"; SmsObject.ITEMID = entityVanBanDen.ID; SmsObject.DONVI_NHAN = processor.DM_PHONGBAN_ID.GetValueOrDefault(); SmsObject.HOTENNGUOINHAN = processor.HOTEN; groupLogSMS.Add(SmsObject); } //lưu thông báo SYS_TINNHAN noti = new SYS_TINNHAN(); noti.FROM_USERNAME = currentUser.HOTEN; noti.FROM_USER_ID = currentUser.ID; noti.NGAYTAO = DateTime.Now; noti.NOIDUNG = currentUser.TenPhongBan + " đã gửi đến bạn một văn bản đến"; noti.URL = "/HSCV_VANBANDENArea/HSCV_VANBANDEN/DetailVanBanDen/" + entityVanBanDen.ID.ToString(); noti.TIEUDE = "Xử lý văn bản đến"; noti.TO_USER_ID = processor.ID; SYS_TINNHANBusiness.Save(noti, "", false, entityVanBanDen.ID, TargetDocType.COORDINATED); } } //lưu thông tin tài liệu, sms, luồng xử lý TAILIEUDINHKEMBusiness.repository.InsertRange(groupForwardFiles); LogSMSBusiness.repository.InsertRange(groupLogSMS); WF_ITEM_USER_PROCESSBusiness.repository.InsertRange(groupItemUserProcess); TAILIEUDINHKEMBusiness.repository.Save(); } catch (Exception) { result = false; } return(result); }
public JsonResult SavePhatHanhVanBan(FormCollection col) { AssignUserInfo(); SMSDAL.SendSMSDAL sms = new SMSDAL.SendSMSDAL(); SYS_TINNHANBusiness = Get <SYS_TINNHANBusiness>(); LogSMSBusiness = Get <LogSMSBusiness>(); HSCV_VANBANDIBusiness = Get <HSCV_VANBANDIBusiness>(); HSCV_VANBANDENBusiness = Get <HSCV_VANBANDENBusiness>(); DM_NHOMDANHMUCBusiness = Get <DM_NHOMDANHMUCBusiness>(); DM_DANHMUC_DATABusiness = Get <DM_DANHMUC_DATABusiness>(); TAILIEUDINHKEMBusiness = Get <TAILIEUDINHKEMBusiness>(); DM_NGUOIDUNGBusiness = Get <DM_NGUOIDUNGBusiness>(); WF_MODULEBusiness = Get <WF_MODULEBusiness>(); WF_PROCESSBusiness = Get <WF_PROCESSBusiness>(); WF_STATE_FUNCTIONBusiness = Get <WF_STATE_FUNCTIONBusiness>(); WF_STATEBusiness = Get <WF_STATEBusiness>(); WF_STREAMBusiness = Get <WF_STREAMBusiness>(); WF_FUNCTION_DONEBusiness = Get <WF_FUNCTION_DONEBusiness>(); WF_LOGBusiness = Get <WF_LOGBusiness>(); WF_ITEM_USER_PROCESSBusiness = Get <WF_ITEM_USER_PROCESSBusiness>(); CCTC_THANHPHANBusiness = Get <CCTC_THANHPHANBusiness>(); string selectedDept = col["department-choose"]; long? ID = col["ID"].ToLongOrNULL(); if (0 >= ID) { return(Json(new { Type = "ERROR", Message = "Không tìm thấy văn bản cần lưu sổ và phát hành" })); } #region cập nhật thông tin văn bản đi HSCV_VANBANDI VanBanDi = HSCV_VANBANDIBusiness.Find(ID); if (VanBanDi == null) { return(Json(new { Type = "ERROR", Message = "Không tìm thấy văn bản cần lưu sổ và phát hành" })); } if (!string.IsNullOrEmpty(col["SOHIEU"])) { VanBanDi.SOHIEU = col["SOHIEU"]; } VanBanDi.USER_RECEIVE_DIRECTLY = col["USERS_RECEIVE_SPECIAL"]; VanBanDi.DONVINHAN_INTERNAL_ID = selectedDept; VanBanDi.SOTHEOSO = col["SOTHEOSO"]; VanBanDi.SOVANBAN_ID = col["SOVANBAN_ID"].ToIntOrNULL(); if (!string.IsNullOrEmpty(col["TRICHYEU"])) { VanBanDi.TRICHYEU = col["TRICHYEU"].Trim(); } if (!string.IsNullOrEmpty(col["NGAY_HIEULUC"])) { try { VanBanDi.NGAYCOHIEULUC = col["NGAY_HIEULUC"].ToDateTime(); } catch (Exception e) { } } if (!string.IsNullOrEmpty(col["NGAYHET_HIEULUC"])) { try { VanBanDi.NGAYHETHIEULUC = col["NGAYHET_HIEULUC"].ToDateTime(); } catch (Exception e) { } } if (!string.IsNullOrEmpty(col["NGAYBANHANH"])) { try { VanBanDi.NGAYBANHANH = col["NGAYBANHANH"].ToDateTime(); } catch (Exception e) { } } HSCV_VANBANDIBusiness.Save(VanBanDi); #endregion //cập nhật số đi theo văn bản vào số văn bản hiện tại int numbSoDiTheoSo = VanBanDi.SOTHEOSO.GetPrefixNumber(); DM_DANHMUC_DATABusiness.UpdateSoVanBan(VanBanDi.SOVANBAN_ID.GetValueOrDefault(), numbSoDiTheoSo); #region Convert Văn bản List <int> ListDonVi = selectedDept.ToListInt(','); DateTime? NGAY_HIEULUC = col["NGAY_HIEULUC"].ToDateTime(); DateTime? NGAYHET_HIEULUC = col["NGAYHET_HIEULUC"].ToDateTime(); string TRICHYEU = col["TRICHYEU"]; string SOHIEU = col["SOHIEU"]; if (!string.IsNullOrEmpty(SOHIEU)) { SOHIEU = SOHIEU.Trim(); } if (!string.IsNullOrEmpty(TRICHYEU)) { TRICHYEU = TRICHYEU.Trim(); } List <TAILIEUDINHKEM> ListTaiLieu = TAILIEUDINHKEMBusiness.GetDataByItemID(ID.HasValue ? ID.Value : 0, LOAITAILIEU.VANBAN); DM_NGUOIDUNG NguoiDung = DM_NGUOIDUNGBusiness.Find(VanBanDi.NGUOIKY_ID); #endregion #region cập nhật wf function done var process = WF_PROCESSBusiness.GetProcess(VanBanDi.ID, MODULE_CONSTANT.VANBANTRINHKY); var function = WF_STATE_FUNCTIONBusiness.GetStateFunction((int)process.CURRENT_STATE); var functionDone = new WF_FUNCTION_DONE(); functionDone.ITEM_TYPE = MODULE_CONSTANT.VANBANTRINHKY; functionDone.ITEM_ID = VanBanDi.ID; functionDone.STATE = process.CURRENT_STATE; functionDone.FUNCTION_STATE = function.ID; functionDone.create_at = DateTime.Now; functionDone.create_by = currentUser.ID; WF_FUNCTION_DONEBusiness.Save(functionDone); var log = new WF_LOG(); log.ITEM_ID = VanBanDi.ID; log.ITEM_TYPE = MODULE_CONSTANT.VANBANTRINHKY; log.MESSAGE = "<div class='label label-info'>Đã phát hành</div>"; log.WF_ID = process.WF_ID; log.create_at = DateTime.Now; log.create_by = currentUser.ID; log.NGUOIXULY_ID = currentUser.ID; WF_LOGBusiness.Save(log); //Ghi nhận luồng đã xử lý xong var state = WF_STATEBusiness.Find(process.CURRENT_STATE); if (state != null && state.IS_KETTHUC == true) { process.IS_END = true; WF_PROCESSBusiness.Save(process); } var itemprocess = WF_ITEM_USER_PROCESSBusiness.repository.All().Where(x => x.ITEM_ID == process.ITEM_ID && x.ITEM_TYPE == process.ITEM_TYPE && x.STEP_ID == process.CURRENT_STATE) .FirstOrDefault(); if (itemprocess != null) { itemprocess.DAXULY = true; WF_ITEM_USER_PROCESSBusiness.Save(itemprocess); } #endregion //gửi văn bản đi cho đơn vị SaveVanBanPhatHanhToDonVi(VanBanDi, sms); //gửi văn bản đi cho cá nhân SaveVanBanPhatHanhToCaNhan(VanBanDi, sms); return(Json(new { Type = "SUCCESS", Message = "Lưu sổ và phát hành văn bản thành công" })); }
public ActionResult DetailVanBan(long ID) { AssignUserInfo(); #region check quyền truy cập của người dùng đến văn bản hiện tại WF_ITEM_USER_PROCESSBusiness = Get <WF_ITEM_USER_PROCESSBusiness>(); WF_PROCESSBusiness = Get <WF_PROCESSBusiness>(); HSCV_VANBANDIBusiness = Get <HSCV_VANBANDIBusiness>(); DM_NGUOIDUNGBusiness = Get <DM_NGUOIDUNGBusiness>(); var WF_REVIEW_USERBusiness = Get <WF_REVIEW_USERBusiness>(); DM_DANHMUC_DATABusiness DM_DANHMUC_DATABusiness = Get <DM_DANHMUC_DATABusiness>(); // check quyền truy cập theo workflow bool HasPermissionAccess = WF_ITEM_USER_PROCESSBusiness.CheckPermissionProcess(ID, MODULE_CONSTANT.VANBANTRINHKY, currentUser.ID); // check quyền truy cập với quyền review bool HasPermissionReview = WF_REVIEW_USERBusiness.CheckPermissionReview(ID, MODULE_CONSTANT.VANBANTRINHKY, currentUser.ID); bool HasPermissionMainProcess = WF_PROCESSBusiness.CheckPermissionProcess(ID, MODULE_CONSTANT.VANBANTRINHKY, currentUser.ID); if (!HasPermissionAccess && !HasPermissionReview) { return(Redirect("/Home/UnAuthor")); } ThongTinVanBanDiVM myModel = new ThongTinVanBanDiVM(); myModel.VanBanTrinhKy = HSCV_VANBANDIBusiness.Find(ID); myModel.HasPermissionMainProcess = HasPermissionMainProcess; if (myModel.VanBanTrinhKy == null) { return(Redirect("/Home/UnAuthor")); } #region lấy tên danh mục - do dữ liệu văn bản rất lớn cho nên không join với bảng danh mục mà thực hiện 3,4 câu sub-query, tốc độ nhanh hơn // chỉ áp dụng kiểu truy vấn này với màn hình chi tiết 1 văn bản // ở màn hình danh sách tuyệt đối không áp dụng query ntn var DanhMucDoKhan = DM_DANHMUC_DATABusiness.Find(myModel.VanBanTrinhKy.DOKHAN_ID); if (DanhMucDoKhan != null) { myModel.STR_DOKHAN = DanhMucDoKhan.TEXT; } var DanhMucDoUuTien = DM_DANHMUC_DATABusiness.Find(myModel.VanBanTrinhKy.DOUUTIEN_ID); if (DanhMucDoUuTien != null) { myModel.STR_DOUUTIEN = DanhMucDoUuTien.TEXT; } var DanhMucLinhVuc = DM_DANHMUC_DATABusiness.Find(myModel.VanBanTrinhKy.LINHVUCVANBAN_ID); if (DanhMucLinhVuc != null) { myModel.STR_LINHVUCVANBAN = DanhMucLinhVuc.TEXT; } var DanhMucLoaiVanBan = DM_DANHMUC_DATABusiness.Find(myModel.VanBanTrinhKy.LOAIVANBAN_ID); if (DanhMucLoaiVanBan != null) { myModel.STR_LOAIVANBAN = DanhMucLoaiVanBan.TEXT; } var NguoiKyVanBan = DM_NGUOIDUNGBusiness.Find(myModel.VanBanTrinhKy.NGUOIKY_ID); if (NguoiKyVanBan != null) { myModel.STR_NGUOIKY = NguoiKyVanBan.HOTEN; } //Danh sách tài liệu đính kèm của văn bản TAILIEUDINHKEMBusiness = Get <TAILIEUDINHKEMBusiness>(); myModel.ListTaiLieu = TAILIEUDINHKEMBusiness.GetDataByItemID(ID, LOAITAILIEU.VANBAN); if (!string.IsNullOrEmpty(myModel.VanBanTrinhKy.DONVINHAN_INTERNAL_ID)) { CCTC_THANHPHANBusiness = Get <CCTC_THANHPHANBusiness>(); myModel.ListDonVi = CCTC_THANHPHANBusiness.GetDataByIds(myModel.VanBanTrinhKy.DONVINHAN_INTERNAL_ID.ToListInt(',')); } else { myModel.ListDonVi = new List <CCTC_THANHPHAN>(); } #endregion #endregion #region danh sách comment var HscvVanBanDiTraoDoiBusiness = Get <HSCV_VANBANDI_TRAODOIBusiness>(); myModel.LstNoiDungTraoDoi = HscvVanBanDiTraoDoiBusiness.GetListCommentByVanBanDiId(ID); myModel.LstRootComment = myModel.LstNoiDungTraoDoi.Where(x => x.REPLY_ID == null).OrderByDescending(x => x.NGAYTAO).ToList(); List <long> LstRootCommentIds = myModel.LstRootComment.Select(x => x.ID).ToList(); var LstTaiLieuComment = TAILIEUDINHKEMBusiness.GetDataForTaskByListItemId(LstRootCommentIds, LOAITAILIEU.NOIDUNGTRAODOIVANBANDI); myModel.LstTaiLieuComment = LstTaiLieuComment; #endregion return(View(myModel)); }
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)); }