xiaochanghai 1 year ago
parent 86fd25292b
commit 07d6f9d315
  1. 4
      Tiobon.Core.Api/Controllers/Base/BaseController.cs
  2. 4
      Tiobon.Core.Api/Controllers/CommonController.cs
  3. 4
      Tiobon.Core.Api/Controllers/Ghre/Ghre_CourseController.cs
  4. 4
      Tiobon.Core.Api/Controllers/Ghre/Ghre_ExamPaperController.cs
  5. 6
      Tiobon.Core.Api/Tiobon.Core.xml
  6. 2
      Tiobon.Core.IServices/BASE/IBaseServices.cs
  7. 4
      Tiobon.Core.IServices/Ghre/IGhre_CourseServices.cs
  8. 2
      Tiobon.Core.IServices/Ghre/IGhre_ExamPaperServices.cs
  9. 2
      Tiobon.Core.IServices/ICommonServices.cs
  10. 55
      Tiobon.Core.Services/BASE/BaseServices.cs
  11. 12
      Tiobon.Core.Services/CommonServices.cs
  12. 5
      Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs
  13. 7
      Tiobon.Core.Services/Ghre/Ghre_ExamPaperServices.cs
  14. 14
      Tiobon.Core.Services/Ghre/Ghre_QuestionServices.cs
  15. 6
      Tiobon.Core/Tiobon.Core.xml

@ -231,9 +231,9 @@ public class BaseController<IServiceBase, TEntity, TEntityDto, TInsertDto, TEdit
#region Excel下载
[HttpGet("DownExcelTemplate"), AllowAnonymous]
public async Task<IActionResult> DownloadExcel()
public async Task<IActionResult> DownloadExcel(string menuName)
{
var result = (await InvokeServiceAsync("DownloadExcel", [])) as ServiceResult<string>;
var result = (await InvokeServiceAsync("DownloadExcel", [menuName])) as ServiceResult<string>;
string path = result.Data;
FileStream fs = new FileStream(path, FileMode.OpenOrCreate);
fs.Close();

@ -55,9 +55,9 @@ public class CommonController : BaseApiController
/// <param name="type"></param>
/// <returns></returns>
[HttpPost, Route("GetSelect/{type}")]
public async Task<ServiceResult<CommonSelect>> GetSelectAsync(string type)
public async Task<ServiceResult<CommonSelect>> GetSelectAsync(string type, string Keywords)
{
return await _commonServices.GetSelectAsync(type);
return await _commonServices.GetSelectAsync(type, Keywords);
}
#endregion

@ -54,9 +54,9 @@ public class Ghre_CourseController : BaseController<IGhre_CourseServices, Ghre_C
/// <param name="linkId"></param>
/// <returns></returns>
[HttpPost, Route("QuerySelect")]
public async Task<ServiceResult<CommonSelect>> QuerySelectAsync(long? linkId)
public async Task<ServiceResult<CommonSelect>> QuerySelectAsync(long? linkId, string KeyWords)
{
return await _service.GetSelectAsync(linkId);
return await _service.GetSelectAsync(linkId, KeyWords);
}
#endregion

@ -100,9 +100,9 @@ public class Ghre_ExamPaperController : BaseController<IGhre_ExamPaperServices,
/// <param name="linkId"></param>
/// <returns></returns>
[HttpPost, Route("GetSelect")]
public async Task<ServiceResult<CommonSelect>> GetSelectAsync(long? linkId)
public async Task<ServiceResult<CommonSelect>> GetSelectAsync(long? linkId, string KeyWords)
{
return await _service.GetSelectAsync(linkId);
return await _service.GetSelectAsync(linkId, KeyWords);
}
#endregion
}

@ -251,7 +251,7 @@
<param name="param"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.CommonController.GetSelectAsync(System.String)">
<member name="M:Tiobon.Core.Controllers.CommonController.GetSelectAsync(System.String,System.String)">
<summary>
获取模块信息接口
</summary>
@ -588,7 +588,7 @@
<param name="body">条件</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_CourseController.QuerySelectAsync(System.Nullable{System.Int64})">
<member name="M:Tiobon.Core.Api.Controllers.Ghre_CourseController.QuerySelectAsync(System.Nullable{System.Int64},System.String)">
<summary>
获取通用列表下拉
</summary>
@ -747,7 +747,7 @@
<param name="insert"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_ExamPaperController.GetSelectAsync(System.Nullable{System.Int64})">
<member name="M:Tiobon.Core.Api.Controllers.Ghre_ExamPaperController.GetSelectAsync(System.Nullable{System.Int64},System.String)">
<summary>
获取通用列表下拉
</summary>

@ -155,7 +155,7 @@ namespace Tiobon.Core.IServices.BASE
Task<ServiceResult<ExcelData>> ImportExcel(IFormFile file);
Task<ServiceResult<string>> DownloadExcel();
Task<ServiceResult<string>> DownloadExcel(string menuName);
Task<List<TResult>> QueryMuch<T, T2, T3, TResult>(
Expression<Func<T, T2, T3, object[]>> joinExpression,

@ -8,7 +8,7 @@ namespace Tiobon.Core.IServices
/// <summary>
/// 课程(自定义服务接口)
/// </summary>
public interface IGhre_CourseServices :IBaseServices<Ghre_Course, Ghre_CourseDto, InsertGhre_CourseInput, EditGhre_CourseInput>
public interface IGhre_CourseServices : IBaseServices<Ghre_Course, Ghre_CourseDto, InsertGhre_CourseInput, EditGhre_CourseInput>
{
Task<ServicePageResult<Ghre_CourseDto>> QueryList(QueryBody filter, string status);
@ -16,7 +16,7 @@ namespace Tiobon.Core.IServices
Task<ServiceResult<int>> QueryDeptID(int StaffID);
Task<ServiceResult<CommonSelect>> QueryTeacher(long? linkId);
Task<ServiceResult> UpdateStatus(long[] ids, string status);
Task<ServiceResult<CommonSelect>> GetSelectAsync(long? linkId);
Task<ServiceResult<CommonSelect>> GetSelectAsync(long? linkId, string keyWords);
}
}

@ -21,6 +21,6 @@ namespace Tiobon.Core.IServices
Task<ServicePageResult<Ghre_ExamPaperDto>> QueryList(QueryBody body, string status);
Task<ServiceResult<CommonSelect>> GetSelectAsync(long? linkId);
Task<ServiceResult<CommonSelect>> GetSelectAsync(long? linkId, string KeyWords);
}
}

@ -22,7 +22,7 @@ public interface ICommonServices : IBaseServices<RootEntityTkey<int>>
Task<ServiceResult<ModuleReturn>> GetModuleInfoAsync([FromBody] ModuleParam param);
Task<ServiceResult<CommonSelect>> GetSelectAsync(string type);
Task<ServiceResult<CommonSelect>> GetSelectAsync(string type, string keyWords);
Task<ServiceResult<QueryExportReturn>> ExportExcelAsync(QueryExport param);

@ -835,16 +835,57 @@ public class BaseServices<TEntity, TEntityDto, TInsertDto, TEditDto> : IBaseServ
return ServiceResult<ExcelData>.OprateSuccess("导入成功!");
}
public async virtual Task<ServiceResult<string>> DownloadExcel()
public virtual async Task<ServiceResult<string>> DownloadExcel(string menuName)
{
var physicsPath = $"{Environment.CurrentDirectory}{Path.DirectorySeparatorChar}wwwroot";
var path = $"{$"{Path.DirectorySeparatorChar}files{Path.DirectorySeparatorChar}ExcelTemplate{Path.DirectorySeparatorChar}"}";
if (!Directory.Exists(physicsPath + path))
Directory.CreateDirectory(physicsPath + path);
var tableNmae = string.Empty;
Type entityType = typeof(TEntity);
var fileName = entityType.GetEntityTableName() + ".xlsx";
var result = ServiceResult<string>.OprateSuccess(fileName, physicsPath + path + fileName);
var sql = $@"SELECT Row_Number ()
OVER (ORDER BY CONVERT (INT, rowNum), CONVERT (INT, colNum))
sortNum,
field,
[dbo].[FLangKeyToValue] (mkey, 1, label)
label,
dbo.FS_GetdataSourceBySet
(dataSource, APIDataSourceType, Ghrs_PageSettingEdit.APIDataSourceID)
dataSource,
required,
dataType,
CONVERT (NVARCHAR (1000), '')
commentText -- StaffWith
,
elementType
+ CASE WHEN multipleSelect = 'true' THEN '_multiple' ELSE '' END
elementType --
FROM Ghrs_PageSettingEdit
WHERE IsEnable = 1
AND elementType NOT IN ('FnKey', 'PageGroup')
AND pageNo = '{menuName}'
--and editable = 'true'
AND defaultHidden ! = 'true'
AND elementType ! = 'FileUpload'
AND dataType ! = ''";
var columns = await Db.Ado.SqlQueryAsync<QueryExportColumn>(sql);
var dt = await Db.Ado.GetDataTableAsync("SELECT * FROM " + entityType.GetEntityTableName() + " WHERE IsEnable=1");
//columns = columns.WhereIF(param.exportSet.ExFields.Any(), x => param.exportSet.ExFields.Contains(x.field)).ToList();
await ReportHelper.ImportTemplate(Db, columns, dt, menuName);
//var physicsPath = $"{Environment.CurrentDirectory}{Path.DirectorySeparatorChar}wwwroot";
//var path = $"{$"{Path.DirectorySeparatorChar}files{Path.DirectorySeparatorChar}ExcelTemplate{Path.DirectorySeparatorChar}"}";
//if (!Directory.Exists(physicsPath + path))
// Directory.CreateDirectory(physicsPath + path);
//Type entityType = typeof(TEntity);
//var fileName = entityType.GetEntityTableName() + ".xlsx";
//var result = ServiceResult<string>.OprateSuccess(fileName, physicsPath + path + fileName);
var result = ServiceResult<string>.OprateSuccess(null, null);
return result;
}

@ -851,9 +851,9 @@ public partial class CommonServices : BaseServices<RootEntityTkey<int>>, ICommon
result.DT_Procedure.IUDProcedure = dt.Rows[0]["IUDProcedure"].ToString();
if (!string.IsNullOrWhiteSpace(result.DT_Procedure.EditProcedure))
{
result.DT_Procedure.ImportExcel = "/api" + result.DT_Procedure.EditProcedure.Replace("QueryForm", "ImportExcel");
result.DT_Procedure.DownExcelTemplate = "/api" + result.DT_Procedure.EditProcedure.Replace("QueryForm", "DownExcelTemplate");
result.DT_Procedure.ExportExcel = "/api" + result.DT_Procedure.EditProcedure.Replace("QueryForm", "ExportExcel");
result.DT_Procedure.ImportExcel = result.DT_Procedure.EditProcedure.Replace("QueryForm", "ImportExcel");
result.DT_Procedure.DownExcelTemplate = result.DT_Procedure.EditProcedure.Replace("QueryForm", "DownExcelTemplate?menuName=" + param.menuName);
result.DT_Procedure.ExportExcel = result.DT_Procedure.EditProcedure.Replace("QueryForm", "ExportExcel");
}
}
@ -1057,7 +1057,7 @@ public partial class CommonServices : BaseServices<RootEntityTkey<int>>, ICommon
/// </summary>
/// <param name="type"></param>
/// <returns></returns>
public async Task<ServiceResult<CommonSelect>> GetSelectAsync(string type)
public async Task<ServiceResult<CommonSelect>> GetSelectAsync(string type, string keyWords)
{
var result = new CommonSelect();
JArray TableColumn = new JArray();
@ -1083,6 +1083,8 @@ public partial class CommonServices : BaseServices<RootEntityTkey<int>>, ICommon
TableColumn.Add(searchItem);
sql = "SELECT Id, CourseNo, CourseName FROM Ghre_Course WHERE IsEnable=1 AND Status='Released'";
if (string.IsNullOrWhiteSpace(keyWords))
sql += $"AND ( CourseNo like '%{keyWords}%' or CourseName like '%{keyWords}%')";
dt = await Db.Ado.GetDataTableAsync(sql);
for (int i = 0; i < dt.Rows.Count; i++)
@ -1118,6 +1120,8 @@ public partial class CommonServices : BaseServices<RootEntityTkey<int>>, ICommon
TableColumn.Add(searchItem);
sql = "SELECT Id, SceneNo, SceneName FROM Ghre_CourseScene";
if (string.IsNullOrWhiteSpace(keyWords))
sql += $"AND ( SceneNo like '%{keyWords}%' or SceneName like '%{keyWords}%')";
dt = await Db.Ado.GetDataTableAsync(sql);
for (int i = 0; i < dt.Rows.Count; i++)

@ -17,6 +17,7 @@ using AgileObjects.AgileMapper;
using Microsoft.AspNetCore.Http;
using Tiobon.Core.Common.UserManager;
using Tiobon.Core.Common.Helper;
using static Microsoft.Extensions.Logging.EventSource.LoggingEventSource;
namespace Tiobon.Core.Services;
@ -371,7 +372,7 @@ public class Ghre_CourseServices : BaseServices<Ghre_Course, Ghre_CourseDto, Ins
/// </summary>
/// <param name="type"></param>
/// <returns></returns>
public async Task<ServiceResult<CommonSelect>> GetSelectAsync(long? linkId)
public async Task<ServiceResult<CommonSelect>> GetSelectAsync(long? linkId, string keyWords)
{
var result = new CommonSelect();
var TableColumn = new JArray();
@ -394,6 +395,8 @@ public class Ghre_CourseServices : BaseServices<Ghre_Course, Ghre_CourseDto, Ins
TableColumn.Add(searchItem);
sql = $"SELECT Id, CourseNo , CourseName FROM Ghre_Course WHERE Status ='Released' AND IsEnable=1";
if (string.IsNullOrWhiteSpace(keyWords))
sql += $"AND ( CourseNo like '%{keyWords}%' or CourseName like '%{keyWords}%')";
if (linkId.HasValue)
sql += $" AND CourseSceneId='{linkId}'";

@ -811,7 +811,7 @@ delete from Ghre_ExamPaperQuestion WHERE ExamPaperId='{id}';");
/// </summary>
/// <param name="type"></param>
/// <returns></returns>
public async Task<ServiceResult<CommonSelect>> GetSelectAsync(long? linkId)
public async Task<ServiceResult<CommonSelect>> GetSelectAsync(long? linkId, string keyWords)
{
var result = new CommonSelect();
var TableColumn = new JArray();
@ -833,7 +833,10 @@ delete from Ghre_ExamPaperQuestion WHERE ExamPaperId='{id}';");
];
TableColumn.Add(searchItem);
sql = $"SELECT Id, PaperNo, PaperName FROM Ghre_ExamPaper WHERE LinkId='{linkId}' AND Status ='Released' AND IsEnable=1 ORDER BY CreateTime DESC";
sql = $"SELECT Id, PaperNo, PaperName FROM Ghre_ExamPaper WHERE LinkId='{linkId}' AND Status ='Released' AND IsEnable=1";
if (string.IsNullOrWhiteSpace(keyWords))
sql += $"AND ( PaperNo like '%{keyWords}%' or PaperName like '%{keyWords}%')";
sql += $" ORDER BY CreateTime DESC";
dt = await Db.Ado.GetDataTableAsync(sql);
for (int i = 0; i < dt.Rows.Count; i++)

@ -7,6 +7,7 @@ using Newtonsoft.Json.Linq;
using SqlSugar;
using Tiobon.Core.Common;
using Tiobon.Core.Common.Caches;
using Tiobon.Core.Common.DB.Dapper.Extensions;
using Tiobon.Core.Common.Helper;
using Tiobon.Core.IRepository.Base;
using Tiobon.Core.IServices;
@ -1040,5 +1041,18 @@ public class Ghre_QuestionServices : BaseServices<Ghre_Question, Ghre_QuestionDt
return ServiceResult<ExcelData>.OprateSuccess("导入成功!", data);
}
public override async Task<ServiceResult<string>> DownloadExcel(string menuName)
{
var physicsPath = $"{Environment.CurrentDirectory}{Path.DirectorySeparatorChar}wwwroot";
var path = $"{$"{Path.DirectorySeparatorChar}files{Path.DirectorySeparatorChar}ExcelTemplate{Path.DirectorySeparatorChar}"}";
if (!Directory.Exists(physicsPath + path))
Directory.CreateDirectory(physicsPath + path);
Type entityType = typeof(Ghre_Question);
var fileName = entityType.GetEntityTableName() + ".xlsx";
var result = ServiceResult<string>.OprateSuccess(fileName, physicsPath + path + fileName);
return result;
}
#endregion
}

@ -251,7 +251,7 @@
<param name="param"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.CommonController.GetSelectAsync(System.String)">
<member name="M:Tiobon.Core.Controllers.CommonController.GetSelectAsync(System.String,System.String)">
<summary>
获取模块信息接口
</summary>
@ -588,7 +588,7 @@
<param name="body">条件</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_CourseController.QuerySelectAsync(System.Nullable{System.Int64})">
<member name="M:Tiobon.Core.Api.Controllers.Ghre_CourseController.QuerySelectAsync(System.Nullable{System.Int64},System.String)">
<summary>
获取通用列表下拉
</summary>
@ -747,7 +747,7 @@
<param name="insert"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_ExamPaperController.GetSelectAsync(System.Nullable{System.Int64})">
<member name="M:Tiobon.Core.Api.Controllers.Ghre_ExamPaperController.GetSelectAsync(System.Nullable{System.Int64},System.String)">
<summary>
获取通用列表下拉
</summary>

Loading…
Cancel
Save