evoToK3Cloud/.trae/documents/导出Excel:BOM与工艺分离实现方案.md
2025-12-30 21:00:03 +08:00

73 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 目标
- 在同一个 Sheet 中导出两块数据:
- 区域A材料BOM每物料1条
- 区域B工艺路线每工序1条完整展示所有步骤
- 保持原始物料顺序;工艺按 `processNo` 升序。
## 布局设计同一Sheet
- 区域A上方占位名 `KingdeeBomData`
- 列建议:
- 生产令号 `routeDescription`
- 物料编码 `materialCode`
- 名称 `materialName`
- 材质 `material`
- 单重KG `discWeight`
- 材料BOM物料编码 `rawMaterialCode`
- 材料BOM物料名称 `rawMaterialName`
- BOM材质 `bomMaterial`
- 材料单重KG `bomDanZhong`
- 用量 `discUsage`
- 单位 `bomUnit`
- 区域B下方留若干空行与A区分占位名 `ProcessRouteExcelDTO`
- 列建议:
- 生产令号 `routeDescription`
- 物料编码 `materialCode`
- 名称 `materialName`
- 材质 `material`
- 单重KG `discWeight`
- 工序号 `processNo`
- 工作中心 `workCenter`
- 工序名称 `processName`
- 工序说明 `processDescription`
- 工序控制 `processControl`
- 活动时长 `activityDuration`
- 活动单位 `activityUnit`
- 单台数量 `unitQuantity`
- 本批数量 `batchQuantity`
## 数据生成逻辑
- BOM区每物料1条
- 取最新版本:`readGetTheLatestVersion(materialCode)`
-`getMaterialUseXByVer(version)` 的第一条或按你后续指定规则汇总作为该物料的BOM条目
- 工艺区每工序1条
-`getRouteGuDing(materialCode)` 全量,按 `processNo` 升序展开不写入任何BOM字段
- 两区均附带物料基础字段(生产令号、编码、名称、材质、单重、数量等)
## 控制器改造要点exportRoute2
1. 遍历 `routeList`(保序):
- 构建 `kingdeeBomRows`List<Map<String,Object>>
- 构建 `excelDTOList`(工艺 ProcessRouteExcelDTO 列表)
2. 动态映射:
- `DynamicDataMapping.createOneDataList("KingdeeBomData", kingdeeBomRows)`
- `DynamicDataMapping.createOneDataList("ProcessRouteExcelDTO", evoRouteDataList)`
3. 模板在同一Sheet中放置两个表格块分别绑定以上占位名
## 排序与顺序
- 物料:沿用 `routeList` 的顺序
- 工艺:`processNo` 升序,`null` 置后
## 边界情况
- 无工艺B区为空但A区仍输出该物料的BOM
- 无BOMA区不输出该物料B区正常输出工艺
- 版本查询失败A区跳过该物料或显示“未查询到”标记
## 验证
- 用两种物料进行导出测试:一个多工序、一个单工序;核对两区行数与内容
- 对比你提供的示例Excel确认列头、顺序与格式
## 请你确认/提供
- 同一Sheet模板文件或示意图两块区域位置与占位名是否采用 `KingdeeBomData``ProcessRouteExcelDTO`
- BOM“一条数据”的取值方式直接取第一条还是需要汇总若后续会出现多子项
- 是否需要在两区之间加入分隔行/标题行的样式要求
确认后我将按该方案更新导出逻辑并给你可下载的Excel。