瀏覽代碼

update 处理区级编码

CrazyIter_Bin 3 年之前
父節點
當前提交
3c1f18055f

+ 6 - 2
TEAMModelOS.FunctionV4/HttpTrigger/ScsYxptApis.cs

@@ -232,7 +232,10 @@ namespace TEAMModelOS.FunctionV4.HttpTrigger
                             if (diagnoses.IsNotEmpty())
                             {
                                 projects.Add(new ScsProjectDiagnosis { project = ps, diagnoses = diagnoses, });
-                                await _azureStorage.SaveOrUpdate<ScProjectDiagnosis>(new ScProjectDiagnosis {schoolCode=$"{schoolCode}",areaId= areaId, RowKey = $"{ps.pid}-{schoolCode}", PartitionKey = "ScSchoolDiagnosis", abilityNos = diagnoses.ToJsonString() });
+                                await _azureStorage.SaveOrUpdate<ScProjectDiagnosis>(new ScProjectDiagnosis {schoolCode=$"{schoolCode}",areaId= areaId,
+                                    ProjectID=int.Parse(ps.pd),
+                                    ProjectItemID=int.Parse(ps.pid),
+                                    RowKey = $"{ps.pid}-{schoolCode}", PartitionKey = "ScSchoolDiagnosis", abilityNos = diagnoses.ToJsonString() });
                             }
                         }
                         else
@@ -367,6 +370,7 @@ namespace TEAMModelOS.FunctionV4.HttpTrigger
                 areaId = $"{_areaId}";
             }
             JsonElement pxid = data.ToObject<JsonElement>().GetProperty("pxid");
+            JsonElement schoolCode = data.ToObject<JsonElement>().GetProperty("schoolCode");
             ScAccessConfig config = $"{accessConfig}".ToObject<ScAccessConfig>();
             Code = "GetDiagnosisListByProject_V2";
             parameterMap = new Dictionary<string, object>();
@@ -385,7 +389,7 @@ namespace TEAMModelOS.FunctionV4.HttpTrigger
                     }
                     if (abilityNos.IsNotEmpty())
                     {
-                        await _azureStorage.SaveOrUpdate<ScTeacherDiagnosis>(new ScTeacherDiagnosis {areaId=areaId, RowKey = $"{pxid}", PartitionKey = "ScTeacherDiagnosis", abilityNos = abilityNos.ToJsonString() });
+                        await _azureStorage.SaveOrUpdate<ScTeacherDiagnosis>(new ScTeacherDiagnosis {areaId = areaId,schoolCode=$"{schoolCode}", RowKey = $"{pxid}", PartitionKey = "ScTeacherDiagnosis", abilityNos = abilityNos.ToJsonString() });
                     }
                 }
                 else

+ 1 - 0
TEAMModelOS.FunctionV4/local.settings.json

@@ -4,6 +4,7 @@
     "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=teammodellog;AccountKey=lxVDrgs+6rKtmASL3k1WrarrEd5Rk42wS1Mu5+sqQlPya1JLSlFDtnZUvMPeHHe7zlESfn/1NY7CZdGviy2UCw==;EndpointSuffix=core.chinacloudapi.cn",
     "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated",
     "Azure:Storage:ConnectionString": "DefaultEndpointsProtocol=https;AccountName=teammodelstorage;AccountKey=Yq7D4dE6cFuer2d2UZIccTA/i0c3sJ/6ITc8tNOyW+K5f+/lWw9GCos3Mxhj47PyWQgDL8YbVD63B9XcGtrMxQ==;EndpointSuffix=core.chinacloudapi.cn",
+    //"Azure:Storage:ConnectionString": "DefaultEndpointsProtocol=https;AccountName=teammodelos;AccountKey=Dl04mfZ9hE9cdPVO1UtqTUQYN/kz/dD/p1nGvSq4tUu/4WhiKcNRVdY9tbe8620nPXo/RaXxs+1F9sVrWRo0bg==;EndpointSuffix=core.chinacloudapi.cn",
     "Azure:ServiceBus:ConnectionString": "Endpoint=sb://teammodelos.servicebus.chinacloudapi.cn/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=Sy4h4EQ8zP+7w/lOLi1X3tGord/7ShFHimHs1vC50Dc=",
     "Azure:Cosmos:ConnectionString": "AccountEndpoint=https://cdhabookdep-free.documents.azure.cn:443/;AccountKey=JTUVk92Gjsx17L0xqxn0X4wX2thDPMKiw4daeTyV1HzPb6JmBeHdtFY1MF1jdctW1ofgzqkDMFOtcqS46by31A==;",
     "Azure:Redis:ConnectionString": "52.130.252.100:6379,password=habook,ssl=false,abortConnect=False,writeBuffer=10240",

+ 2 - 2
TEAMModelOS.SDK/Models/Service/Third/Sc/ScYxptModel.cs

@@ -22,16 +22,16 @@ namespace TEAMModelOS.SDK.Models
         public string areaId { get; set; }
         public string schoolCode { get; set; }
         public string abilityNos { get; set; }
-   
     }
 
     [TableName(Name = "ScYxpt")]
     public class ScProjectDiagnosis : TableEntity
     {
         public string abilityNos { get; set; }
-        public string pd { get; set; }
         public string areaId{get;set;}
         public string schoolCode { get; set; }
+        public int ProjectID { get; set; }
+        public int ProjectItemID { get; set; }
     }
     public class ScDiagnosis
     {

+ 12 - 2
TEAMModelOS.SDK/Models/Service/Third/ThirdService.cs

@@ -215,7 +215,7 @@ namespace TEAMModelOS.SDK.Models
                 return (setting.accessConfig,area,setting);
             }
         }
-        public static async Task<List<Ability>> GetDiagnosisList(CosmosClient client, string standard,DingDing dingDing,  AreaSetting setting, HttpTrigger httpTrigger,  Teacher teacher, TEAMModelOS.Models.Option _option) {
+        public static async Task<List<Ability>> GetDiagnosisList(CosmosClient client, string standard,DingDing dingDing,  AreaSetting setting, HttpTrigger httpTrigger,  Teacher teacher, TEAMModelOS.Models.Option _option, AzureStorageFactory _azureStorage) {
             List<string> abilityNos = new List<string>() ;
             var config= setting.accessConfig.ToObject<JsonElement>();
             config.TryGetProperty("config", out JsonElement _config);
@@ -233,7 +233,17 @@ namespace TEAMModelOS.SDK.Models
                     });
                 }
                 foreach (var pxid in pxids) {
-                    Dictionary<string, object> dict = new Dictionary<string, object>() { { "accessConfig", setting.accessConfig },{ "pxid",pxid },{ "areaId" , setting.id } };
+                    List<ScTeacher> teachers = await _azureStorage.FindListByDict<ScTeacher>(new Dictionary<string, object> { { "PartitionKey", "ScTeacher" }, { "PXID", pxid } });
+                    Dictionary<string, object> dict = new Dictionary<string, object>();
+                    if (teachers.IsNotEmpty())
+                    {
+                        dict = new Dictionary<string, object>() { { "accessConfig", setting.accessConfig }, { "pxid", pxid }, { "areaId", setting.id } ,{ "schoolCode", teachers[0].schoolCode} };
+                    }
+                    else {
+                        dict = new Dictionary<string, object>() { { "accessConfig", setting.accessConfig }, { "pxid", pxid }, { "areaId", setting.id } };
+                    }
+                   
+                   
                     (int status, string json) = await httpTrigger.RequestHttpTrigger(dict, _option.Location, "GetDiagnosisListByProject_V2");
                     if (status == 200)
                     {

+ 5 - 3
TEAMModelOS/Controllers/Normal/AbilitySubController.cs

@@ -38,8 +38,9 @@ namespace TEAMModelOS.Controllers
         private readonly ThirdApisService _thirdApisService;
         private readonly HttpTrigger _httpTrigger;
         private readonly AzureServiceBusFactory _serviceBus;
-        public IConfiguration _configuration { get; set; }
-        public AbilitySubController(AzureCosmosFactory azureCosmos, SnowflakeId snowflakeId, DingDing dingDing, IOptionsSnapshot<Option> option, ThirdApisService thirdApisService, HttpTrigger httpTrigge, AzureServiceBusFactory serviceBus, IConfiguration configuration)
+        private readonly AzureStorageFactory _azureStorage;
+       public IConfiguration _configuration { get; set; }
+        public AbilitySubController(AzureStorageFactory azureStorage,AzureCosmosFactory azureCosmos, SnowflakeId snowflakeId, DingDing dingDing, IOptionsSnapshot<Option> option, ThirdApisService thirdApisService, HttpTrigger httpTrigge, AzureServiceBusFactory serviceBus, IConfiguration configuration)
         {
             _azureCosmos = azureCosmos;
             _snowflakeId = snowflakeId;
@@ -49,6 +50,7 @@ namespace TEAMModelOS.Controllers
             _httpTrigger = httpTrigge;
             _serviceBus = serviceBus;
             _configuration = configuration;
+            _azureStorage = azureStorage;
         }
        
         /// <summary>
@@ -205,7 +207,7 @@ namespace TEAMModelOS.Controllers
                     Teacher teacher = await _azureCosmos.GetCosmosClient().GetContainer("TEAMModelOS", "Teacher").ReadItemAsync<Teacher>(id, new PartitionKey("Base"));
                     
                     
-                    var abilitys = await ThirdService.GetDiagnosisList(client, $"{standard}", _dingDing, setting, _httpTrigger, teacher, _option);
+                    var abilitys = await ThirdService.GetDiagnosisList(client, $"{standard}", _dingDing, setting, _httpTrigger, teacher, _option,_azureStorage);
                     if (abilitys != null)
                     {
                         abilitys.ForEach(x => { x.currency = 1; });

文件差異過大導致無法顯示
+ 49 - 4
TEAMModelOS/Controllers/XTest/FixDataController.cs