#!/usr/bin/env python3 # -*- coding: utf-8 -*- """生成小羚羚氢能产业数字化平台方案书 Word 文档""" from pathlib import Path from docx import Document from docx.enum.text import WD_ALIGN_PARAGRAPH from docx.enum.table import WD_TABLE_ALIGNMENT from docx.oxml.ns import qn from docx.shared import Cm, Pt, RGBColor OUTPUT = Path(__file__).resolve().parent / "小羚羚氢能产业数字化平台方案书.docx" FONT_CN = "微软雅黑" COLOR_PRIMARY = RGBColor(0x00, 0xBF, 0xA5) COLOR_TITLE = RGBColor(0x1A, 0x1F, 0x2E) COLOR_MUTED = RGBColor(0x5C, 0x65, 0x78) def set_run_font(run, size=11, bold=False, color=None, name=FONT_CN): run.font.name = name run._element.rPr.rFonts.set(qn("w:eastAsia"), name) run.font.size = Pt(size) run.font.bold = bold if color: run.font.color.rgb = color def add_para(doc, text, size=11, bold=False, color=None, align=None, space_after=6): p = doc.add_paragraph() if align is not None: p.alignment = align p.paragraph_format.space_after = Pt(space_after) p.paragraph_format.line_spacing = 1.35 run = p.add_run(text) set_run_font(run, size=size, bold=bold, color=color) return p def add_heading(doc, text, level=1): h = doc.add_heading(level=level) h.clear() run = h.add_run(text) sizes = {1: 22, 2: 16, 3: 13} set_run_font(run, size=sizes.get(level, 12), bold=True, color=COLOR_TITLE if level == 1 else COLOR_PRIMARY) h.paragraph_format.space_before = Pt(14 if level > 1 else 0) h.paragraph_format.space_after = Pt(8) return h def shade_cell(cell, fill="E8F8F4"): tc = cell._tc tcPr = tc.get_or_add_tcPr() shd = tcPr.find(qn("w:shd")) if shd is None: from docx.oxml import OxmlElement shd = OxmlElement("w:shd") tcPr.append(shd) shd.set(qn("w:fill"), fill) shd.set(qn("w:val"), "clear") def add_table(doc, headers, rows, col_widths=None): table = doc.add_table(rows=1 + len(rows), cols=len(headers)) table.style = "Table Grid" table.alignment = WD_TABLE_ALIGNMENT.CENTER hdr_cells = table.rows[0].cells for i, h in enumerate(headers): hdr_cells[i].text = "" run = hdr_cells[i].paragraphs[0].add_run(h) set_run_font(run, size=10, bold=True, color=COLOR_TITLE) shade_cell(hdr_cells[i], "D4F5EC") for ri, row in enumerate(rows): cells = table.rows[ri + 1].cells for ci, val in enumerate(row): cells[ci].text = "" run = cells[ci].paragraphs[0].add_run(str(val)) set_run_font(run, size=10) if ri % 2 == 1: shade_cell(cells[ci], "F7FBFA") if col_widths: for row in table.rows: for i, w in enumerate(col_widths): row.cells[i].width = Cm(w) doc.add_paragraph() return table def build_document(): doc = Document() section = doc.sections[0] section.top_margin = Cm(2.5) section.bottom_margin = Cm(2.5) section.left_margin = Cm(2.8) section.right_margin = Cm(2.8) # 封面 add_para(doc, "", space_after=24) add_para(doc, "羚牛氢能 · OneOS 生态", size=12, color=COLOR_MUTED, align=WD_ALIGN_PARAGRAPH.CENTER, space_after=12) add_para(doc, "小羚羚氢能产业数字化平台方案书", size=26, bold=True, color=COLOR_PRIMARY, align=WD_ALIGN_PARAGRAPH.CENTER, space_after=16) add_para(doc, "手机端「小羚羚」多端协同 · 氢能产业链数字化规划", size=13, color=COLOR_MUTED, align=WD_ALIGN_PARAGRAPH.CENTER, space_after=32) meta = doc.add_paragraph() meta.alignment = WD_ALIGN_PARAGRAPH.CENTER for line in ["文档版本:v1.0", "文档类型:平台建设规划 / 商业计划", "适用读者:管理层、产品、业务、项目团队"]: r = meta.add_run(line + "\n") set_run_font(r, size=11, color=COLOR_MUTED) doc.add_page_break() # 一、概述 add_heading(doc, "一、项目概述", 1) add_para(doc, "以手机端「小羚羚」为统一入口,连接内部运营、车队客户、司机、加氢站、维修站、制氢企业与集团客户,实现氢气采购—加氢站—氢能车运营全链路数字化闭环。") add_para(doc, "一句话定位", size=12, bold=True, color=COLOR_PRIMARY, space_after=4) add_para(doc, "小羚羚 = 氢能产业的「业务操作系统」:一端登录、多角色协同,把合同、车辆、能源、维保、氢气贸易串成可落地、可风控、可结算的完整商业链条。") add_heading(doc, "核心指标", 2) add_table(doc, ["指标项", "目标值"], [ ["目标用户角色", "7 类"], ["业务闭环条数", "3 条"], ["产业链覆盖", "上中下游(制氢采购 → 加氢站 → 氢能车运营)"], ["首期上线周期", "6 个月"], ], col_widths=[5, 11]) # 二、产业链商业计划 add_heading(doc, "二、氢能产业链商业计划(上游 → 下游)", 1) add_para(doc, "覆盖氢气采购、加氢站运营、氢能车租赁/自营三大环节,形成「制氢—储运—加注—运营—结算」一体化商业模式。") add_heading(doc, "2.1 产业链三段式布局", 2) add_table(doc, ["环节", "业务内容", "平台价值"], [ ["上游 · 制氢采购", "制氢企业挂牌售氢、管束车调度、到站交付", "氢气贸易与物流协同"], ["中游 · 加氢站", "预约接单、电子加氢卡结算、巡检与对账", "加注服务数字化与氢费结算"], ["下游 · 氢能车运营", "租赁/自营、交还车、能源与 ETC 账单闭环", "车辆运营与资产管理"], ], col_widths=[3.5, 7, 5.5]) add_heading(doc, "2.2 商业模式与收入结构", 2) add_heading(doc, "上游 · 氢气贸易", 3) add_para(doc, "制氢企业在线挂牌售氢;加氢站/运营方发起采购询价;成交后管束车配送到站。平台收取交易撮合费、物流调度服务费、数据监测服务费。") add_heading(doc, "中游 · 加氢服务", 3) add_para(doc, "司机预约加氢、电子加氢卡预充值结算;站点 OCR 识别加氢量自动入账;氢费对账线上化。平台收取 SaaS 服务费、支付通道费、对账增值服务费。") add_heading(doc, "下游 · 车辆运营", 3) add_para(doc, "租赁/自营合同在线签约;交还车+替换车闭环;能源/ETC/维保账单聚合;客户评级与敏感客户风控。平台核心收入为租赁服务费、资产管理费、金融结算服务。") # 三、平台架构 add_heading(doc, "三、平台架构:七类用户 · 一套数据底座", 1) add_table(doc, ["用户端", "主体", "核心能力", "关键场景"], [ ["内部用户", "羚牛氢能员工", "合同-收款-交还车-结算全链路;车辆全生命周期;风控审批", "业务员/运维/能源/财务/法务/CEO 等"], ["车队长", "车队管理者", "一键租车报价签约;车辆运行/账单/开票/对讲", "注册验证、在线合同、实时定位"], ["氢能车司机", "自营+外部租赁", "路线导航、能源账单、安全培训考试、预约加氢、故障救援", "内外部司机差异化权限"], ["加氢站用户", "站点运营", "预约接单、电子加氢卡结算、OCR 识别加氢量、氢费对账", "特种设备/行驶证校验"], ["维修站用户", "维保服务", "维修/保养派单接单、费用记录、运维核实对账", "配件人工自动入账"], ["制氢企业", "氢气供应", "在线挂牌售氢、管束车监测、询价成交与运费结算", "对接加氢站采购"], ["集团客户", "企业级客户", "多项目车辆/账单/能源/ETC 总览;在线租车签约", "类车队长但主体为企业"], ], col_widths=[2.2, 2.5, 6.3, 5]) # 四、分角色方案 add_heading(doc, "四、分角色业务方案(可落地)", 1) add_heading(doc, "4.1 内部用户 — 运营中枢与风控大脑", 2) add_para(doc, "羚牛氢能内部员工 · 多部门协同", size=10, color=COLOR_MUTED) add_para(doc, "业务条线 A:氢能车租赁/自营", size=11, bold=True) add_para(doc, "合同发起 → 客户评级/敏感客户校验 → 标准/非标合同审批 → 收款 → 交车 → 账单收款 → 还车 → 还车结算。过程中支持替换车业务,全程留痕、可审计。") add_para(doc, "业务条线 B:车辆全生命周期", size=11, bold=True) add_para(doc, "采购/外租 → 验车入库 → 维修/年审/保养/故障/事故 → 出库(出售/报废/停租)。形成单车全生命周期数据档案,支撑资产决策与残值管理。") add_para(doc, "覆盖角色:业务员、客服、运维、能源、安全、财务、法务、CEO 等;按岗位分配功能模块与审批权限。") add_heading(doc, "4.2 车队长 — 车队管理者自助门户", 2) add_para(doc, "注册验证 · 在线租车 · 合同签约", size=10, color=COLOR_MUTED) add_para(doc, "一键登录验证注册状态:未注册客户可快速登记营业执照/身份证;已注册客户直接进入管理页。") add_table(doc, ["步骤", "动作", "系统响应"], [ ["1", "选择车型、数量、租期发起租车意向", "短信/推送通知对应业务员"], ["2", "系统按地区自动生成报价单", "业务员可调整并与客户在线沟通"], ["3", "确认报价并提交", "自动生成电子合同,推送客户签章"], ["4", "运维完成交车", "车队长查看车辆运行、账单、开票、对讲"], ], col_widths=[1.2, 6, 8.8]) add_para(doc, "交车后能力:实时定位/轨迹、氢/电能源账单、ETC、合同账单、付款、在线开票、语音对讲(类对讲机)。") add_heading(doc, "4.3 氢能车司机 — 自营与外部双轨", 2) add_table(doc, ["类型", "核心能力"], [ ["内部自营司机", "定位/轨迹、送货路线规划与导航、氢/电/ETC 账单、安全培训与定期考试、证照管理、氢/电量提醒、预约附近加氢站(校验特种设备登记/行驶证)、故障提报、紧急救援"], ["外部租赁司机", "轨迹与路线导航、能源/ETC 账单、安全培训、司机与车辆证件管理、预约加氢(证件校验提示)、故障提报、紧急救援;不含集团内部物流专属调度能力"], ], col_widths=[3, 13]) add_heading(doc, "4.4 加氢站用户 — 加注服务与氢费结算", 2) add_table(doc, ["功能模块", "说明"], [ ["预约接单", "验证车辆特种设备检验登记、行驶证后确认服务"], ["电子加氢卡结算", "扫描司机电子加氢卡,预充值客户直接扣款"], ["加氢过程管理", "加氢前/中/后检查、卸气记录、站点巡检记录"], ["OCR 加氢量识别", "拍摄加氢机面板自动识别加氢量,绑定车辆生成记录"], ["氢费对账", "接收并操作氢费对账单,线上确认"], ["氢气采购", "向制氢企业发起采购(与上游模块联动)"], ], col_widths=[3.5, 12.5]) add_heading(doc, "4.5 维修站用户 — 维保派单与对账", 2) add_para(doc, "接收内部员工发起的维修/保养派单 → 记录维修过程与人工/配件费用 → 自动生成维修记录 → 运维核实 → 内部用户与维修站在线对账及账期结算。与车辆全生命周期数据打通。") add_heading(doc, "4.6 制氢企业 — 氢气在线交易与物流", 2) add_para(doc, "企业资质验证后,在线发布氢气对外采购价(类商城模式);对接管束车实时数据,监测氢气运输车状态;加氢站发起询价与采购申请 → 制氢企业成交 → 运输到场 → 自动计算管束车使用费用。") add_para(doc, "关键能力:挂牌售氢 · 询价采购 · 物流调度 · 运费结算") add_heading(doc, "4.7 集团客户 — 企业级总览与在线租车", 2) add_para(doc, "主体为企业(区别于个人车队长):查看集团所有租赁/自营项目车辆使用情况、全项目账单与结算、电子开票、能源费(氢/电)、ETC、司机信息汇总。同时支持 APP 在线租车并生成对应合同,完成业务闭环。") add_para(doc, "与车队长差异:车队长侧重单车队运营;集团客户侧重企业级多项目、多合同、多车队的统一视图与集团采购决策。", bold=True) # 五、业务闭环 add_heading(doc, "五、三大业务闭环总览", 1) loops = [ ("闭环一 · 租赁/自营运营(核心收入)", "意向单 → 报价 → 合同(评级/敏感客户审批)→ 交车 → 运营监控 → 账单收款 → 还车 → 结算 → 替换车(如需)"), ("闭环二 · 车辆资产生命周期(资产管控)", "采购/外租 → 验车入库 → 维保/年审/故障/事故 → 能源消耗 → 出库处置;全链路数据沉淀至 OneOS 数据底座"), ("闭环三 · 氢气贸易与加注(产业延伸)", "制氢企业挂牌 → 加氢站询价采购 → 管束车配送 → 司机预约加氢 → 电子加氢卡结算 → 氢费对账 → 运营账单聚合"), ] for title, flow in loops: add_para(doc, title, size=12, bold=True, color=COLOR_PRIMARY) add_para(doc, flow) # 六、路线图 add_heading(doc, "六、分阶段落地路线图", 1) add_table(doc, ["阶段", "周期", "重点模块", "交付成果"], [ ["第一阶段", "0–6 月", "内部用户 + 车队长 + 司机核心闭环", "合同审批、交还车、替换车、基础账单"], ["第二阶段", "6–12 月", "加氢站 + 维修站接入", "预约加氢、电子加氢卡、维修派单对账"], ["第三阶段", "12–18 月", "制氢企业 + 氢气采购商城", "挂牌售氢、管束车调度、到站结算"], ["第四阶段", "18–24 月", "集团客户 + 数据智能", "集团总览、风控模型、产业数据分析"], ], col_widths=[2.2, 2, 5.8, 6]) # 七、汇报要点 add_heading(doc, "七、向管理层汇报要点", 1) points = [ "小羚羚不是单一 App,而是氢能产业多端协同的数字化入口,与 OneOS Web 端形成「大屏管控 + 手机执行」互补。", "首期 6 个月聚焦租赁闭环与内部风控,快速产生业务价值;氢气贸易模块作为第二增长曲线。", "客户评级与敏感客户审批机制内嵌合同流程,从源头降低收账风险,支撑非标业务合规扩张。", "七类用户共用同一数据底座,避免信息孤岛,为后续氢能产业数据分析与智能调度奠定基础。", ] for i, pt in enumerate(points, 1): add_para(doc, f"{i}. {pt}") add_para(doc, "", space_after=24) add_para(doc, "— 文档结束 —", size=10, color=COLOR_MUTED, align=WD_ALIGN_PARAGRAPH.CENTER) add_para(doc, "羚牛氢能 · 小羚羚平台方案 · OneOS 生态 · 供内部汇报使用", size=10, color=COLOR_MUTED, align=WD_ALIGN_PARAGRAPH.CENTER) doc.save(OUTPUT) return OUTPUT if __name__ == "__main__": path = build_document() print(f"已生成:{path}")