|
@@ -624,7 +624,6 @@ namespace TEAMModelOS.FunctionV4.ServiceBus
|
|
|
/* var jsonMsg = JsonDocument.Parse(msg);
|
|
|
jsonMsg.RootElement.TryGetProperty("id", out JsonElement id);
|
|
|
//jsonMsg.RootElement.TryGetProperty("code", out JsonElement code);*/
|
|
|
- List<Study> studies = new();
|
|
|
JsonElement element = msg.ToObject<JsonElement>();
|
|
|
element.TryGetProperty("id", out JsonElement ids);
|
|
|
List<string> tIds = ids.ToObject<List<string>>();
|
|
@@ -649,6 +648,8 @@ namespace TEAMModelOS.FunctionV4.ServiceBus
|
|
|
}
|
|
|
foreach (string id in tIds)
|
|
|
{
|
|
|
+ List<Study> studies = new();
|
|
|
+ StringBuilder stringBuilder = new StringBuilder();
|
|
|
List<(List<string> tch, List<Dictionary<string, List<string>>> groupLists)> tchInfo = new();
|
|
|
var query = $"SELECT top 1 c.tchLists,c.groupLists FROM c where array_contains(c.teacIds, '{id}') order by c.createTime desc";
|
|
|
await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Common").GetItemQueryStreamIterator(queryText: query, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Study-{code}") }))
|
|
@@ -696,71 +697,152 @@ namespace TEAMModelOS.FunctionV4.ServiceBus
|
|
|
cname = tchList.Where(c => c.id == id).FirstOrDefault().name;
|
|
|
}
|
|
|
|
|
|
- var queryInfo = $"select value(c) from c where (c.status<>404 or IS_DEFINED(c.status) = false and array_contains(c.teacIds, '{id}') )";
|
|
|
+ var queryInfo = $"select value(c) from c where (c.status<>404 or IS_DEFINED(c.status) = false) and array_contains(c.teacIds, '{id}')";
|
|
|
await foreach (var item in client.GetContainer("TEAMModelOS", "Common").GetItemQueryIterator<Study>(queryText: queryInfo, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Study-{code}") }))
|
|
|
{
|
|
|
studies.Add(item);
|
|
|
|
|
|
}
|
|
|
List<string> details = new();
|
|
|
- StringBuilder stringBuilder = new StringBuilder();
|
|
|
foreach (Study study in studies)
|
|
|
{
|
|
|
-
|
|
|
- var start = DateTimeHelper.FromUnixTimestamp(study.startTime).ToString("yyyy/MM/dd HH:mm:ss");
|
|
|
- var end = DateTimeHelper.FromUnixTimestamp(study.endTime).ToString("yyyy/MM/dd HH:mm:ss");
|
|
|
- string tname = string.Empty;
|
|
|
- List<string> setName = new();
|
|
|
- foreach (string setting in study.settings)
|
|
|
+ var sresponse = await client.GetContainer("TEAMModelOS", "Teacher").ReadItemStreamAsync(study.id, new PartitionKey($"StudyRecord-{id}"));
|
|
|
+ if (sresponse.Status == 200)
|
|
|
{
|
|
|
- if (setting.Equals("sign"))
|
|
|
- {
|
|
|
- setName.Add("扫码签到");
|
|
|
- }
|
|
|
- else if (setting.Equals("hw"))
|
|
|
- {
|
|
|
- setName.Add("作业提交");
|
|
|
- }
|
|
|
- else if (setting.Equals("survey"))
|
|
|
- {
|
|
|
- setName.Add("问卷反馈");
|
|
|
- }
|
|
|
- else if (setting.Equals("exam"))
|
|
|
+ var json = await JsonDocument.ParseAsync(sresponse.ContentStream);
|
|
|
+ StudyRecord record = json.ToObject<StudyRecord>();
|
|
|
+ if (record.status == 1)
|
|
|
{
|
|
|
- setName.Add("评测活动");
|
|
|
- }
|
|
|
- }
|
|
|
- switch (study.type)
|
|
|
- {
|
|
|
- case 1:
|
|
|
- tname = "信息化教学案例展示与分享";
|
|
|
- break;
|
|
|
- case 2:
|
|
|
- tname = "专家专题培训";
|
|
|
- break;
|
|
|
- case 3:
|
|
|
- tname = "同课同构";
|
|
|
- break;
|
|
|
- case 4:
|
|
|
- tname = "同课异构";
|
|
|
- break;
|
|
|
- case 5:
|
|
|
- tname = "校本2.0培训";
|
|
|
- break;
|
|
|
- case 6:
|
|
|
- tname = "自定义活动";
|
|
|
- break;
|
|
|
- };
|
|
|
- stringBuilder.Append($@"<tr>
|
|
|
+ if (!string.IsNullOrEmpty(study.workId))
|
|
|
+ {
|
|
|
+ var response = await client.GetContainer("TEAMModelOS", "Teacher").ReadItemStreamAsync(study.workId, new PartitionKey($"HomeworkRecord-{id}"));
|
|
|
+ if (response.Status == 200)
|
|
|
+ {
|
|
|
+ var start = DateTimeHelper.FromUnixTimestamp(study.startTime).ToString("yyyy/MM/dd");
|
|
|
+ var end = DateTimeHelper.FromUnixTimestamp(study.endTime).ToString("yyyy/MM/dd");
|
|
|
+ string tname = string.Empty;
|
|
|
+ List<string> setName = new();
|
|
|
+ foreach (string setting in study.settings)
|
|
|
+ {
|
|
|
+ if (setting.Equals("sign"))
|
|
|
+ {
|
|
|
+ setName.Add("扫码签到");
|
|
|
+ }
|
|
|
+ else if (setting.Equals("hw"))
|
|
|
+ {
|
|
|
+ setName.Add("作业提交");
|
|
|
+ }
|
|
|
+ else if (setting.Equals("survey"))
|
|
|
+ {
|
|
|
+ setName.Add("问卷反馈");
|
|
|
+ }
|
|
|
+ else if (setting.Equals("exam"))
|
|
|
+ {
|
|
|
+ setName.Add("评测活动");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ switch (study.type)
|
|
|
+ {
|
|
|
+ case 1:
|
|
|
+ tname = "信息化教学案例展示与分享";
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ tname = "专家专题培训";
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ tname = "同课同构";
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ tname = "同课异构";
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ tname = "校本2.0培训";
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ tname = "自定义活动";
|
|
|
+ break;
|
|
|
+ };
|
|
|
+ stringBuilder.Append($@"<tr>
|
|
|
<td> {study.topic} </td>
|
|
|
<td> {tname} </td >
|
|
|
<td> {study.hour} </td >
|
|
|
- <td> 1 </td >
|
|
|
+ <td> {study.hour} </td >
|
|
|
+ <td> {start} 到 {end} </td>
|
|
|
+ <td>{study.desc}</td>
|
|
|
+ <td> {string.Join("、", setName.Select(x => $"{x}\n"))} </td>
|
|
|
+ <td> 已完成 </td >
|
|
|
+ </tr> ");
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ var start = DateTimeHelper.FromUnixTimestamp(study.startTime).ToString("yyyy/MM/dd");
|
|
|
+ var end = DateTimeHelper.FromUnixTimestamp(study.endTime).ToString("yyyy/MM/dd");
|
|
|
+ string tname = string.Empty;
|
|
|
+ List<string> setName = new();
|
|
|
+ foreach (string setting in study.settings)
|
|
|
+ {
|
|
|
+ if (setting.Equals("sign"))
|
|
|
+ {
|
|
|
+ setName.Add("扫码签到");
|
|
|
+ }
|
|
|
+ else if (setting.Equals("hw"))
|
|
|
+ {
|
|
|
+ setName.Add("作业提交");
|
|
|
+ }
|
|
|
+ else if (setting.Equals("survey"))
|
|
|
+ {
|
|
|
+ setName.Add("问卷反馈");
|
|
|
+ }
|
|
|
+ else if (setting.Equals("exam"))
|
|
|
+ {
|
|
|
+ setName.Add("评测活动");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ switch (study.type)
|
|
|
+ {
|
|
|
+ case 1:
|
|
|
+ tname = "信息化教学案例展示与分享";
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ tname = "专家专题培训";
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ tname = "同课同构";
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ tname = "同课异构";
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ tname = "校本2.0培训";
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ tname = "自定义活动";
|
|
|
+ break;
|
|
|
+ };
|
|
|
+ stringBuilder.Append($@"<tr>
|
|
|
+ <td> {study.topic} </td>
|
|
|
+ <td> {tname} </td >
|
|
|
+ <td> {study.hour} </td >
|
|
|
+ <td> {study.hour} </td >
|
|
|
<td> {start} 到 {end} </td>
|
|
|
<td>{study.desc}</td>
|
|
|
<td> {string.Join("、", setName.Select(x => $"{x}\n"))} </td>
|
|
|
<td> 已完成 </td >
|
|
|
</tr> ");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
}
|
|
|
await StudyService.GenPdf(id, areaId, cname, sname, gname, stringBuilder.ToString(), _converter, _azureStorage,_dingDing);
|
|
|
}
|