@startuml
title Flower ERP 业务功能架构图

skinparam shadowing false
skinparam defaultFontName Noto Sans CJK SC
skinparam backgroundColor #FFFFFF
skinparam ArrowColor #5B6472
skinparam ArrowThickness 1.2
skinparam componentStyle rectangle
skinparam rectangle {
  FontName Noto Sans CJK SC
  BorderColor #516174
  RoundCorner 8
}
skinparam package {
  FontName Noto Sans CJK SC
  BorderColor #516174
  BackgroundColor #F8FAFC
}
skinparam note {
  FontName Noto Sans CJK SC
  BackgroundColor #FFF7E6
  BorderColor #B7791F
}

left to right direction

rectangle "Flower ERP 业务平台" as Platform #EAF3FF {

  package "基础资料中心" as MasterData #F6F8FB {
    rectangle "商户 / 客户 / 供应商" as MDParty #FFFFFF
    rectangle "产品 / 品类 / 仓库" as MDProduct #FFFFFF
    rectangle "员工 / 角色 / 可见页面" as MDStaff #FFFFFF
    rectangle "车辆 / 银行账户 / 快捷输入" as MDOther #FFFFFF
  }

  package "业务经营中心" as Business #F2F8FF {
    rectangle "采购管理\n采购单 / 采购退货" as Purchase #FFFFFF
    rectangle "销售管理\n预销售 / 销售单 / 销售退货" as Sales #FFFFFF
    rectangle "资金往来\n付款单 / 收款单" as Cash #FFFFFF
    rectangle "往来余额\n客户应收 / 供应商应付 / 余额流水" as Balance #FFFFFF
    rectangle "外部对账\n好布业财务同步" as ExternalFinance #FFFFFF
  }

  package "库存物流中心" as StockLogistics #F7FBF4 {
    rectangle "库存管理\n现存量 / 库存快照" as Inventory #FFFFFF
    rectangle "出入库执行\n入库 / 出库 / 调拨 / 红冲" as StockFlow #FFFFFF
    rectangle "销售品管理\n待分配销售品 / 合卷 / 重建" as SalesItem #FFFFFF
    rectangle "发货管理\n出货单 / 送货单 / 送达照片" as Shipment #FFFFFF
  }

  package "生产履约中心" as Production #FFF8EF {
    rectangle "开版管理\n开版订单 / 样品 / 客户反馈" as PlateOrder #FFFFFF
    rectangle "印花订单\n生产订单 / 款式明细" as PrintingOrder #FFFFFF
    rectangle "工序推进\n批量推进 / 工艺参数 / 进度" as ProcessAdvance #FFFFFF
    rectangle "MES 生产指派\n设备 / 产能 / 指派状态" as MES #FFFFFF
  }

  package "协同运营中心" as Collaboration #F8F5FF {
    rectangle "流程引擎\n流程 / 节点 / 状态记录" as Stateflow #FFFFFF
    rectangle "任务协同\n任务 / 参与者 / 回复 / 完成" as Mission #FFFFFF
    rectangle "通知中心\n事件路由 / 模板 / 企业微信" as Notifier #FFFFFF
    rectangle "费用与日结\n支出记账 / 成本汇总 / 日结配置" as CostSettlement #FFFFFF
  }

  package "对外能力与运行支撑" as Integration #F5F7FA {
    rectangle "API 入口\n移动端 / 前端 / 管理后台" as API #FFFFFF
    rectangle "文件与图片\n七牛云 / 上传 / 图片检索" as FileImage #FFFFFF
    rectangle "外部系统同步\n明道云 / 外部生产订单 / TIIA" as ExternalSync #FFFFFF
    rectangle "异步任务\n同步 / 通知 / 审计 / 定时任务" as AsyncJobs #FFFFFF
  }
}

API --> MasterData : 基础资料维护
API --> Business : 单据录入与审批
API --> Production : 生产过程操作
API --> StockLogistics : 库存与发货操作
API --> Collaboration : 协同与统计查询

MasterData --> Business : 客户、供应商、产品、仓库、员工
MasterData --> Production : 客户、产品、员工、设备基础
MasterData --> StockLogistics : 产品、仓库、客户、车辆
MasterData --> Collaboration : 商户、员工、权限范围

Purchase --> StockFlow : 审批后触发入库/退货出库
Sales --> StockFlow : 销售出库/销退入库
Purchase --> Balance : 形成供应商应付
Sales --> Balance : 形成客户应收
Cash --> Balance : 收付款冲减余额
ExternalFinance --> Cash : 外部收付款同步
ExternalFinance --> Balance : 对账依据补充

PlateOrder --> Stateflow : 开版流程跟踪
PrintingOrder --> Stateflow : 印花任务工序流转
PrintingOrder --> ProcessAdvance : 批量推进生产节点
PrintingOrder --> SalesItem : 生产明细生成可发货销售品
MES --> PrintingOrder : 生产对象指派到设备

Inventory <-- StockFlow : 更新库存台账
StockFlow --> Inventory : 形成库存快照
SalesItem --> Shipment : 组建出货单
Shipment --> Notifier : 出货事件通知

Mission --> Notifier : 任务事件通知
Mission --> Production : 关联开版/印花对象
Mission --> Shipment : 关联发货对象
CostSettlement --> Production : 采集生产相关成本
CostSettlement --> StockLogistics : 采集库存/物流相关成本
CostSettlement --> Notifier : 日结结果通知

ExternalSync --> MasterData : 同步产品、客户
ExternalSync --> PlateOrder : 明道云开版暂存/导入
ExternalSync --> PrintingOrder : 外部生产订单快照
ExternalSync --> FileImage : 图片上传与 TIIA 检索
FileImage --> PlateOrder : 开版图与图库
FileImage --> PrintingOrder : 产品图片
AsyncJobs --> ExternalSync : 定时同步
AsyncJobs --> Notifier : 异步投递
AsyncJobs --> StockFlow : 异步生成库存记录
AsyncJobs --> CostSettlement : 定时日结

note top of Platform
  本图用于向上汇报，表达业务能力版图与模块协作关系；
  不展示数据库、容器、框架等技术实现细节。
end note

note right of Business
  经营闭环：
  单据审批 -> 库存变化 -> 往来余额 -> 收付款/对账。
end note

note bottom of Production
  履约闭环：
  开版 -> 印花生产 -> 工序推进 -> 销售品 -> 发货。
end note

@enduml
