|
@@ -3,6 +3,7 @@ using Azure.Cosmos;
|
|
|
using Azure.Messaging.ServiceBus;
|
|
|
using HTEXLib.COMM.Helpers;
|
|
|
using Microsoft.Extensions.Configuration;
|
|
|
+using OpenXmlPowerTools;
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.IO;
|
|
@@ -15,6 +16,7 @@ using TEAMModelOS.Models;
|
|
|
using TEAMModelOS.SDK.DI;
|
|
|
using TEAMModelOS.SDK.Extension;
|
|
|
using TEAMModelOS.SDK.Models;
|
|
|
+using TEAMModelOS.SDK.Models.Service;
|
|
|
|
|
|
namespace TEAMModelOS.SDK
|
|
|
{
|
|
@@ -1414,6 +1416,8 @@ namespace TEAMModelOS.SDK
|
|
|
.GetItemQueryIterator<Imei>(queryText:imeiQueryText,requestOptions:new QueryRequestOptions { PartitionKey= new PartitionKey("Imei")})){
|
|
|
imeis.Add(item);
|
|
|
}
|
|
|
+ List<Student> graduate_students = new List<Student>();
|
|
|
+ List<Class> school_classes = new List<Class>();
|
|
|
string queryText = "";
|
|
|
if (graduate == 0)
|
|
|
{
|
|
@@ -1421,6 +1425,27 @@ namespace TEAMModelOS.SDK
|
|
|
}
|
|
|
else {
|
|
|
queryText = $"SELECT * FROM c WHERE c.code = 'Base-{schoolId}' and c.graduate = 1 and c.year ={inyear} ";
|
|
|
+
|
|
|
+
|
|
|
+ ///查询当年的毕业班
|
|
|
+ string sql = sql = $"SELECT value c FROM c where c.graduate =1 and c.year ={inyear}"; ;
|
|
|
+
|
|
|
+ var client = _azureCosmos.GetCosmosClient();
|
|
|
+ await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "School").GetItemQueryIterator<Class>
|
|
|
+ (queryText: sql,
|
|
|
+ requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Class-{schoolId}") }))
|
|
|
+ {
|
|
|
+ school_classes.Add(item);
|
|
|
+ }
|
|
|
+ //如果已经毕业的班级不为空。
|
|
|
+ if (school_classes.IsNotEmpty()) {
|
|
|
+ string classSql = $"SELECT value c FROM c WHERE c.code = 'Base-{schoolId}' and c.graduate = 1 and c.classId in( {string.Join(",", school_classes.Select(x => $"'{x.id}'"))} )";
|
|
|
+ await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "Student").GetItemQueryIterator<Student>( queryText: classSql,
|
|
|
+ requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Base-{schoolId}")}))
|
|
|
+ {
|
|
|
+ graduate_students.Add(item);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
@@ -1590,6 +1615,30 @@ namespace TEAMModelOS.SDK
|
|
|
gender = o.gender,
|
|
|
guardians =o.guardians,
|
|
|
}));
|
|
|
+
|
|
|
+ graduate_students.ForEach(o => {
|
|
|
+ var imeiObj = imeis.Find(x => x.stuid.Equals(o.id));
|
|
|
+ Class stuClass = school_classes.Find(x => x.id.Equals(o.classId));
|
|
|
+ ret.Add(
|
|
|
+ new
|
|
|
+ {
|
|
|
+ o.id,
|
|
|
+ o.name,
|
|
|
+ o.picture,
|
|
|
+ o.year,
|
|
|
+ o.no,
|
|
|
+ classId = stuClass?.id,
|
|
|
+ classNo = stuClass?.no,
|
|
|
+ className = stuClass?.name,
|
|
|
+ gradeId = stuClass?.gradeId,
|
|
|
+ o.periodId,
|
|
|
+ classYear = stuClass?.year,
|
|
|
+ irs = o.irs,
|
|
|
+ imei = imeiObj?.id,
|
|
|
+ gender = o.gender,
|
|
|
+ guardians = o.guardians,
|
|
|
+ });
|
|
|
+ });
|
|
|
return ret;
|
|
|
}
|
|
|
catch (Exception ex)
|