From f423db2bf7b301c9eb5651b0f20616c5a9a5c43f Mon Sep 17 00:00:00 2001 From: zhangli <1109134334@qq.com> Date: Mon, 5 Sep 2022 11:12:44 +0800 Subject: [PATCH] 1 --- .../Controllers/EnrollDataController.cs | 147 +++++++++++++++++- .../EnrollData/EnrollDataService.cs | 15 +- .../EnrollTemplate/EnrollTemplateService.cs | 4 +- 3 files changed, 156 insertions(+), 10 deletions(-) diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_Desktop/Controllers/EnrollDataController.cs b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_Desktop/Controllers/EnrollDataController.cs index 3b204427f..26d66566e 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_Desktop/Controllers/EnrollDataController.cs +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_Desktop/Controllers/EnrollDataController.cs @@ -3,6 +3,8 @@ using System.Data; using Learun.Application.TwoDevelopment.LR_Desktop; using System.Web.Mvc; using System.Collections.Generic; +using Learun.Application.OA.File.FilePreview; +using Learun.Application.Base.SystemModule; namespace Learun.Application.Web.Areas.LR_Desktop.Controllers { @@ -16,6 +18,8 @@ namespace Learun.Application.Web.Areas.LR_Desktop.Controllers public class EnrollDataController : MvcControllerBase { private EnrollDataIBLL enrollDataIBLL = new EnrollDataBLL(); + private FilePreviewIBLL filePreviewIBLL = new FilePreviewBLL(); + private AnnexesFileIBLL annexesFileIBLL = new AnnexesFileBLL(); #region 视图功能 @@ -26,7 +30,7 @@ namespace Learun.Application.Web.Areas.LR_Desktop.Controllers [HttpGet] public ActionResult Index() { - return View(); + return View(); } /// /// 表单页 @@ -35,8 +39,18 @@ namespace Learun.Application.Web.Areas.LR_Desktop.Controllers [HttpGet] public ActionResult Form() { - return View(); + return View(); } + /// + /// + /// + /// + [HttpGet] + public ActionResult IndexPersonnel() + { + return View(); + } + #endregion #region 获取数据 @@ -71,8 +85,9 @@ namespace Learun.Application.Web.Areas.LR_Desktop.Controllers [AjaxOnly] public ActionResult GetFormData(string keyValue) { - var EnrollDataData = enrollDataIBLL.GetEnrollDataEntity( keyValue ); - var jsonData = new { + var EnrollDataData = enrollDataIBLL.GetEnrollDataEntity(keyValue); + var jsonData = new + { EnrollData = EnrollDataData, }; return Success(jsonData); @@ -105,7 +120,7 @@ namespace Learun.Application.Web.Areas.LR_Desktop.Controllers public ActionResult SaveForm(string keyValue, string strEntity) { EnrollDataEntity entity = strEntity.ToObject(); - enrollDataIBLL.SaveEntity(keyValue,entity); + enrollDataIBLL.SaveEntity(keyValue, entity); if (string.IsNullOrEmpty(keyValue)) { } @@ -113,5 +128,127 @@ namespace Learun.Application.Web.Areas.LR_Desktop.Controllers } #endregion + #region MyRegion + + /// + /// 下载文件 + /// + /// 主键 + /// + [HttpPost] + public void DownloadFile(string folderid) + { + var data = annexesFileIBLL.GetEntityByFolderId(folderid); + string filename = Server.UrlDecode(data.F_FileName);//返回客户端文件名称 + string filepath = data.F_FilePath;//this.Server.MapPath(data.F_FilePath); + if (FileDownHelper.FileExists(filepath)) + { + FileDownHelper.DownLoadold(filepath, filename); + } + } + + /// + /// 文件预览 + /// + /// 文件ID + /// + public void PreviewFile(string folderid) + { + var data = annexesFileIBLL.GetEntityByFolderId(folderid); + if (data == null) + { + return; + } + string filename = Server.UrlDecode(data.F_FileName);//客户端保存的文件名 + string filepath = data.F_FilePath;// DirFileHelper.GetAbsolutePath(data.F_FilePath);//路径 + if (data.F_FileType == "xlsx" || data.F_FileType == "xls") + { + filepath = filepath.Substring(0, filepath.LastIndexOf(".")) + ".pdf";//文件名 + if (!DirFileHelper.IsExistFile(filepath)) + { + filePreviewIBLL.GetExcelData(DirFileHelper.GetAbsolutePath(data.F_FilePath)); + } + } + if (data.F_FileType == "docx" || data.F_FileType == "doc") + { + filepath = filepath.Substring(0, filepath.LastIndexOf(".")) + ".pdf";//文件名 + if (!DirFileHelper.IsExistFile(filepath)) + { + filePreviewIBLL.GetWordData(DirFileHelper.GetAbsolutePath(data.F_FilePath)); + } + } + if (data.F_FileType == "ppt" || data.F_FileType == "pptx") + { + filepath = filepath.Substring(0, filepath.LastIndexOf(".")) + ".pdf";//文件名 + if (!DirFileHelper.IsExistFile(filepath)) + { + filePreviewIBLL.GetPptData(DirFileHelper.GetAbsolutePath(data.F_FilePath)); + } + } + //FileDownHelper.DownLoadold(filepath, filename); + + + + //FileStream files = new FileStream(filepath, FileMode.Open); + //byte[] fileByte = new byte[files.Length]; + //files.Read(fileByte, 0, fileByte.Length); + //files.Close(); + //System.IO.MemoryStream ms = new MemoryStream(fileByte, 0, fileByte.Length); + Response.ClearContent(); + switch (data.F_FileType) + { + case "jpg": + Response.ContentType = "image/jpeg"; + break; + case "gif": + Response.ContentType = "image/gif"; + break; + case "png": + Response.ContentType = "image/png"; + break; + case "bmp": + Response.ContentType = "application/x-bmp"; + break; + case "jpeg": + Response.ContentType = "image/jpeg"; + break; + case "doc": + Response.ContentType = "application/pdf"; + break; + case "docx": + Response.ContentType = "application/pdf"; + break; + case "ppt": + Response.ContentType = "application/x-ppt"; + break; + case "pptx": + Response.ContentType = "application/x-ppt"; + break; + case "xls": + Response.ContentType = "application/pdf"; + break; + case "xlsx": + Response.ContentType = "application/pdf"; + break; + case "pdf": + Response.ContentType = "application/pdf"; + break; + case "txt": + Response.ContentType = "text/plain"; + break; + case "csv": + Response.ContentType = ""; + break; + default: + Response.ContentType = "application/pdf"; + break; + } + Response.Charset = "GB2312"; + Response.WriteFile(filepath); + //Response.BinaryWrite(ms.ToArray()); + } + + #endregion + } } diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LR_Desktop/EnrollData/EnrollDataService.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LR_Desktop/EnrollData/EnrollDataService.cs index 30b4e44a9..74aaaf79a 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LR_Desktop/EnrollData/EnrollDataService.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LR_Desktop/EnrollData/EnrollDataService.cs @@ -29,17 +29,28 @@ namespace Learun.Application.TwoDevelopment.LR_Desktop { try { + var basedbname = BaseRepository().getDbConnection().Database; var strSql = new StringBuilder(); strSql.Append("SELECT "); strSql.Append(@" - t.Id, - t.UploadTime + t.*,f.F_FileName "); strSql.Append(" FROM EnrollData t "); + strSql.Append(" left join "+ basedbname + ".dbo.LR_Base_AnnexesFile f on t.[Path]=f.f_folderid "); strSql.Append(" WHERE 1=1 "); var queryParam = queryJson.ToJObject(); // 虚拟参数 var dp = new DynamicParameters(new { }); + if (!queryParam["Type"].IsEmpty()) + { + dp.Add("Type", queryParam["Type"].ToString(), DbType.String); + strSql.Append(" AND t.Type = @Type "); + } + if (!queryParam["keyword"].IsEmpty()) + { + dp.Add("keyword", queryParam["keyword"].ToString(), DbType.String); + strSql.Append(" AND f.F_FileName like @keyword "); + } return this.BaseRepository("CollegeMIS").FindList(strSql.ToString(),dp, pagination); } catch (Exception ex) diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LR_Desktop/EnrollTemplate/EnrollTemplateService.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LR_Desktop/EnrollTemplate/EnrollTemplateService.cs index 87c251085..c49cbd92e 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LR_Desktop/EnrollTemplate/EnrollTemplateService.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LR_Desktop/EnrollTemplate/EnrollTemplateService.cs @@ -29,17 +29,15 @@ namespace Learun.Application.TwoDevelopment.LR_Desktop { try { - var basedbname = BaseRepository().getDbConnection().Database; var strSql = new StringBuilder(); strSql.Append("SELECT "); strSql.Append(@" t.Id, t.Name, t.Path, - t.Enabled,f.F_FileName + t.Enabled "); strSql.Append(" FROM EnrollTemplate t "); - strSql.Append(" left join " + basedbname + ".dbo.LR_Base_AnnexesFile f on t.[Path]=f.f_folderid "); strSql.Append(" WHERE 1=1 "); var queryParam = queryJson.ToJObject(); // 虚拟参数