Explorar o código

docs(d2-02): Task3核实Dish实体字段——embryoCount确存(GlobalEntitys/Dish.cs:34)+优先数Embryo明细state==0在培养胚胎,去掉待确认标注

huangjie hai 3 días
pai
achega
f6706bf168

+ 6 - 2
项目文档/开发计划/2026-06-24-D2-02-第三阶段-operate调试页接入-实现计划.md

@@ -297,14 +297,18 @@ git commit -m "feat(d2-02-t3): acquire 回带培养态(cultivating+embryoCount,
                 };
                 var dish = bin?.Dish;                       // 缓冲瓶舱11无 HouseBin.Dish → 视为不培养
                 if (dish == null) return (false, 0);
-                int count = dish.embryoCount;               // Dish 实体字段名以实际为准(见下注)
+                // 优先数"仍在培养(state==0)"的胚胎(总数 embryoCount 含已移植/冷冻/作废的,不代表此刻在养);
+                // 取不到明细列表则退回 embryoCount。字段已核实:Dish.embryoCount / Dish.Embryo[].state(ivf_tl_Entity/GlobalEntitys)。
+                int count = dish.Embryo != null && dish.Embryo.Count > 0
+                    ? dish.Embryo.Count(e => e.state == 0)
+                    : dish.embryoCount;
                 return (true, count > 0 ? count : 0);
             }
             catch { return (false, 0); }
         }
 ```
 
-> ⚠ 实现期核实两点(读源码,勿猜):① `HouseBin1..10`/`BufferBottleBin` 在 `AppData` 的确切可见性(若为属性/字段名不同照实改);② `Dish` 实体取胚胎数的字段名(可能是 `embryoCount` 或需从 wellSn 列表 Count;查 `ivf_tl_Entity` 的 Dish 定义)。取不到数就回 `(true,0)`——提示仍显示"在培养",只是不报枚数,符合设计降级。
+> ⚠ 实现期核实一点(读源码,勿猜):`HouseBin1..10`/`BufferBottleBin` 在 `AppData` 的确切可见性(若为属性/字段名不同照实改)。胚胎数字段已核实:`Dish.embryoCount`(总数)+ `Dish.Embryo[].state`(明细,state==0=培养中),见 `ivf_tl_Entity/GlobalEntitys/Dish.cs:34` + `Embryo.cs:44`。取不到明细就退回 embryoCount,再取不到回 `(true,0)`——提示仍显示"在培养",只是不报枚数,符合设计降级。
 
 - [ ] **Step 2: Program.cs 注入**