fix(导入): 投资市州单表表头取列定位修复 + 补齐2026-08投资源数据
根因(两类):
1) 表头文本扫描窗口固定「表头行+3」,把首行数据纳入列名匹配:
宜昌客运首行数据的「竣工收尾/建成投运」先命中「竣工/建成」分支,
导致 L=建设阶段、M=形象进度 被判成竣工时间列(两列全空);
咸宁客运的 L/M 标题写在表头下第 4 行,超出 +3 窗口取不到。
2) 「合计」判定用 nt.contains("合计"),不识别「合 计」这类内部空格,
咸宁客运的合计行被当成项目入库。
修复:
- 表头扫描上界改为「表头块」:上界 = 首个真实数据行 − 1(硬上限 +12 行),
数据行不再参与列名关键字匹配;
- 新增 findFirstInvestDataRow(),与解析循环的跳过规则(空行/表头续行/合计小计/
章节行/填报行/市州节行)保持一致;
- 形象进度列新增「建设进展」关键词,并新增 desc = stage + 1 兜底
(省标「项目建设阶段、进度情况」为 L/M 合并表头,孝感/恩施/随州等只写 L 标题);
- 合计/总计/小计判定统一改为去空白后匹配(解析循环、行数统计、首数据行探测三处同步)。
数据:补齐 docs/投资/输入/{客运(客运站),物流(物流园区)}/8月(9 + 16 个文件)并重导,
客运 39 行、物流 128 行;孝感/恩施市州小计与源文件逐项一致。
详见 docs/功能测试报告/功能测试报告_投资明细表与导入取列定位修复_2026-09-19.md