|
@@ -4982,6 +4982,10 @@ FROM
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 票据上传
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 团组模块文件上传
|
|
|
/// </summary>
|
|
@@ -5097,153 +5101,6 @@ FROM
|
|
|
return Ok(jw);
|
|
|
}
|
|
|
|
|
|
- [HttpPost]
|
|
|
- public IActionResult SharedFileUpload([FromForm] SharedFileUploadDto dto)
|
|
|
- {
|
|
|
- if (dto.Files == null || dto.Files.Count == 0)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, "无文件信息!"));
|
|
|
- }
|
|
|
-
|
|
|
- if (dto.Files.Sum(x => x.Length) > 20 * 1024 * 1024)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, "文件大小超过20M!"));
|
|
|
- }
|
|
|
-
|
|
|
- if(dto.Userid < 1)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, "请传入有效的Userid!"));
|
|
|
- }
|
|
|
-
|
|
|
- var jobInfo = _sqlSugar.Queryable<Sys_Users, Sys_JobPost>((u, j) => u.JobPostId == j.Id && j.IsDel == 0)
|
|
|
- .Where(u => u.IsDel == 0 && u.Id == dto.Userid)
|
|
|
- .Select((u,j)=> new
|
|
|
- {
|
|
|
- u.CnName,
|
|
|
- UserId = u.Id,
|
|
|
- j.JobName,
|
|
|
- })
|
|
|
- .First();
|
|
|
-
|
|
|
- if (jobInfo == null)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, "请传入有效的Userid!"));
|
|
|
- }
|
|
|
-
|
|
|
- List<string> commonFileExtensions = new List<string>
|
|
|
- {
|
|
|
- // 文本文件
|
|
|
- ".txt", ".doc", ".docx", ".odt", ".pdf", ".rtf", ".md", ".log",
|
|
|
-
|
|
|
- // 图片文件
|
|
|
- ".jpg", ".jpeg", ".png", ".gif", ".bmp", ".tiff", ".svg",
|
|
|
-
|
|
|
- // 视频文件
|
|
|
- ".mp4", ".avi", ".mov", ".mkv", ".wmv", ".flv", ".mpg", ".mpeg",
|
|
|
-
|
|
|
- // 音频文件
|
|
|
- ".mp3", ".wav", ".ogg", ".aac", ".flac",
|
|
|
-
|
|
|
- // 压缩文件
|
|
|
- ".zip", ".rar", ".7z", ".tar", ".gz", ".bz2",
|
|
|
-
|
|
|
- // 数据文件
|
|
|
- ".csv", ".xls", ".xlsx", ".json", ".xml", ".yaml", ".ini",
|
|
|
- };
|
|
|
-
|
|
|
- try
|
|
|
- {
|
|
|
- var setting = _sqlSugar.Queryable<Sys_SetData>().First(x => x.Id == 1416);
|
|
|
- var settingExtend = JsonConvert.DeserializeObject<List<string>>(setting.Remark);
|
|
|
- commonFileExtensions.AddRange(settingExtend);
|
|
|
- }
|
|
|
- catch (Exception)
|
|
|
- {}
|
|
|
-
|
|
|
- var setdata = _sqlSugar.Queryable<Sys_SetData>().First(x => x.Id == dto.FileType);
|
|
|
-
|
|
|
- if (setdata == null)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, "请传入有效的FileType!"));
|
|
|
- }
|
|
|
-
|
|
|
- List<GroupShareFile> insertList = new List<GroupShareFile>();
|
|
|
-
|
|
|
- string winPath = AppSettingsHelper.Get("ShareFileBasePath") + $"\\{setdata.Name}\\";
|
|
|
-
|
|
|
- if (!Directory.Exists(winPath))
|
|
|
- {
|
|
|
- Directory.CreateDirectory(winPath);
|
|
|
- }
|
|
|
-
|
|
|
- foreach (var item in dto.Files)
|
|
|
- {
|
|
|
- var houzui = Path.GetExtension(item.FileName);
|
|
|
-
|
|
|
- if (!commonFileExtensions.Contains(houzui))
|
|
|
- {
|
|
|
- return Ok(JsonView(false, "未知后缀名称!"));
|
|
|
- }
|
|
|
-
|
|
|
- var fileName = $"{jobInfo.JobName}-{jobInfo.CnName}-{item.FileName}";
|
|
|
- var saveFilePath = winPath + fileName;
|
|
|
-
|
|
|
- using (FileStream fs = System.IO.File.Create(saveFilePath))
|
|
|
- {
|
|
|
- item.CopyTo(fs);
|
|
|
- fs.Flush();
|
|
|
- }
|
|
|
-
|
|
|
- var fileDetail = new GroupShareFile()
|
|
|
- {
|
|
|
- CreateUserId = dto.Userid,
|
|
|
- CreateTime = DateTime.Now,
|
|
|
- UploadJob = jobInfo.JobName,
|
|
|
- FileName = fileName,
|
|
|
- FileType = dto.FileType,
|
|
|
- Diid = dto.Diid,
|
|
|
- FilePath = winPath + fileName,
|
|
|
- };
|
|
|
-
|
|
|
- insertList.Add(fileDetail);
|
|
|
- }
|
|
|
-
|
|
|
- _sqlSugar.Insertable<GroupShareFile>(insertList).ExecuteCommand();
|
|
|
-
|
|
|
- return Ok(JsonView(true,"保存成功!"));
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- [HttpPost]
|
|
|
- public IActionResult QuerySharedFile(QuerySharedFileDto dto)
|
|
|
- {
|
|
|
- var queryExpression = Expressionable.Create<GroupShareFile>()
|
|
|
- .AndIF(dto.Diid != 0, x => x.Diid == dto.Diid)
|
|
|
- .AndIF(dto.FileType != 0, x => x.FileType == dto.FileType)
|
|
|
- .And(x => x.IsDel == 0);
|
|
|
-
|
|
|
- int totalCount = 0;
|
|
|
- var dbQuery = _sqlSugar.Queryable<GroupShareFile>()
|
|
|
- .Where(queryExpression.ToExpression())
|
|
|
- .Select(x => new
|
|
|
- {
|
|
|
- x.Id,
|
|
|
- FilePath = AppSettingsHelper.Get("ShareFileBaseUrl") + x.FilePath.Replace(AppSettingsHelper.Get("ShareFileBasePath"), AppSettingsHelper.Get("ShareFileFtpPath")),
|
|
|
- x.FileName,
|
|
|
- x.FileType,
|
|
|
- x.CreateTime,
|
|
|
- })
|
|
|
- .ToPageList(dto.PageIndex, dto.PageSize, ref totalCount);
|
|
|
-
|
|
|
- return Ok(JsonView(true, "success", new
|
|
|
- {
|
|
|
- FileList = dbQuery,
|
|
|
- dto.PageSize,
|
|
|
- dto.PageIndex,
|
|
|
- totalCount
|
|
|
- }));
|
|
|
- }
|
|
|
-
|
|
|
/// <summary>
|
|
|
/// 查询各模块已保存文件
|
|
|
/// </summary>
|
|
@@ -5474,6 +5331,244 @@ FROM
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
+ #region 共享文件上传
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 共享文件数据初始化
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet]
|
|
|
+ public IActionResult SharedFileInit()
|
|
|
+ {
|
|
|
+ var dropDownType = _sqlSugar.Queryable<Sys_SetData>()
|
|
|
+ .Where(x => x.STid == 111 && x.IsDel == 0)
|
|
|
+ .Select(x => new
|
|
|
+ {
|
|
|
+ x.Name,
|
|
|
+ x.Id,
|
|
|
+ }).ToList();
|
|
|
+
|
|
|
+ var dropDownGroupList = _sqlSugar.Queryable<Grp_DelegationInfo>()
|
|
|
+ .Where(x => x.IsDel == 0)
|
|
|
+ .Select(x => new
|
|
|
+ {
|
|
|
+ x.TeamName,
|
|
|
+ x.Id,
|
|
|
+ }).ToList();
|
|
|
+
|
|
|
+ return Ok(JsonView(true, "SUCCESS!", new
|
|
|
+ {
|
|
|
+ dropDownType,
|
|
|
+ dropDownGroupList
|
|
|
+ }));
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 共享文件上传
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost]
|
|
|
+ public IActionResult SharedFileUpload([FromForm] SharedFileUploadDto dto)
|
|
|
+ {
|
|
|
+ var isGroup = new List<int> { 1412 };
|
|
|
+
|
|
|
+ if (isGroup.Contains(dto.FileType) && dto.Diid < 1)
|
|
|
+ {
|
|
|
+ return Ok(JsonView(false, "该文件需要关联团组!"));
|
|
|
+ }
|
|
|
+
|
|
|
+ if (dto.Files == null || dto.Files.Count == 0)
|
|
|
+ {
|
|
|
+ return Ok(JsonView(false, "无文件信息!"));
|
|
|
+ }
|
|
|
+
|
|
|
+ if (dto.Files.Sum(x => x.Length) > 20 * 1024 * 1024)
|
|
|
+ {
|
|
|
+ return Ok(JsonView(false, "文件大小超过20M!"));
|
|
|
+ }
|
|
|
+
|
|
|
+ if (dto.Userid < 1)
|
|
|
+ {
|
|
|
+ return Ok(JsonView(false, "请传入有效的Userid!"));
|
|
|
+ }
|
|
|
+
|
|
|
+ var jobInfo = _sqlSugar.Queryable<Sys_Users, Sys_JobPost>((u, j) => u.JobPostId == j.Id && j.IsDel == 0)
|
|
|
+ .Where(u => u.IsDel == 0 && u.Id == dto.Userid)
|
|
|
+ .Select((u, j) => new
|
|
|
+ {
|
|
|
+ u.CnName,
|
|
|
+ UserId = u.Id,
|
|
|
+ j.JobName,
|
|
|
+ })
|
|
|
+ .First();
|
|
|
+
|
|
|
+ if (jobInfo == null)
|
|
|
+ {
|
|
|
+ return Ok(JsonView(false, "请传入有效的Userid!"));
|
|
|
+ }
|
|
|
+
|
|
|
+ List<string> commonFileExtensions = new List<string>
|
|
|
+ {
|
|
|
+ // 文本文件
|
|
|
+ ".txt", ".doc", ".docx", ".odt", ".pdf", ".rtf", ".md", ".log",
|
|
|
+
|
|
|
+ // 图片文件
|
|
|
+ ".jpg", ".jpeg", ".png", ".gif", ".bmp", ".tiff", ".svg",
|
|
|
+
|
|
|
+ // 视频文件
|
|
|
+ ".mp4", ".avi", ".mov", ".mkv", ".wmv", ".flv", ".mpg", ".mpeg",
|
|
|
+
|
|
|
+ // 音频文件
|
|
|
+ ".mp3", ".wav", ".ogg", ".aac", ".flac",
|
|
|
+
|
|
|
+ // 压缩文件
|
|
|
+ ".zip", ".rar", ".7z", ".tar", ".gz", ".bz2",
|
|
|
+
|
|
|
+ // 数据文件
|
|
|
+ ".csv", ".xls", ".xlsx", ".json", ".xml", ".yaml", ".ini",
|
|
|
+ };
|
|
|
+
|
|
|
+ try
|
|
|
+ {
|
|
|
+ var setting = _sqlSugar.Queryable<Sys_SetData>().First(x => x.Id == 1416);
|
|
|
+ var settingExtend = JsonConvert.DeserializeObject<List<string>>(setting.Remark);
|
|
|
+ commonFileExtensions.AddRange(settingExtend);
|
|
|
+ }
|
|
|
+ catch (Exception)
|
|
|
+ { }
|
|
|
+
|
|
|
+ var setdata = _sqlSugar.Queryable<Sys_SetData>().First(x => x.Id == dto.FileType);
|
|
|
+
|
|
|
+ if (setdata == null)
|
|
|
+ {
|
|
|
+ return Ok(JsonView(false, "请传入有效的FileType!"));
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Grp_GroupShareFile> insertList = new List<Grp_GroupShareFile>();
|
|
|
+
|
|
|
+ string winPath = AppSettingsHelper.Get("ShareFileBasePath") + $"/{setdata.Name}/";
|
|
|
+
|
|
|
+ if (!Directory.Exists(winPath))
|
|
|
+ {
|
|
|
+ Directory.CreateDirectory(winPath);
|
|
|
+ }
|
|
|
+
|
|
|
+ foreach (var item in dto.Files)
|
|
|
+ {
|
|
|
+ var houzui = Path.GetExtension(item.FileName);
|
|
|
+
|
|
|
+ if (!commonFileExtensions.Contains(houzui))
|
|
|
+ {
|
|
|
+ return Ok(JsonView(false, "未知后缀名称!"));
|
|
|
+ }
|
|
|
+
|
|
|
+ var fileName = $"{jobInfo.JobName}-{jobInfo.CnName}-{item.FileName}";
|
|
|
+ var saveFilePath = winPath + fileName;
|
|
|
+
|
|
|
+ using (FileStream fs = System.IO.File.Create(saveFilePath))
|
|
|
+ {
|
|
|
+ item.CopyTo(fs);
|
|
|
+ fs.Flush();
|
|
|
+ }
|
|
|
+
|
|
|
+ var fileDetail = new Grp_GroupShareFile()
|
|
|
+ {
|
|
|
+ CreateUserId = dto.Userid,
|
|
|
+ CreateTime = DateTime.Now,
|
|
|
+ UploadJob = jobInfo.JobName,
|
|
|
+ FileName = fileName,
|
|
|
+ FileType = dto.FileType,
|
|
|
+ Diid = dto.Diid,
|
|
|
+ FilePath = winPath + fileName,
|
|
|
+ };
|
|
|
+
|
|
|
+ insertList.Add(fileDetail);
|
|
|
+ }
|
|
|
+
|
|
|
+ _sqlSugar.Insertable<Grp_GroupShareFile>(insertList).ExecuteCommand();
|
|
|
+
|
|
|
+ return Ok(JsonView(true, "保存成功!"));
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 查询共享文件列表
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost]
|
|
|
+ public IActionResult QuerySharedFile(QuerySharedFileDto dto)
|
|
|
+ {
|
|
|
+ var isGroup = new List<int> { 1412 };
|
|
|
+ if (!isGroup.Contains(dto.FileType)) dto.Diid = 0;
|
|
|
+
|
|
|
+ var queryExpression = Expressionable.Create<Grp_GroupShareFile>()
|
|
|
+ .And(x => x.Diid == dto.Diid)
|
|
|
+ .And(x => x.FileType == dto.FileType)
|
|
|
+ .And(x => x.IsDel == 0);
|
|
|
+
|
|
|
+ int totalCount = 0;
|
|
|
+ var dbQuery = _sqlSugar.Queryable<Grp_GroupShareFile>()
|
|
|
+ .Where(queryExpression.ToExpression())
|
|
|
+ .Select(x => new
|
|
|
+ {
|
|
|
+ x.Id,
|
|
|
+ FilePath = AppSettingsHelper.Get("ShareFileBaseUrl") + x.FilePath.Replace(AppSettingsHelper.Get("ShareFileBasePath"), AppSettingsHelper.Get("ShareFileFtpPath")),
|
|
|
+ x.FileName,
|
|
|
+ x.FileType,
|
|
|
+ x.CreateTime,
|
|
|
+ })
|
|
|
+ .ToPageList(dto.PageIndex, dto.PageSize, ref totalCount);
|
|
|
+
|
|
|
+ return Ok(JsonView(true, "SUCCESS!", new
|
|
|
+ {
|
|
|
+ FileList = dbQuery,
|
|
|
+ dto.PageSize,
|
|
|
+ dto.PageIndex,
|
|
|
+ totalCount
|
|
|
+ }));
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 删除共享文件模块下的指定文件
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost]
|
|
|
+ public IActionResult DeleteSharedFile(DeleteGroupFileDto dto)
|
|
|
+ {
|
|
|
+ var jw = JsonView(false);
|
|
|
+ var sing = _sqlSugar.Queryable<Grp_GroupShareFile>().First(x => x.Id == dto.Id && x.IsDel == 0);
|
|
|
+ if (sing == null)
|
|
|
+ {
|
|
|
+ jw.Msg = "暂无文件信息!";
|
|
|
+ return Ok(jw);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (System.IO.File.Exists(sing.FilePath))
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ System.IO.File.Delete(sing.FilePath);
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ jw.Msg = "删除失败!" + ex.Message;
|
|
|
+ return Ok(jw);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ sing.IsDel = 1;
|
|
|
+ sing.DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
+ sing.DeleteUserId = dto.UserId;
|
|
|
+ _sqlSugar.Updateable<Grp_GroupShareFile>(sing).ExecuteCommand();
|
|
|
+ jw = JsonView(true, "删除成功!");
|
|
|
+ return Ok(jw);
|
|
|
+ }
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
#region 团组英文资料
|
|
|
/// <summary>
|
|
|
/// 查询团组英文所有资料
|
|
@@ -22366,7 +22461,7 @@ And (UnitName != '' Or UnitName != null) {sqlWhere}");
|
|
|
//trip += $"从{start_Object.AirPort}搭乘{aircompany.CnName}{flightcode}飞往{end_Object.City}。\r\n({start_Object.AirPort}/{end_Object.AirPort} 机型:{airModel} 飞行时间{flightTime});\r\n";
|
|
|
|
|
|
//乘坐四川航空3U3901次航班由成都飞往加德满都,3小时25分钟
|
|
|
- trip += $"乘坐{aircompany.CnName}{flightcode}次航班由{start_Object.City}飞往{end_Object.City},{flightTime}";
|
|
|
+ trip += $"乘坐{aircompany.CnName}{flightcode}次航班由{start_Object.City}飞往{end_Object.City},{flightTime}";
|
|
|
|
|
|
isTrade = Convert.ToBoolean(item["isTransitShipment"]);
|
|
|
|