|
@@ -26,6 +26,7 @@ using System.Net.Http;
|
|
using System;
|
|
using System;
|
|
using System.Web;
|
|
using System.Web;
|
|
using System.Security.Policy;
|
|
using System.Security.Policy;
|
|
|
|
+using TEAMModelOS.Controllers.Third.LePei;
|
|
|
|
|
|
namespace TEAMModelOS.Controllers
|
|
namespace TEAMModelOS.Controllers
|
|
{
|
|
{
|
|
@@ -1085,8 +1086,8 @@ namespace TEAMModelOS.Controllers
|
|
List<PushData> datas = new List<PushData>();
|
|
List<PushData> datas = new List<PushData>();
|
|
Dictionary<string, object> parameterContent53123 = new Dictionary<string, object>();
|
|
Dictionary<string, object> parameterContent53123 = new Dictionary<string, object>();
|
|
parameterContent53123.Add("TrainComID", config.trainComID);
|
|
parameterContent53123.Add("TrainComID", config.trainComID);
|
|
- parameterContent53123.Add("ProjectID", config.p.Where(x=>x.status==1).First().pd);
|
|
|
|
- parameterContent53123.Add("ProjectItemID", config.p.Where(x => x.status == 1).First().pid);
|
|
|
|
|
|
+ parameterContent53123.Add("ProjectID", $"{sc.ProjectID}");
|
|
|
|
+ parameterContent53123.Add("ProjectItemID", $"{sc.ProjectItemID}");
|
|
parameterContent53123.Add("PXID", $"{sc.PXID}");
|
|
parameterContent53123.Add("PXID", $"{sc.PXID}");
|
|
parameterContent53123.Add("TID", $"{sc.TID}");
|
|
parameterContent53123.Add("TID", $"{sc.TID}");
|
|
ScsResult GetDiagnosisResultByPXIDCommand = await ThirdApisService.Post(_httpClient.CreateClient(),config.url, "GetDiagnosisResultByPXIDCommand", config.passKey, config.privateKey, parameterContent53123);
|
|
ScsResult GetDiagnosisResultByPXIDCommand = await ThirdApisService.Post(_httpClient.CreateClient(),config.url, "GetDiagnosisResultByPXIDCommand", config.passKey, config.privateKey, parameterContent53123);
|
|
@@ -1125,7 +1126,84 @@ namespace TEAMModelOS.Controllers
|
|
List<string> schools = json.GetProperty("schools").ToObject<List<string>>();
|
|
List<string> schools = json.GetProperty("schools").ToObject<List<string>>();
|
|
var client = _azureCosmos.GetCosmosClient();
|
|
var client = _azureCosmos.GetCosmosClient();
|
|
(List<dynamic> ycd, List<dynamic> okd, List<TeacherSc> teachers,List<PushData> datas)= await CheckScPush(pushTeachers, areaIdJson, schools, ProjectItemID);
|
|
(List<dynamic> ycd, List<dynamic> okd, List<TeacherSc> teachers,List<PushData> datas)= await CheckScPush(pushTeachers, areaIdJson, schools, ProjectItemID);
|
|
- return Ok(new { ycData = ycd, okData = okd , tmdid= teachers .Select(x=>x.tmdid), datas = datas });
|
|
|
|
|
|
+ List<string> pxids = json.GetProperty("pxids").ToObject<List<string>>();
|
|
|
|
+ List<PushData> ycData = new List<PushData>();
|
|
|
|
+ List<dynamic> ycds = new List<dynamic>();
|
|
|
|
+ if (pxids.IsNotEmpty()) {
|
|
|
|
+ var table = _azureStorage.GetCloudTableClient().GetTableReference("ScYxpt");
|
|
|
|
+ List<string> Codes = new List<string>();
|
|
|
|
+ pxids.ForEach(pxid => {
|
|
|
|
+ Codes.Add($" {Constant.RowKey} {QueryComparisons.Equal} '{pxid}' ");
|
|
|
|
+ });
|
|
|
|
+ string tbqurey = $"PartitionKey {QueryComparisons.Equal} 'ScTeacher' and areaId {QueryComparisons.Equal} '{areaIdJson}' and ( {string.Join(" or ", Codes)} ) ";
|
|
|
|
+ var result = await table.ExecuteQuerySegmentedAsync(new TableQuery<ScTeacher>().Where(tbqurey), null);
|
|
|
|
+ List<ScTeacher> scTeachers = result.Results;
|
|
|
|
+ AreaSetting areaSetting = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Normal).ReadItemAsync<AreaSetting>($"{areaIdJson}", new PartitionKey("AreaSetting"));
|
|
|
|
+ ScAccessConfig config = areaSetting.accessConfig.ToObject<ScAccessConfig>();
|
|
|
|
+ List<PushData> datass = new List<PushData>();
|
|
|
|
+ foreach (var item in scTeachers)
|
|
|
|
+ {
|
|
|
|
+ datass.AddRange(await GetYxData(config, item));
|
|
|
|
+ }
|
|
|
|
+ var group = datass.GroupBy(x => x.teacherInfo.SchoolName);
|
|
|
|
+ foreach (var groupData in group)
|
|
|
|
+ {
|
|
|
|
+ int joinCount = groupData.ToList().Count();
|
|
|
|
+ //0、未认定 1、合格 2、优秀 3、不合格 4、其他
|
|
|
|
+ int yxCount = groupData.ToList().Where(x => x.teacherInfo.ComPassed == 2).Count();
|
|
|
|
+ int hgCount = groupData.ToList().Where(x => x.teacherInfo.ComPassed == 1).Count();
|
|
|
|
+ var yc = groupData.ToList().Where(x => x.teacherInfo.ComPassed != 2 && x.teacherInfo.ComPassed != 1);
|
|
|
|
+ int ycCount = yc.Count();
|
|
|
|
+ okd.Add(new { schoolName = groupData.Key, joinCount, yxCount, hgCount, ycCount });
|
|
|
|
+ if (yc.Any())
|
|
|
|
+ {
|
|
|
|
+ foreach (var bu in yc)
|
|
|
|
+ {
|
|
|
|
+ string ComPassed = "";
|
|
|
|
+ switch (bu.teacherInfo.ComPassed)
|
|
|
|
+ {
|
|
|
|
+ //0、未认定 1、合格 2、优秀 3、不合格 4、其他
|
|
|
|
+ case 0:
|
|
|
|
+ ComPassed = "未认定";
|
|
|
|
+ break;
|
|
|
|
+ case 1:
|
|
|
|
+ ComPassed = "合格";
|
|
|
|
+ break;
|
|
|
|
+ case 2:
|
|
|
|
+ ComPassed = "优秀";
|
|
|
|
+ break;
|
|
|
|
+ case 3:
|
|
|
|
+ ComPassed = "不合格";
|
|
|
|
+ break;
|
|
|
|
+ case 4:
|
|
|
|
+ ComPassed = "其他";
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ ComPassed = "其他";
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ bu.teacherInfo.com = ComPassed;
|
|
|
|
+ }
|
|
|
|
+ ycData.AddRange(yc);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ ycData.ForEach(data => {
|
|
|
|
+ ycds.Add(new
|
|
|
|
+ {
|
|
|
|
+ data.teacherInfo.TeacherName,
|
|
|
|
+ data.teacherInfo.tmdid,
|
|
|
|
+ data.teacherInfo.SchoolName,
|
|
|
|
+ data.teacherInfo.schoolCode,
|
|
|
|
+ data.teacherInfo.com,
|
|
|
|
+ data.teacherInfo.ComPassed,
|
|
|
|
+ data.teacherInfo.ComPassedTime,
|
|
|
|
+ data.teacherInfo.PXID,
|
|
|
|
+ data.teacherInfo.TID,
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ return Ok(new { ycData = ycd, okData = okd , tmdid= teachers .Select(x=>x.tmdid), datas = datas, ycds });
|
|
}
|
|
}
|
|
private async Task<(List<dynamic> ycd ,List<dynamic> okd, List<TeacherSc> teachers, List<PushData> datas)> CheckScPush(List<string> pushTeachers,string areaIdJson,List<string> schools,string ProjectItemID) {
|
|
private async Task<(List<dynamic> ycd ,List<dynamic> okd, List<TeacherSc> teachers, List<PushData> datas)> CheckScPush(List<string> pushTeachers,string areaIdJson,List<string> schools,string ProjectItemID) {
|
|
|
|
|
|
@@ -1162,7 +1240,12 @@ namespace TEAMModelOS.Controllers
|
|
schools.ForEach(school => {
|
|
schools.ForEach(school => {
|
|
Codes.Add($" schoolCode {QueryComparisons.Equal} '{school}' ");
|
|
Codes.Add($" schoolCode {QueryComparisons.Equal} '{school}' ");
|
|
});
|
|
});
|
|
- string tbqurey = $"PartitionKey {QueryComparisons.Equal} 'ScTeacher' and areaId {QueryComparisons.Equal} '{areaIdJson}' and ( {string.Join(" or ", Codes)} ) ";
|
|
|
|
|
|
+ string itemqurey = "";
|
|
|
|
+ if (!string.IsNullOrWhiteSpace(ProjectItemID))
|
|
|
|
+ {
|
|
|
|
+ itemqurey = $" and ProjectItemID {QueryComparisons.Equal} {ProjectItemID} ";
|
|
|
|
+ }
|
|
|
|
+ string tbqurey = $"PartitionKey {QueryComparisons.Equal} 'ScTeacher' and areaId {QueryComparisons.Equal} '{areaIdJson}'{itemqurey} and ( {string.Join(" or ", Codes)} ) ";
|
|
var result = await table.ExecuteQuerySegmentedAsync(new TableQuery<ScTeacher>().Where(tbqurey), null);
|
|
var result = await table.ExecuteQuerySegmentedAsync(new TableQuery<ScTeacher>().Where(tbqurey), null);
|
|
scTeachers = result.Results;
|
|
scTeachers = result.Results;
|
|
}
|
|
}
|