|
|
@ -192,5 +192,127 @@ namespace Tiobon.Core.Services |
|
|
|
return ServiceResult<CoursePublicSearch>.OprateSuccess("", entity); |
|
|
|
return ServiceResult<CoursePublicSearch>.OprateSuccess("", entity); |
|
|
|
} |
|
|
|
} |
|
|
|
#endregion |
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#region 获取我的学习 |
|
|
|
|
|
|
|
/// <summary> |
|
|
|
|
|
|
|
/// |
|
|
|
|
|
|
|
/// </summary> |
|
|
|
|
|
|
|
/// <param name="filter"></param> |
|
|
|
|
|
|
|
/// <param name="condition"></param> |
|
|
|
|
|
|
|
/// <param name="IsEnable"></param> |
|
|
|
|
|
|
|
/// <returns></returns> |
|
|
|
|
|
|
|
public async Task<ServicePageResult<Ghre_StudyRecordESS>> QueryESS(QueryBody filter, string condition, bool? IsEnable = true) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (string.IsNullOrWhiteSpace(filter.orderBy)) |
|
|
|
|
|
|
|
filter.orderBy = "JoinTime DESC"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (filter.pageSize == 0) |
|
|
|
|
|
|
|
filter.pageSize = 10000; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var countSql = @$" SELECT COUNT(1) FROM Ghre_StudyRecord_V"; |
|
|
|
|
|
|
|
var sql = @$" SELECT A.Id,
|
|
|
|
|
|
|
|
A.StaffId, |
|
|
|
|
|
|
|
A.CourseSnapId, |
|
|
|
|
|
|
|
A.CourseId, |
|
|
|
|
|
|
|
A.CoverUrl, |
|
|
|
|
|
|
|
A.UseDefaultCoverImage, |
|
|
|
|
|
|
|
A.DefaultCoverImageName, |
|
|
|
|
|
|
|
A.CourseName, |
|
|
|
|
|
|
|
A.StandardHour, |
|
|
|
|
|
|
|
A.CreditPoints, |
|
|
|
|
|
|
|
A.BeginTime CourseBeginDate, |
|
|
|
|
|
|
|
A.EndTime CourseEndDate, |
|
|
|
|
|
|
|
A.ExamDate, |
|
|
|
|
|
|
|
A.ExamBeginDate, |
|
|
|
|
|
|
|
A.ExamEndDate, |
|
|
|
|
|
|
|
A.JoinTime, |
|
|
|
|
|
|
|
A.CourseClassId, |
|
|
|
|
|
|
|
A.CourseSceneId, |
|
|
|
|
|
|
|
A.CourseType |
|
|
|
|
|
|
|
FROM Ghre_StudyRecord_V A";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
string conditions = $" WHERE UserId={App.User.ID} "; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (IsEnable == true) |
|
|
|
|
|
|
|
conditions += " AND IsEnable = 1"; |
|
|
|
|
|
|
|
else if (IsEnable == false) |
|
|
|
|
|
|
|
conditions += " AND IsEnable = 0"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(condition)) |
|
|
|
|
|
|
|
conditions += " AND " + condition; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (filter.jsonParam != null) |
|
|
|
|
|
|
|
foreach (JProperty jProperty in filter.jsonParam.Properties()) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
var name = jProperty.Name; |
|
|
|
|
|
|
|
var value = jProperty.Value.ToString(); |
|
|
|
|
|
|
|
if (name == "page" || name == "pageSize") |
|
|
|
|
|
|
|
continue; |
|
|
|
|
|
|
|
//if (name == "Date") |
|
|
|
|
|
|
|
//{ |
|
|
|
|
|
|
|
// var jsonParam = JsonConvert.DeserializeObject<JsonParam1>(value); |
|
|
|
|
|
|
|
// conditions += $" AND (Date BETWEEN '{jsonParam.columnValue[0]}' AND '{jsonParam.columnValue[1]}')"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// continue; |
|
|
|
|
|
|
|
//} |
|
|
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(value)) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
var jsonParam = JsonConvert.DeserializeObject<JsonParam>(value); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
switch (jsonParam.operationKey) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
case "Include": |
|
|
|
|
|
|
|
conditions += $" AND {name} LIKE '%{jsonParam.columnValue}%'"; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "NotInclude": |
|
|
|
|
|
|
|
conditions += $" AND {name} NOT LIKE '%{jsonParam.columnValue}%'"; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "IsNull": |
|
|
|
|
|
|
|
conditions += $" AND {name} IS NULL"; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "NotNull": |
|
|
|
|
|
|
|
conditions += $" AND {name} IS NOT NULL"; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "Equal": |
|
|
|
|
|
|
|
conditions += $" AND {name} ='{jsonParam.columnValue}'"; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "NotEqual": |
|
|
|
|
|
|
|
conditions += $" AND {name} !='{jsonParam.columnValue}'"; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "GreaterOrEqual"://大于等于 |
|
|
|
|
|
|
|
conditions += $" AND {name} >='{jsonParam.columnValue}'"; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "Greater"://大于 |
|
|
|
|
|
|
|
conditions += $" AND {name} >'{jsonParam.columnValue}'"; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "LessOrEqual"://小于等于 |
|
|
|
|
|
|
|
conditions += $" AND {name} <='{jsonParam.columnValue}'"; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "Less"://小于 |
|
|
|
|
|
|
|
conditions += $" AND {name} <'{jsonParam.columnValue}'"; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
default: |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sql += conditions; |
|
|
|
|
|
|
|
countSql += conditions; |
|
|
|
|
|
|
|
int total = await Db.Ado.GetIntAsync(countSql); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sql = "SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY " + filter.orderBy + ") NUM FROM (SELECT * FROM (" + sql + " "; |
|
|
|
|
|
|
|
sql += ") A ) B ) C"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sql += " WHERE NUM <= " + filter.pageNum * filter.pageSize + " AND NUM >" + (filter.pageNum - 1) * filter.pageSize; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var entitys = await Db.Ado.SqlQueryAsync<Ghre_StudyRecordESS>(sql); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return new ServicePageResult<Ghre_StudyRecordESS>(filter.pageNum, total, filter.pageSize, entitys); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endregion |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |