|
@@ -59,6 +59,7 @@ using TEAMModelOS.SDK.Models;
|
|
using TEAMModelOS.SDK.Models.Cosmos.Common;
|
|
using TEAMModelOS.SDK.Models.Cosmos.Common;
|
|
using TEAMModelOS.SDK.Models.Cosmos.OpenEntity;
|
|
using TEAMModelOS.SDK.Models.Cosmos.OpenEntity;
|
|
using TEAMModelOS.SDK.Models.Cosmos.School;
|
|
using TEAMModelOS.SDK.Models.Cosmos.School;
|
|
|
|
+using TEAMModelOS.SDK.Models.Cosmos.Student;
|
|
using TEAMModelOS.SDK.Models.Service;
|
|
using TEAMModelOS.SDK.Models.Service;
|
|
using TEAMModelOS.SDK.Models.Service.BI;
|
|
using TEAMModelOS.SDK.Models.Service.BI;
|
|
using TEAMModelOS.SDK.Services;
|
|
using TEAMModelOS.SDK.Services;
|
|
@@ -2321,7 +2322,7 @@ namespace TEAMModelOS.Controllers
|
|
sb_examIds.Append($"'{examItem[i].examId}',");
|
|
sb_examIds.Append($"'{examItem[i].examId}',");
|
|
}
|
|
}
|
|
// 取評量名稱
|
|
// 取評量名稱
|
|
- string sql_examName = $"SELECT c.name, c.startTime FROM c where c.pk = 'Exam' and c.id in ({sb_examIds.ToString().Remove(sb_examIds.Length - 1, 1)})";
|
|
|
|
|
|
+ string sql_examName = $"SELECT c.id as examId, c.name, c.startTime FROM c where c.pk = 'Exam' and c.id in ({sb_examIds.ToString().Remove(sb_examIds.Length - 1, 1)})";
|
|
//string sql_examName = $"SELECT c.id as examId, c.name FROM c where c.pk = 'Exam' and c.id in ({sb_examIds.ToString().Remove(sb_examIds.Length - 1, 1)})";
|
|
//string sql_examName = $"SELECT c.id as examId, c.name FROM c where c.pk = 'Exam' and c.id in ({sb_examIds.ToString().Remove(sb_examIds.Length - 1, 1)})";
|
|
await foreach (var item in clientCommon.GetItemQueryIterator<ExamItem>(queryText: sql_examName))
|
|
await foreach (var item in clientCommon.GetItemQueryIterator<ExamItem>(queryText: sql_examName))
|
|
{
|
|
{
|
|
@@ -2583,18 +2584,90 @@ namespace TEAMModelOS.Controllers
|
|
// 取項目表資料
|
|
// 取項目表資料
|
|
ScoreCalcActivityBase scoreCalcActivityBase = await clientTeacher.ReadItemAsync<ScoreCalcActivityBase>(updateActItemSortRq.scoreCalcActId.ToString(), new PartitionKey($"ScoreCalcAct-{teammodelId}"));
|
|
ScoreCalcActivityBase scoreCalcActivityBase = await clientTeacher.ReadItemAsync<ScoreCalcActivityBase>(updateActItemSortRq.scoreCalcActId.ToString(), new PartitionKey($"ScoreCalcAct-{teammodelId}"));
|
|
|
|
|
|
|
|
+ // 先排序傳進來的參數 aesc
|
|
|
|
+ List<sortItem> sortItemsrq = (from e in updateActItemSortRq.sortItems
|
|
|
|
+ orderby e.sort
|
|
|
|
+ select e).ToList();
|
|
|
|
+
|
|
// 先判斷是否為課堂紀錄 根據項目的類別需要調整
|
|
// 先判斷是否為課堂紀錄 根據項目的類別需要調整
|
|
if (scoreCalcActivityBase.type == "lessonrecord")
|
|
if (scoreCalcActivityBase.type == "lessonrecord")
|
|
{
|
|
{
|
|
- ScoreCalcLsRecord scoreCalcLsRecord = await clientTeacher.ReadItemAsync<ScoreCalcLsRecord>(updateActItemSortRq.scoreCalcActId.ToString(), new PartitionKey($"ScoreCalcAct-{teammodelId}"));
|
|
|
|
- scoreCalcLsRecord.items = setSort(scoreCalcLsRecord.items, updateActItemSortRq.sortItems);
|
|
|
|
- scoreCalcLsRecord = await clientTeacher.ReplaceItemAsync(scoreCalcLsRecord, $"{scoreCalcLsRecord.id}", new PartitionKey(scoreCalcLsRecord.code));
|
|
|
|
|
|
+ ScoreCalcLsRecord scoreCalcLsRecordDB = await clientTeacher.ReadItemAsync<ScoreCalcLsRecord>(updateActItemSortRq.scoreCalcActId.ToString(), new PartitionKey($"ScoreCalcAct-{teammodelId}"));
|
|
|
|
+
|
|
|
|
+ //存放排序後的參數
|
|
|
|
+ List<List<double>> up_stuActAttendOrgVals = new();
|
|
|
|
+ List<List<double>> up_stuActAttendScores = new();
|
|
|
|
+ List<List<double>> up_stuActPointOrgVals = new();
|
|
|
|
+ List<List<double>> up_stuActPointScores = new();
|
|
|
|
+ List<List<double>> up_stuActItactOrgVals = new();
|
|
|
|
+ List<List<double>> up_stuActItactScores = new();
|
|
|
|
+ List<double> up_itemRates = new();
|
|
|
|
+
|
|
|
|
+ //依照傳進來的id 順序修改 分數 比重 項目等順序
|
|
|
|
+ for (int i = 0; i < sortItemsrq.Count; i++)
|
|
|
|
+ {
|
|
|
|
+ for (int j = 0; j < scoreCalcLsRecordDB.items.Count; j++)
|
|
|
|
+ {
|
|
|
|
+ if (sortItemsrq[i].id == scoreCalcLsRecordDB.items[j].id)
|
|
|
|
+ {
|
|
|
|
+ up_stuActAttendOrgVals.Add(scoreCalcLsRecordDB.stuActAttendOrgVals[j]);
|
|
|
|
+ up_stuActAttendScores.Add(scoreCalcLsRecordDB.stuActAttendScores[j]);
|
|
|
|
+ up_stuActPointOrgVals.Add(scoreCalcLsRecordDB.stuActPointOrgVals[j]);
|
|
|
|
+ up_stuActPointScores.Add(scoreCalcLsRecordDB.stuActPointScores[j]);
|
|
|
|
+ up_stuActItactOrgVals.Add(scoreCalcLsRecordDB.stuActItactOrgVals[j]);
|
|
|
|
+ up_stuActItactScores.Add(scoreCalcLsRecordDB.stuActItactScores[j]);
|
|
|
|
+ up_itemRates.Add(scoreCalcLsRecordDB.itemRates[j]);
|
|
|
|
+ scoreCalcLsRecordDB.items[j].sort = sortItemsrq[i].sort;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ scoreCalcLsRecordDB.stuActAttendOrgVals = up_stuActAttendOrgVals;
|
|
|
|
+ scoreCalcLsRecordDB.stuActAttendScores = up_stuActAttendScores;
|
|
|
|
+ scoreCalcLsRecordDB.stuActPointOrgVals = up_stuActPointOrgVals;
|
|
|
|
+ scoreCalcLsRecordDB.stuActPointScores = up_stuActPointScores;
|
|
|
|
+ scoreCalcLsRecordDB.stuActItactOrgVals = up_stuActItactOrgVals;
|
|
|
|
+ scoreCalcLsRecordDB.stuActItactScores = up_stuActItactScores;
|
|
|
|
+ scoreCalcLsRecordDB.itemRates = up_itemRates;
|
|
|
|
+ // 按照更新後的sort排序
|
|
|
|
+ scoreCalcLsRecordDB.items = (from e in scoreCalcLsRecordDB.items
|
|
|
|
+ orderby e.sort
|
|
|
|
+ select e).ToList();
|
|
|
|
+
|
|
|
|
+ scoreCalcLsRecordDB = await clientTeacher.ReplaceItemAsync(scoreCalcLsRecordDB, $"{scoreCalcLsRecordDB.id}", new PartitionKey(scoreCalcLsRecordDB.code));
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- ScoreCalcActivity scoreCalcActivity = await clientTeacher.ReadItemAsync<ScoreCalcActivity>(updateActItemSortRq.scoreCalcActId.ToString(), new PartitionKey($"ScoreCalcAct-{teammodelId}"));
|
|
|
|
- scoreCalcActivity.items = setSort(scoreCalcActivity.items, updateActItemSortRq.sortItems);
|
|
|
|
- scoreCalcActivity = await clientTeacher.ReplaceItemAsync(scoreCalcActivity, $"{scoreCalcActivity.id}", new PartitionKey(scoreCalcActivity.code));
|
|
|
|
|
|
+ ScoreCalcActivity scoreCalcActivityDB = await clientTeacher.ReadItemAsync<ScoreCalcActivity>(updateActItemSortRq.scoreCalcActId.ToString(), new PartitionKey($"ScoreCalcAct-{teammodelId}"));
|
|
|
|
+
|
|
|
|
+ //存放排序後的參數
|
|
|
|
+ List<List<double>> up_stuActScores = new();
|
|
|
|
+ List<List<double>> up_stuActScoresOrg = new();
|
|
|
|
+ List<double> up_itemRates = new();
|
|
|
|
+
|
|
|
|
+ //依照傳進來的id 順序修改 分數 比重 項目等順序
|
|
|
|
+ for (int i = 0; i < sortItemsrq.Count; i++)
|
|
|
|
+ {
|
|
|
|
+ for (int j = 0; j < scoreCalcActivityDB.items.Count; j++)
|
|
|
|
+ {
|
|
|
|
+ if (sortItemsrq[i].id == scoreCalcActivityDB.items[j].id)
|
|
|
|
+ {
|
|
|
|
+ up_stuActScores.Add(scoreCalcActivityDB.stuActScores[j]);
|
|
|
|
+ up_stuActScoresOrg.Add(scoreCalcActivityDB.stuActScoresOrg[j]);
|
|
|
|
+ up_itemRates.Add(scoreCalcActivityDB.itemRates[j]);
|
|
|
|
+ scoreCalcActivityDB.items[j].sort = sortItemsrq[i].sort;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ scoreCalcActivityDB.stuActScores = up_stuActScores;
|
|
|
|
+ scoreCalcActivityDB.stuActScoresOrg = up_stuActScoresOrg;
|
|
|
|
+ scoreCalcActivityDB.itemRates = up_itemRates;
|
|
|
|
+ // 按照更新後的sort排序
|
|
|
|
+ scoreCalcActivityDB.items = (from e in scoreCalcActivityDB.items
|
|
|
|
+ orderby e.sort
|
|
|
|
+ select e).ToList();
|
|
|
|
+
|
|
|
|
+ scoreCalcActivityDB = await clientTeacher.ReplaceItemAsync(scoreCalcActivityDB, $"{scoreCalcActivityDB.id}", new PartitionKey(scoreCalcActivityDB.code));
|
|
}
|
|
}
|
|
|
|
|
|
var result = new
|
|
var result = new
|
|
@@ -2611,34 +2684,7 @@ namespace TEAMModelOS.Controllers
|
|
return BadRequest();
|
|
return BadRequest();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- /// <summary>
|
|
|
|
- /// 重新排序資料
|
|
|
|
- /// </summary>
|
|
|
|
- /// <param name="dbitems"></param>
|
|
|
|
- /// <param name="sortItems"></param>
|
|
|
|
- /// <returns></returns>
|
|
|
|
- private List<ScoreCalcActivityItems> setSort(List<ScoreCalcActivityItems> dbitems, List<sortItem> sortItems)
|
|
|
|
- {
|
|
|
|
- for (int i = 0; i < dbitems.Count; i++)
|
|
|
|
- {
|
|
|
|
- for (int j = 0; j < sortItems.Count; j++)
|
|
|
|
- {
|
|
|
|
- if (dbitems[i].id == sortItems[j].id)
|
|
|
|
- {
|
|
|
|
- dbitems[i].sort = sortItems[j].sort;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- var newdbitems = from e in dbitems
|
|
|
|
- orderby e.sort
|
|
|
|
- select e;
|
|
|
|
- List<ScoreCalcActivityItems> scoreCalcActivityItems = new List<ScoreCalcActivityItems>();
|
|
|
|
- foreach (var dbitem in newdbitems)
|
|
|
|
- {
|
|
|
|
- scoreCalcActivityItems.Add(dbitem);
|
|
|
|
- }
|
|
|
|
- return scoreCalcActivityItems;
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
/// (十七)查詢項目屬性資料
|
|
/// (十七)查詢項目屬性資料
|