|
@@ -2162,13 +2162,27 @@ namespace TEAMModelOS.Controllers.Both
|
|
|
List<Course> schoolCourses = new List<Course>();
|
|
|
HashSet<string> schoolIds = new HashSet<string>();
|
|
|
string sql = "select value c from c where c.pk='Course' ";
|
|
|
- await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetItemQueryIterator<Course>(queryText: sql, requestOptions:new QueryRequestOptions {PartitionKey= new PartitionKey("Course-cdxxps") }))
|
|
|
+ await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetItemQueryIterator<Course>(queryText: sql))
|
|
|
{
|
|
|
schoolCourses.Add(item);
|
|
|
+
|
|
|
if (!string.IsNullOrWhiteSpace(item.school))
|
|
|
{
|
|
|
- schoolIds.Add(item.school);
|
|
|
+ if (item.school.Equals("ydzt") ||item.school.Equals("xcfx") ||item.school.Equals("hlgj") ||item.school.Equals("hbcn") ||item.school.Equals("kjyxx") ||item.school.Equals("bjgsex") || item.school.Equals("cdxxps") ||item.school.Equals("pclxxx"))
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ schoolCourses.Add(item);
|
|
|
+ schoolIds.Add(item.school);
|
|
|
+ }
|
|
|
}
|
|
|
+ //if (!string.IsNullOrWhiteSpace(item.school))
|
|
|
+ //{
|
|
|
+ // schoolIds.Add(item.school);
|
|
|
+
|
|
|
+ //}
|
|
|
}
|
|
|
List<School> schools = new List<School>();
|
|
|
if (schoolIds.Count>0)
|
|
@@ -2182,9 +2196,6 @@ namespace TEAMModelOS.Controllers.Both
|
|
|
List<CourseDto> schoolCourseDtos = new List<CourseDto>();
|
|
|
foreach (var course in schoolCourses)
|
|
|
{
|
|
|
- if (course.name.Equals("英语")) {
|
|
|
- Console.WriteLine("1");
|
|
|
- }
|
|
|
var school = schools.Find(z => z.id.Equals(course.school));
|
|
|
if (school==null) { continue; }
|
|
|
var period = school.period.Find(z => z.id.Equals(course.period?.id));
|
|
@@ -2271,7 +2282,6 @@ namespace TEAMModelOS.Controllers.Both
|
|
|
period= new IdName { id= course.period?.id, name =course.period?.name },
|
|
|
school=school.id,
|
|
|
scope="school",
|
|
|
-
|
|
|
creatorId=course.creatorId,
|
|
|
desc=course.desc,
|
|
|
status=1,
|
|
@@ -2453,12 +2463,12 @@ namespace TEAMModelOS.Controllers.Both
|
|
|
List<Course> schoolCourses = new List<Course>();
|
|
|
HashSet<string> schoolIds = new HashSet<string>();
|
|
|
string sql = "select value c from c where c.pk='Course' ";
|
|
|
- await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetItemQueryIterator<Course>(queryText: sql, requestOptions: new QueryRequestOptions { PartitionKey= new PartitionKey("Course-cdxxps")}))
|
|
|
+ await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetItemQueryIterator<Course>(queryText: sql))
|
|
|
{
|
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(item.school))
|
|
|
{
|
|
|
- if (item.school.Equals("ydzt") ||item.school.Equals("xcfx") ||item.school.Equals("hlgj") ||item.school.Equals("hbcn") ||item.school.Equals("kjyxx") ||item.school.Equals("bjgsex") ||item.school.Equals("pclxxx"))
|
|
|
+ if (item.school.Equals("ydzt") ||item.school.Equals("xcfx") ||item.school.Equals("hlgj") ||item.school.Equals("hbcn") ||item.school.Equals("kjyxx") ||item.school.Equals("bjgsex") || item.school.Equals("cdxxps") ||item.school.Equals("pclxxx"))
|
|
|
{
|
|
|
|
|
|
}
|
|
@@ -2486,10 +2496,10 @@ namespace TEAMModelOS.Controllers.Both
|
|
|
//删除之前迁移的数据
|
|
|
foreach (var item in schools)
|
|
|
{
|
|
|
- //var resultBase = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetList<CourseBase>("select value c from c", $"CourseBase-{item.id}");
|
|
|
- //await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).DeleteItemsStreamAsync(resultBase.list.Select(z => z.id).ToList(), $"CourseBase-{item.id}");
|
|
|
- //var resultTask = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetList<CorrectTask>("select value c from c", $"CourseTask-{item.id}");
|
|
|
- //await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).DeleteItemsStreamAsync(resultTask.list.Select(z => z.id).ToList(), $"CourseTask-{item.id}");
|
|
|
+ var resultBase = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetList<CourseBase>("select value c from c", $"CourseBase-{item.id}");
|
|
|
+ await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).DeleteItemsStreamAsync(resultBase.list.Select(z => z.id).ToList(), $"CourseBase-{item.id}");
|
|
|
+ var resultTask = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetList<CorrectTask>("select value c from c", $"CourseTask-{item.id}");
|
|
|
+ await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).DeleteItemsStreamAsync(resultTask.list.Select(z => z.id).ToList(), $"CourseTask-{item.id}");
|
|
|
}
|
|
|
}
|
|
|
List<CourseDto> schoolCourseDtos = new List<CourseDto>();
|
|
@@ -2507,64 +2517,59 @@ namespace TEAMModelOS.Controllers.Both
|
|
|
Azure.Response response = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).ReadItemStreamAsync(course.id, new PartitionKey($"CourseBase-{school.id}"));
|
|
|
if (response.Status==200)
|
|
|
{
|
|
|
- courseBase = JsonDocument.Parse(response.Content).RootElement.ToObject<CourseBase>();
|
|
|
+ courseBase = JsonDocument.Parse(response.Content).RootElement.ToObject<CourseBase>();
|
|
|
if (courseBase!= null)
|
|
|
{
|
|
|
- if (string.IsNullOrWhiteSpace(courseBase.no))
|
|
|
+ //生成新的课程编号
|
|
|
+ string sqlNo = $"select value c.no from c where c.period.id='{courseBase.period.id}' ";
|
|
|
+ var result = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetList<string>(sqlNo, courseBase.code);
|
|
|
+ if (result.list.IsNotEmpty())
|
|
|
{
|
|
|
- //生成新的课程编号
|
|
|
- string sqlNo = $"select value c.no from c where c.period.id='{courseBase.period.id}' ";
|
|
|
- var result = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetList<string>(sqlNo, courseBase.code);
|
|
|
- if (result.list.IsNotEmpty())
|
|
|
+ int index = period.subjects.FindIndex(z => z.id.Equals(courseBase.subject.id))+1;
|
|
|
+ var nos = result.list.FindAll(x => !string.IsNullOrWhiteSpace(x) && x.StartsWith($"{index}")).ToHashSet<string>();
|
|
|
+ if (nos != null)
|
|
|
{
|
|
|
- int index = period.subjects.FindIndex(z => z.id.Equals(courseBase.subject.id))+1;
|
|
|
- var nos = result.list.FindAll(x => !string.IsNullOrWhiteSpace(x) && x.StartsWith($"{index}")).ToHashSet<string>();
|
|
|
- if (nos != null)
|
|
|
+ string couresNo = string.Empty;
|
|
|
+ List<string> order = nos.Where(y => !string.IsNullOrEmpty(y) && Regex.IsMatch(y, @"^\d*$")).OrderBy(x => int.Parse(x)).ToList();
|
|
|
+ if (!order.Contains($"{index}00"))
|
|
|
+ {
|
|
|
+ order.Insert(0, $"{index}00");
|
|
|
+ }
|
|
|
+ if (order != null)
|
|
|
{
|
|
|
- string couresNo = string.Empty;
|
|
|
- List<string> order = nos.Where(y => !string.IsNullOrEmpty(y) && Regex.IsMatch(y, @"^\d*$")).OrderBy(x => int.Parse(x)).ToList();
|
|
|
if (!order.Contains($"{index}00"))
|
|
|
{
|
|
|
order.Insert(0, $"{index}00");
|
|
|
}
|
|
|
- if (order != null)
|
|
|
- {
|
|
|
- if (!order.Contains($"{index}00"))
|
|
|
- {
|
|
|
- order.Insert(0, $"{index}00");
|
|
|
- }
|
|
|
- }
|
|
|
- else { order = new List<string>() { $"{index}00" }; }
|
|
|
- for (int i = 0; i < order.Count; i++)
|
|
|
+ }
|
|
|
+ else { order = new List<string>() { $"{index}00" }; }
|
|
|
+ for (int i = 0; i < order.Count; i++)
|
|
|
+ {
|
|
|
+ couresNo = $"{int.Parse(order[i]) + 1}";
|
|
|
+ int no = i + 1;
|
|
|
+ if (no <= order.Count - 1)
|
|
|
{
|
|
|
- couresNo = $"{int.Parse(order[i]) + 1}";
|
|
|
- int no = i + 1;
|
|
|
- if (no <= order.Count - 1)
|
|
|
+ if (!couresNo.Equals(order[no]))
|
|
|
{
|
|
|
- if (!couresNo.Equals(order[no]))
|
|
|
- {
|
|
|
- break;
|
|
|
- }
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
- if (string.IsNullOrWhiteSpace(couresNo))
|
|
|
- {
|
|
|
- couresNo=$"{index}99";
|
|
|
- }
|
|
|
- courseBase.no=couresNo;
|
|
|
}
|
|
|
- else
|
|
|
+ if (string.IsNullOrWhiteSpace(couresNo))
|
|
|
{
|
|
|
- courseBase.no= $"{index}01";
|
|
|
+ couresNo=$"{index}99";
|
|
|
}
|
|
|
+ courseBase.no=couresNo;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- courseBase.no= $"{(period.subjects.FindIndex(z => z.id.Equals(courseBase.subject.id))+1)}01";
|
|
|
+ courseBase.no= $"{index}01";
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
+ else
|
|
|
+ {
|
|
|
+ courseBase.no= $"{(period.subjects.FindIndex(z => z.id.Equals(courseBase.subject.id))+1)}01";
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
else {
|
|
@@ -2585,59 +2590,56 @@ namespace TEAMModelOS.Controllers.Both
|
|
|
status=1,
|
|
|
grade=0,
|
|
|
};
|
|
|
- if (string.IsNullOrWhiteSpace(courseBase.no))
|
|
|
+ //生成新的课程编号
|
|
|
+ string sqlNo = $"select value c.no from c where c.period.id='{courseBase.period.id}' ";
|
|
|
+ var result = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetList<string>(sqlNo, courseBase.code);
|
|
|
+ if (result.list.IsNotEmpty())
|
|
|
{
|
|
|
- //生成新的课程编号
|
|
|
- string sqlNo = $"select value c.no from c where c.period.id='{courseBase.period.id}' ";
|
|
|
- var result = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetList<string>(sqlNo, courseBase.code);
|
|
|
- if (result.list.IsNotEmpty())
|
|
|
+ int index = period.subjects.FindIndex(z => z.id.Equals(courseBase.subject.id))+1;
|
|
|
+ var nos = result.list.FindAll(x => !string.IsNullOrWhiteSpace(x) && x.StartsWith($"{index}")).ToHashSet<string>();
|
|
|
+ if (nos != null)
|
|
|
{
|
|
|
- int index = period.subjects.FindIndex(z => z.id.Equals(courseBase.subject.id))+1;
|
|
|
- var nos = result.list.FindAll(x => !string.IsNullOrWhiteSpace(x) && x.StartsWith($"{index}")).ToHashSet<string>();
|
|
|
- if (nos != null)
|
|
|
+ string couresNo = string.Empty;
|
|
|
+ List<string> order = nos.Where(y => !string.IsNullOrEmpty(y) && Regex.IsMatch(y, @"^\d*$")).OrderBy(x => int.Parse(x)).ToList();
|
|
|
+ if (!order.Contains($"{index}00"))
|
|
|
+ {
|
|
|
+ order.Insert(0, $"{index}00");
|
|
|
+ }
|
|
|
+ if (order != null)
|
|
|
{
|
|
|
- string couresNo = string.Empty;
|
|
|
- List<string> order = nos.Where(y => !string.IsNullOrEmpty(y) && Regex.IsMatch(y, @"^\d*$")).OrderBy(x => int.Parse(x)).ToList();
|
|
|
if (!order.Contains($"{index}00"))
|
|
|
{
|
|
|
order.Insert(0, $"{index}00");
|
|
|
}
|
|
|
- if (order != null)
|
|
|
+ }
|
|
|
+ else { order = new List<string>() { $"{index}00" }; }
|
|
|
+ for (int i = 0; i < order.Count; i++)
|
|
|
+ {
|
|
|
+ couresNo = $"{int.Parse(order[i]) + 1}";
|
|
|
+ int no = i + 1;
|
|
|
+ if (no <= order.Count - 1)
|
|
|
{
|
|
|
- if (!order.Contains($"{index}00"))
|
|
|
+ if (!couresNo.Equals(order[no]))
|
|
|
{
|
|
|
- order.Insert(0, $"{index}00");
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
- else { order = new List<string>() { $"{index}00" }; }
|
|
|
- for (int i = 0; i < order.Count; i++)
|
|
|
- {
|
|
|
- couresNo = $"{int.Parse(order[i]) + 1}";
|
|
|
- int no = i + 1;
|
|
|
- if (no <= order.Count - 1)
|
|
|
- {
|
|
|
- if (!couresNo.Equals(order[no]))
|
|
|
- {
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if (string.IsNullOrWhiteSpace(couresNo))
|
|
|
- {
|
|
|
- couresNo=$"{index}99";
|
|
|
- }
|
|
|
- courseBase.no=couresNo;
|
|
|
}
|
|
|
- else
|
|
|
+ if (string.IsNullOrWhiteSpace(couresNo))
|
|
|
{
|
|
|
- courseBase.no= $"{index}01";
|
|
|
+ couresNo=$"{index}99";
|
|
|
}
|
|
|
+ courseBase.no=couresNo;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- courseBase.no= $"{(period.subjects.FindIndex(z => z.id.Equals(courseBase.subject.id))+1)}01";
|
|
|
+ courseBase.no= $"{index}01";
|
|
|
}
|
|
|
}
|
|
|
+ else
|
|
|
+ {
|
|
|
+ courseBase.no= $"{(period.subjects.FindIndex(z => z.id.Equals(courseBase.subject.id))+1)}01";
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
List<ScheduleTask> schedules = new List<ScheduleTask>();
|