You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

127 line
4.7 KiB

  1. using Learun.Application.Base.SystemModule;
  2. using Learun.Application.TwoDevelopment.LR_Desktop;
  3. using Learun.Util;
  4. using Nancy;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.IO;
  8. namespace Learun.Application.WebApi.Modules
  9. {
  10. public class EnrollTemplateApi : BaseNoAuthentication
  11. {
  12. public EnrollTemplateApi()
  13. : base("/learun/adms/enrolltemplate")
  14. {
  15. //下载招生模板
  16. Get["/downenrolltemplate"] = DownEnrollTemplate;
  17. //下载人事模板
  18. Get["/downpersonneltemplate"] = DownPersonnelTemplate;
  19. Post["/uploadenroll"] = UploadEnroll;
  20. Post["/uploadpersonnel"] = UploadPersonnel;
  21. }
  22. private AnnexesFileIBLL annexesFileIBLL = new AnnexesFileBLL();
  23. private EnrollTemplateIBLL enrollTemplateIBLL = new EnrollTemplateBLL();
  24. private EnrollDataIBLL enrollDataIBLL = new EnrollDataBLL();
  25. /// <summary>
  26. /// 上传招生文件
  27. /// <summary>
  28. /// <returns></returns>
  29. public Response UploadEnroll(dynamic _)
  30. {
  31. var files = (List<HttpFile>)this.Context.Request.Files;
  32. var folderId = Upload(1, files);
  33. return SuccessString(folderId);
  34. }
  35. public Response UploadPersonnel(dynamic _)
  36. {
  37. var files = (List<HttpFile>)this.Context.Request.Files;
  38. var folderId = Upload(2, files);
  39. return SuccessString(folderId);
  40. }
  41. private string Upload(int type,List<HttpFile> files)
  42. {
  43. var folderId = Guid.NewGuid().ToString(); //this.GetReqData();
  44. string filePath = Config.GetValue("AnnexesFile");
  45. string uploadDate = DateTime.Now.ToString("yyyyMMdd");
  46. string FileEextension = Path.GetExtension(files[0].Name);
  47. string fileGuid = Guid.NewGuid().ToString();
  48. string virtualPath = string.Format("{0}/{1}/{2}/{3}{4}", filePath, "PersonnelData", uploadDate, fileGuid, FileEextension);
  49. //创建文件夹
  50. string path = Path.GetDirectoryName(virtualPath);
  51. Directory.CreateDirectory(path);
  52. AnnexesFileEntity fileAnnexesEntity = new AnnexesFileEntity();
  53. EnrollDataEntity enrollData = new EnrollDataEntity();
  54. if (!System.IO.File.Exists(virtualPath))
  55. {
  56. byte[] bytes = new byte[files[0].Value.Length];
  57. files[0].Value.Read(bytes, 0, bytes.Length);
  58. FileInfo file = new FileInfo(virtualPath);
  59. FileStream fs = file.Create();
  60. fs.Write(bytes, 0, bytes.Length);
  61. fs.Close();
  62. //文件信息写入数据库
  63. fileAnnexesEntity.F_Id = fileGuid;
  64. fileAnnexesEntity.F_FolderId = folderId;
  65. fileAnnexesEntity.F_FileName = files[0].Name;
  66. fileAnnexesEntity.F_FilePath = virtualPath;
  67. fileAnnexesEntity.F_FileSize = files[0].Value.Length.ToString();
  68. fileAnnexesEntity.F_FileExtensions = FileEextension;
  69. fileAnnexesEntity.F_FileType = FileEextension.Replace(".", "");
  70. //fileAnnexesEntity.F_CreateUserId = userInfo.userId;
  71. //fileAnnexesEntity.F_CreateUserName = userInfo.realName;
  72. annexesFileIBLL.SaveEntity(folderId, fileAnnexesEntity);
  73. enrollData.Create();
  74. enrollData.Type = type;
  75. enrollData.Path = folderId;
  76. enrollDataIBLL.SaveEntity("",enrollData);
  77. }
  78. return folderId;
  79. }
  80. /// <summary>
  81. /// 下载招生模板
  82. /// </summary>
  83. /// <param name="_"></param>
  84. /// <returns></returns>
  85. public Response DownEnrollTemplate(dynamic _)
  86. {
  87. var enrollTemplate = enrollTemplateIBLL.GetEnabledEntity(1);
  88. var data = annexesFileIBLL.GetEntity(enrollTemplate.Path);
  89. string filepath = data.F_FilePath;
  90. if (FileDownHelper.FileExists(filepath))
  91. {
  92. FileDownHelper.DownLoadnew(filepath);
  93. }
  94. return Success("");
  95. }
  96. /// <summary>
  97. /// 下载人事模板
  98. /// </summary>
  99. /// <param name="_"></param>
  100. /// <returns></returns>
  101. public Response DownPersonnelTemplate(dynamic _)
  102. {
  103. var enrollTemplate = enrollTemplateIBLL.GetEnabledEntity(2);
  104. var data = annexesFileIBLL.GetEntity(enrollTemplate.Path);
  105. string filepath = data.F_FilePath;
  106. if (FileDownHelper.FileExists(filepath))
  107. {
  108. FileDownHelper.DownLoadnew(filepath);
  109. }
  110. return Success("");
  111. }
  112. }
  113. }