找回证券业报送的逻辑,仅支持Excel模板报送
This commit is contained in:
@@ -945,28 +945,34 @@ namespace YLErp.Web.Controllers
|
||||
|
||||
public JsonResult superviseSACReportQuery(ReportInfo req)
|
||||
{
|
||||
LogFactory.GetLogger("superviseSACReportQuery").Info($"1");
|
||||
if (PS.Config.ErpElement.SecuritiesEnvironment)
|
||||
{
|
||||
try
|
||||
{
|
||||
LogFactory.GetLogger("superviseSACReportQuery").Info($"2");
|
||||
List<SuperviseReport> filePath = new ReportService(CurUser).Execute(req);
|
||||
LogFactory.GetLogger("superviseSACReportQuery").Info($"3");
|
||||
return Json(Return.Success(filePath.Select(O => O.FileTag)));
|
||||
}
|
||||
catch (ServiceException ex)
|
||||
{
|
||||
LogFactory.GetLogger("superviseSACReportQuery").Info($"4");
|
||||
if (ex.Tag is List<SacInfo> objs)
|
||||
var errFilePath = "";
|
||||
if (ex.Tag != null && ex.Tag is ExceptionExtensionInfo)
|
||||
{
|
||||
LogFactory.GetLogger("superviseSACReportQuery").Info($"6");
|
||||
string key = Guid.NewGuid().ToString();
|
||||
Server.CacheProvider.Set(key, objs, DateTime.Now.AddMinutes(1));
|
||||
ex.Tag = key;
|
||||
LogFactory.GetLogger("superviseSACReportQuery").Info($"7");
|
||||
var obj = (ExceptionExtensionInfo)ex.Tag;
|
||||
|
||||
if (obj.Tag.Count > 0)
|
||||
{
|
||||
string key = Guid.NewGuid().ToString();
|
||||
|
||||
Server.CacheProvider.Set(key, obj.Tag, DateTime.Now.AddMinutes(1));
|
||||
ex.Tag = key;
|
||||
}
|
||||
errFilePath = obj.ErrFilePath;
|
||||
|
||||
}
|
||||
if (ex.Tag != null)
|
||||
{
|
||||
Server.CacheProvider.Set($"File_{ex.Tag}", errFilePath, DateTime.Now.AddMinutes(1));
|
||||
}
|
||||
LogFactory.GetLogger("superviseSACReportQuery").Info($"5");
|
||||
return Json(Return.Fail(ex.Message, ex.Tag));
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -1003,7 +1009,9 @@ namespace YLErp.Web.Controllers
|
||||
public ActionResult superviseErrorInfo(string key)
|
||||
{
|
||||
var sacInfoList = Server.CacheProvider.Get(key) as List<SacInfo>;
|
||||
var path = Server.CacheProvider.Get($"File_{key}") as string;
|
||||
ViewBag.ShowMessage = true;
|
||||
ViewBag.DownloadPath = path;
|
||||
return View("supervisePreview", sacInfoList);
|
||||
}
|
||||
|
||||
@@ -1112,6 +1120,7 @@ namespace YLErp.Web.Controllers
|
||||
}
|
||||
|
||||
[MyAuthorize("监管报告-证券业报送")]
|
||||
[DisableRequestSizeLimit]
|
||||
public JsonResult UploadSACReportFile(string fileType, DateTime date)
|
||||
{
|
||||
LogFactory.GetLogger("UploadEventReportFile").Info("开始上传:");
|
||||
@@ -1151,7 +1160,8 @@ namespace YLErp.Web.Controllers
|
||||
Directory.CreateDirectory(absPath);
|
||||
}
|
||||
var name = $"{date.ToString("yyyyMMdd")}{file.FileName}";
|
||||
file.SaveAs(Path.Combine(absPath, name));
|
||||
var fileName = Path.Combine(absPath, name);
|
||||
file.SaveAs(fileName);
|
||||
fileInfos.Add(new tempfile()
|
||||
{
|
||||
createDate = date,
|
||||
@@ -1163,7 +1173,7 @@ namespace YLErp.Web.Controllers
|
||||
validStatus = true
|
||||
});
|
||||
LogFactory.GetLogger("UploadEventReportFile").Info($"文件 {i + 1} 保存成功");
|
||||
var fileLength = new FileInfo(Path.Combine(absPath, name)).Length;
|
||||
var fileLength = new FileInfo(fileName).Length;
|
||||
if (fileType == "报送模板" && Path.GetExtension(name).ToLower() == ".zip")
|
||||
{
|
||||
LogFactory.GetLogger("UploadEventReportFile").Info($"处理报送模板");
|
||||
@@ -1171,15 +1181,14 @@ namespace YLErp.Web.Controllers
|
||||
{
|
||||
return Json(Return.Fail("上传失败,单次上传模板文件大小不应超过200MB"));
|
||||
}
|
||||
var path = Path.Combine(absPath, name);
|
||||
var pathName = Path.GetFileNameWithoutExtension(path);
|
||||
var pathName = Path.GetFileNameWithoutExtension(fileName);
|
||||
var temp = Path.Combine(absPath, pathName);
|
||||
if (Directory.Exists(temp))
|
||||
{
|
||||
Directory.Delete(temp, true);
|
||||
}
|
||||
LogFactory.GetLogger("UploadEventReportFile").Info($"解压");
|
||||
var outPath = ZipHelper.unZipFile(path, absPath, out string msg);
|
||||
var outPath = ZipHelper.unZipFile(fileName, absPath, out string msg);
|
||||
if (msg.StartsWith("解压成功"))
|
||||
{
|
||||
LogFactory.GetLogger("UploadEventReportFile").Info($"成功");
|
||||
@@ -1253,6 +1262,44 @@ namespace YLErp.Web.Controllers
|
||||
return Json(Return.Fail("上传失败"));
|
||||
}
|
||||
|
||||
[MyAuthorize("监管报告-证券业报送")]
|
||||
public JsonResult UploadFile(string fileType)
|
||||
{
|
||||
LogFactory.GetLogger("UploadFile").Info("开始上传修改编号附件");
|
||||
try
|
||||
{
|
||||
var service = new TempFilesService(CurUser);
|
||||
LogFactory.GetLogger("UploadFile").Info("文件数量:" + Request.Form.Files.Count);
|
||||
for (var i = 0; i < Request.Form.Files.Count; i++)
|
||||
{
|
||||
var file = Request.Form.Files[i];
|
||||
if (fileType == "修改编号")
|
||||
{
|
||||
using var inputStream = file.OpenReadStream();
|
||||
ReportService.EditContractNumber(inputStream);
|
||||
}
|
||||
string filePath = $"/App_Docs/Download/Report/{UserId}/{fileType}/{DateTime.Now.ToString("yyyyMMdd")}/";
|
||||
string absPath = Server.MapPath(filePath);
|
||||
LogFactory.GetLogger("UploadFile").Info("保存地址:" + absPath);
|
||||
if (!Directory.Exists(absPath))
|
||||
{
|
||||
Directory.CreateDirectory(absPath);
|
||||
}
|
||||
var name = $"{DateTime.Now.ToString("yyyyMMddHHmmssfff")}{file.FileName}";
|
||||
var fileName = Path.Combine(absPath, name);
|
||||
file.SaveAs(fileName);
|
||||
LogFactory.GetLogger("UploadFile").Info($"文件 {i + 1} 保存成功:{fileName}");
|
||||
}
|
||||
LogFactory.GetLogger("UploadFile").Info($"入库完成;处理完成;");
|
||||
return Json(Return.Success("修改成功"));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogFactory.GetLogger("UploadFile").Error(ex);
|
||||
return Json(Return.Fail("修改失败" + ex.Message));
|
||||
}
|
||||
}
|
||||
|
||||
public JsonResult QueryEventReportFile(BaseSearchReq req)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(req.sidx))
|
||||
@@ -1342,7 +1389,7 @@ namespace YLErp.Web.Controllers
|
||||
var sourcePath = Server.MapPath("~/App_Docs");
|
||||
var sourceFileName = Path.Combine(sourcePath, "导出模板", service.TemplateName);
|
||||
var targetPath = Path.Combine(sourcePath, req.ValueDate.ToString("yyyyMMdd"));
|
||||
|
||||
|
||||
if (!Directory.Exists(targetPath))
|
||||
{
|
||||
Directory.CreateDirectory(targetPath);
|
||||
@@ -1381,5 +1428,34 @@ namespace YLErp.Web.Controllers
|
||||
{
|
||||
return double.TryParse(str, out var v) ? v : null;
|
||||
}
|
||||
|
||||
public ActionResult ExportDetailsV2(string encryptId, string fileTag)
|
||||
{
|
||||
var id = DecryptInt(encryptId);
|
||||
var path = $"~/App_Docs/Download/Report/Output/{CurUser.UserId}/{fileTag}报送文件{DateTime.Now:yyyyMMddHHmmss}.zip";
|
||||
var absPath = OtcAppContext.MapPath(path);
|
||||
new ReportService(CurUser).ExportDetailsV2(id, fileTag, path);
|
||||
return File(System.IO.File.ReadAllBytes(absPath), "application/zip", Path.GetFileName(path));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 是否上传过模板
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public JsonResult IsUploadFile(DateTime ReportDate)
|
||||
{
|
||||
var tempFilesService = new TempFilesService(CurUser);
|
||||
|
||||
var path = tempFilesService.QueryTempFile(ReportDate, "报送模板").Select(O => O.filePath).FirstOrDefault();
|
||||
|
||||
return Json(!string.IsNullOrWhiteSpace(path));
|
||||
}
|
||||
|
||||
public ActionResult DownloadReportFile(string path)
|
||||
{
|
||||
var result = OtcAppContext.MapPath(path);
|
||||
var bytes = System.IO.File.ReadAllBytes(result);
|
||||
return File(bytes, "application/zip", $"报送文件{DateTime.Now:yyyyMMddHHmmss}.zip");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user