|
@@ -77,6 +77,7 @@ namespace TEAMModelBI.Controllers.ProductAnalysis
|
|
|
string geoUnit = (jsonElement.TryGetProperty("geoUnit", out JsonElement geoUnitJobj)) ? (!string.IsNullOrWhiteSpace(Convert.ToString(geoUnitJobj))) ? Convert.ToString(geoUnitJobj).ToLower() : "city" : "city"; //地理統計單位 region:國 province:省 city:市 dist:區 預設值:市
|
|
|
Geo geo = (jsonElement.TryGetProperty("geo", out JsonElement geoJobj)) ? geoJobj.ToObject<Geo>() : null;
|
|
|
string target = (jsonElement.TryGetProperty("target", out JsonElement targetJobj)) ? (!string.IsNullOrWhiteSpace(Convert.ToString(targetJobj))) ? Convert.ToString(targetJobj).ToLower() : "school" : "school"; //統計對象 school:學校 tmid:TMID
|
|
|
+ string extra = (jsonElement.TryGetProperty("extra", out JsonElement extraJobj)) ? (!string.IsNullOrWhiteSpace(Convert.ToString(extraJobj))) ? Convert.ToString(extraJobj).ToLower() : string.Empty : string.Empty; //額外參數 rmvNoAll:不取 noschoolid、allschool
|
|
|
List<string> schoolIds = new List<string>();
|
|
|
if (target.Equals("school"))
|
|
|
{
|
|
@@ -330,8 +331,11 @@ namespace TEAMModelBI.Controllers.ProductAnalysis
|
|
|
Dictionary<string, ProdAnalysisApiResult> geoDic = new Dictionary<string, ProdAnalysisApiResult>(); //各地理資訊統計資料
|
|
|
Dictionary<string, List<string>> geoSchDic = new Dictionary<string, List<string>>(); //地理ID->學校ID 字典
|
|
|
string Sql = $"SELECT * FROM c WHERE c.toolType = '{prod}' AND c.dateUnit = '{dateUnit}' AND c.dateTime >= {dateTimeFromSec} AND c.dateTime <= {dateTimeToSec}";
|
|
|
- schoolIds.Add("noschoolid");
|
|
|
- schoolIds.Add("allschool");
|
|
|
+ if(!extra.Equals("rmvnoall"))
|
|
|
+ {
|
|
|
+ schoolIds.Add("noschoolid");
|
|
|
+ schoolIds.Add("allschool");
|
|
|
+ }
|
|
|
schIdListStr = JsonSerializer.Serialize(schoolIds);
|
|
|
Sql += $" AND ARRAY_CONTAINS({schIdListStr}, c.schoolId, true)";
|
|
|
await foreach (var item in cosmosClient.GetContainer("TEAMModelOS", "School").GetItemQueryStreamIteratorSql(queryText: Sql, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"ProdAnalysis") }))
|