Просмотр исходного кода

refactor(d2-02-t3): GetCultivation 复用既有 HouseSnToHouseBin 去重 + catch 补排查日志

huangjie 2 дней назад
Родитель
Сommit
b242c4303d
1 измененных файлов с 8 добавлено и 7 удалено
  1. 8 7
      ivf_tl_operate_2.0/control/ivf_tl_Control/AppData.cs

+ 8 - 7
ivf_tl_operate_2.0/control/ivf_tl_Control/AppData.cs

@@ -217,12 +217,8 @@ namespace ivf_tl_Control
         {
             try
             {
-                var bin = houseSn switch
-                {
-                    1 => HouseBin1, 2 => HouseBin2, 3 => HouseBin3, 4 => HouseBin4, 5 => HouseBin5,
-                    6 => HouseBin6, 7 => HouseBin7, 8 => HouseBin8, 9 => HouseBin9, 10 => HouseBin10,
-                    _ => null
-                };
+                // 复用本类既有「按 houseSn 取 HouseBin」入口(舱11/越界无 case → 返回 null,下面兜底 false,0)。
+                var bin = HouseSnToHouseBin(houseSn);
                 var dish = bin?.Dish;                       // 缓冲瓶舱11无养胚胎 → 视为不培养
                 if (dish == null) return (false, 0);
                 // 优先数"仍在培养(state==0)"的胚胎(总数 embryoCount 含已移植/冷冻/作废的,不代表此刻在养);取不到明细则退回 embryoCount。
@@ -231,7 +227,12 @@ namespace ivf_tl_Control
                     : dish.embryoCount;
                 return (true, count > 0 ? count : 0);
             }
-            catch { return (false, 0); }
+            catch (Exception ex)
+            {
+                // 敏感场景(误停胚胎确认框该弹没弹)须可排查:吞异常但补日志;日志本身 try 包住,绝不二次抛影响借用。
+                try { ExLog(ex, "GetCultivation"); } catch { }
+                return (false, 0);
+            }
         }
 
         // ── M5-03-2:各链路「最后成功通讯时间」只读时间戳 ──