| | |
| | | * 方案原计划叫 {@code VisitSubtaskFactory} 并同时承载 {@code writeInSubTask}。 |
| | | * 实际实现时把它收窄为"纯组装 + 纯工具",因为 {@code writeInSubTask}(232 行)里有大量 |
| | | * 写库与去重编排,混在一起会让本类的 A 档逐行等价探针失去意义。 |
| | | * |
| | | * <h3>⚠️ 唯一的"非搬运"行:{@code hospno}</h3> |
| | | * {@link #boxedServiceSubtask} 里多了一句 {@code d.setHospno(inhosp.getInhospno())}。 |
| | | * 原实现确实<b>没有</b>这一句,所以出院链路的 {@code service_subtask.hospno} 一直落空; |
| | | * 而 {@code ServiceSubtask.hospno} 的语义就是"就诊编号(对应的 outhospno、inhospno)"。 |
| | | * 这是<b>有意补齐</b>,不是抄漏 —— 反向探针({@code verify_inhospvisit_boxed_fields.py}) |
| | | * 只校验"原 setter 是否都有对应调用",不会因此报错。 |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | |
| | | d.setNurseId(inhosp.getNurseId()); |
| | | d.setNurseName(inhosp.getNurseName()); |
| | | d.setInhospid(inhosp.getInhospid()); |
| | | // ⚠️ 这一行是【补的】,不是搬运: |
| | | // 原 boxedServiceSubtask 从未设 hospno,而 ServiceSubtask.hospno 的语义是 |
| | | // "就诊编号(对应的 outhospno、inhospno)"(见 ServiceSubtask 字段注释)。 |
| | | // 结果就是出院链路的 service_subtask.hospno 一直是 NULL,与门诊链路不一致。 |
| | | // 取值:pat_med_inhosp.inhospno(门诊侧取 pat_med_outhosp.outhospno,见 OuthospSubtaskDraft)。 |
| | | d.setHospno(inhosp.getInhospno()); |
| | | d.setDrcode(inhosp.getDrcode()); |
| | | d.setDrname(inhosp.getDrname()); |
| | | d.setDeptcode(inhosp.getLeaveldeptcode()); |