ソースを参照

更新属性默认值,优化查询逻辑和异常处理

在 `EnterExitCostView.cs` 中,将 `ProvinceId` 属性的默认值设置为 3505,并添加了 `IsNull` 属性。
在 `DelegationInfoRepository.cs` 中,修改查询逻辑,确保 `groupDatas` 和 `provCityDatas` 不为空,并在特定条件下更新 `item.ProvinceId`。
同时,在 `FindParentIdByChildId` 方法中增加了对 `node.Child` 的 null 检查,优化了返回父节点的逻辑。
LEIYI 1 ヶ月 前
コミット
99afc17129

+ 1 - 1
OASystem/OASystem.Domain/ViewModels/Groups/EnterExitCostView.cs

@@ -23,7 +23,7 @@ namespace OASystem.Domain.ViewModels.Groups
 
         public string IsNull { get; set; }
 
-        public int ProvinceId { get; set; }
+        public int ProvinceId { get; set; } = 3505;
     }
 
     /// <summary>

+ 19 - 12
OASystem/OASystem.Infrastructure/Repositories/Groups/DelegationInfoRepository.cs

@@ -1345,7 +1345,7 @@ ORDER BY
 
             var groupDatas = await _sqlSugar.SqlQueryable<EnterExitCostGroupNameView>(groupSql).ToArrayAsync();
             var provCityDatas = await ProvinceCityBasicSource();
-            if (provCityDatas.Any())
+            if (provCityDatas.Any() && groupDatas.Any())
             {
                 foreach (var item in groupDatas)
                 {
@@ -1353,11 +1353,15 @@ ORDER BY
                     var isDefualtVal = true;
                     if (provinceId > 0)
                     {
-                        var parentId = FindParentIdByChildId(provCityDatas, provinceId);
-                        if (parentId != null)
+                        Console.WriteLine(item.Id);
+                        if (item.Id == 2778)
                         {
-                            isDefualtVal = false;
-                            item.ProvinceId = (int)parentId;
+                            var parentId = FindParentIdByChildId(provCityDatas, provinceId);
+                            if (parentId != null)
+                            {
+                                isDefualtVal = false;
+                                item.ProvinceId = (int)parentId;
+                            }
                         }
                     }
 
@@ -1381,15 +1385,18 @@ ORDER BY
         {
             foreach (var node in tree)
             {
-                if (node.Child.Any(c => c.Id == childId))
+                if (node.Child != null && node.Child.Any())
                 {
-                    return node.Id;
-                }
+                    if (node.Child.Any(c => c.Id == childId))
+                    {
+                        return node.Id;
+                    }
 
-                var parentId = FindParentIdByChildId(node.Child, childId);
-                if (parentId.HasValue)
-                {
-                    return parentId;
+                    var parentId = FindParentIdByChildId(node.Child, childId);
+                    if (parentId.HasValue)
+                    {
+                        return parentId;
+                    }
                 }
             }