# -*- coding: utf-8 -*- """附件五 技术方案 第 2 章 系统功能展示(6 分)。 功能清单表由 _bid_func_list.py 自动生成,与前端 FUNC 编号登记表同源; 界面截图取自已交付系统,非示意图。 """ import os import sys sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) from _bid_func_list import FUNC_LIST, MODULE_NAME # noqa: E402 def _mod_rows(mod): return [[c, n] for m, c, n in FUNC_LIST if m == mod] def func_table(mod, extra_caption=""): """把某模块的功能清单排成三列并排的紧凑表格。""" rows = _mod_rows(mod) cols = 3 per = (len(rows) + cols - 1) // cols grid = [] for i in range(per): line = [] for c in range(cols): k = c * per + i line += ([rows[k][0].replace("FUNC-", ""), rows[k][1]] if k < len(rows) else ["", ""]) grid.append(line) cap = f"S{mod[1:]} {MODULE_NAME[mod]}已建成功能清单(共 {len(rows)} 项)" if extra_caption: cap += extra_caption return ("table", (cap, ["编号", "功能名称"] * cols, grid, [1.15, 2.2] * cols, ["c", "l"] * cols)) # 界面截图在横排页上的高度上限(厘米):留出约四行说明文字的位置, # 使「说明 + 截图 + 图题」正好占满一页,同时保证界面内文字打印后可辨认。 SHOT_H = 13.2 def shot(name, caption, text): """一段说明配一张界面截图,占满一个横排页。""" return [("p", text), ("fig", (name, caption, SHOT_H))] TOTAL = len(FUNC_LIST) DIST = [[f"S{i}", MODULE_NAME[f"S{i}"], str(sum(1 for m, _, _ in FUNC_LIST if m == f"S{i}"))] for i in range(10)] BLOCKS_CH2 = [ ("h2", "2.1 功能总览"), ("h3", "2.1.1 功能规模与模块分布"), ("p", "本章展示的全部功能均已在 Ai-DOP 制造业数据智能运营平台中建成并可实际操作," "而非概念设计或效果示意。截至响应文件递交之日,平台已建成并纳入功能编号" f"登记的业务功能共 {TOTAL} 项,覆盖 S0 至 S9 全部十个业务模块," "另配套移动端应用、供应商门户与管理层大屏。本章所附界面截图均取自" "已交付系统的实际运行画面,页面标题下方标注的 FUNC 编号与功能清单一一对应," "可供采购人核验。"), ("table", (f"平台已建成功能模块分布(合计 {TOTAL} 项)", ["模块", "模块名称", "功能项数"], DIST, [1.4, 5.6, 1.6], ["c", "l", "c"])), ("h3", "2.1.2 功能编号体系"), ("p", "平台对每一个业务功能分配唯一的功能编号,格式为 FUNC-Sn-nnn," "其中 Sn 为所属业务模块、nnn 为模块内三位顺序号。该编号在系统中" "贯穿侧栏菜单、页面标题、面包屑导航与操作日志," "并与需求文档中的业务需求编号 REQ-Sn-nnn、测试用例编号 TC-Sn-nnn 形成三联对照。"), ("p", "这一编号体系的意义在于:任何一项功能从需求提出、设计实现到测试验收," "都能通过同一组编号完整追溯;采购人在验收时可按编号逐项核对," "不会出现“需求写了但系统里找不到”或“系统做了但没人知道对应哪条需求”的情况。" "本项目的功能验收(采购需求第 92 条)即以该三联对照表作为核对基准。"), ("h3", "2.1.3 界面组织与导航结构"), ("p", "系统采用左侧模块树加顶部多页签的经典管理系统布局。左侧模块树按 S0 至 S9 " "依次展开,每个模块下按业务域分组,叶子节点为具体功能页面并标注模块内顺序号;" "顶部页签支持多任务并行操作,业务人员在处理订单时可同时打开物料齐套与库存查询" "而不丢失上下文。页面主体统一采用查询条件区、操作按钮区、数据列表区三段式布局," "列表支持字段筛选、排序、分页与导出,详情页按业务对象组织多页签。"), ("p", "统一的布局规范降低了业务人员的学习成本——掌握任意一个功能页面的操作方式后," "其余页面无需重新培训即可上手,这对于 IT 力量薄弱、人员流动较快的" "中小制造企业尤为重要。"), # 以下模块展示含大量界面截图,整段改用横排页,保证界面文字打印后可辨认 ("landscape", None), # -------------------------------------------------- S0 ("h2", "2.2 S0 运营建模功能展示"), ("p", "S0 运营建模承担全平台数据基准与流程标准的建设职责,是功能项数最多的模块," "已建成 61 项功能,按销售、制造、供应、质量、仓储五大主数据域组织。" "以下选取六个代表性功能页面展示实际界面。"), (func_table("S0")), ("h3", "2.2.1 物料与客户主数据"), *shot("ui_s0_material", "物料主数据管理(FUNC-S0-020)", "物料主数据按采购需求第 10 条要求实现统一编码规则与物料属性管理," "支持按物料类型、材质、规格、版本、日期组合生成编码," "并提供 Excel 模板批量导入与必填字段校验(第 12 条)。" "下图为系统实际运行画面,物料档案已录入两万七千余条," "列表按物料编码、名称、规格、单位、件件号、物料类型、物料属性、图号、" "库位、库位说明、默认仓库、状态、生效等字段组织," "支持关键字、编码、名称、规格、状态多条件组合查询。"), *shot("ui_s0_customer", "客户主数据管理(FUNC-S0-021)", "客户主数据涵盖客户编码、名称、简称、联系人、联系方式、" "所属区域、业务员、信用等级与结算条件," "并作为 S1 订单评审、S9 客户交付及时率排名的共同取数来源。" "客户档案与订单评审周期规则、合同评审周期规则、产品设计周期规则关联," "使不同客户可配置不同的评审时效标准——" "重点客户走加急通道、常规客户走标准流程,规则由业务人员自行维护。"), ("h3", "2.2.2 供应商主数据"), *shot("ui_s0_supplier", "供应商主数据管理(FUNC-S0-027)", "供应商主数据涵盖基本信息、联系人、资质与开票信息(第 9 条)," "并与 S3 货源清单、S4 供应商门户、S9 供应商交付及时率排名共用同一份档案," "避免各环节各自维护造成的口径不一致。" "供应商档案与采购分类及货源清单、品类交货周期共同构成采购寻源基础:" "一种物料可配置多家合格供应商及其份额与交货周期," "物料需求计划在生成采购申请时据此自动分配供应商与推算下单时点。"), ("h3", "2.2.3 制造主数据"), *shot("ui_s0_bom", "标准 BOM 管理(FUNC-S0-001)", "制造域建成标准 BOM、标准工艺路线、标准工序、工作中心、产线、人员技能、" "SOP 文件等 19 项功能,对应采购需求第 11 条对标准工序库与" "工艺路线模板的要求,支持按产品系列预设流程并允许个性化调整。" "标准 BOM 按父件与子件的层级关系维护用量、损耗率与替代关系," "是 S3 物料需求计划展开净需求的依据;" "BOM 变更保留版本记录,已下达工单沿用下达时的版本,避免在制品口径漂移。"), *shot("ui_s0_routing", "标准工艺路线管理(FUNC-S0-002)", "标准工艺路线定义产品的工序序列、每道工序的工作中心、标准工时、" "前后置关系与检验要求,是 S2 生产排程计算产能占用与交期的基础数据。" "工艺路线支持按产品系列建立模板,新产品导入时以模板为起点调整," "减少重复录入;工序上可挂接 SOP 文件与生产要素参数," "使现场作业人员在报工界面直接调阅作业指导书与工艺参数。"), ("h3", "2.2.4 仓储与质量主数据"), *shot("ui_s0_location", "库位管理(FUNC-S0-034)", "仓储域建成库位、货架、部门、员工、包装规格、单号规则、标签格式等基础档案," "为 S5 至 S7 的仓储作业与标签追溯提供依据。" "质量域建成检验项目、检验标准、检验方法、检验频率、检验依据、抽样方案、" "原材料白名单,以及原材料、过程、FQC、OQC 四类检验规范等档案," "对应第 37 条对质检检验规范的要求," "使 S5 来料检验、S6 过程检验、S7 成品检验共用同一套标准定义。"), # -------------------------------------------------- S1 ("h2", "2.3 S1 产销协同功能展示"), ("p", "S1 产销协同已建成 9 项功能,覆盖从产品设计、合同评审、订单评审、" "工单下达到订单交付与发货的完整链路,并配套计划联动看板与产销协同看板。"), (func_table("S1")), ("h3", "2.3.1 订单评审与交付跟踪"), ("p", "订单评审依据客户要求、产能负荷与物料库存自动评估交期(第 21 条)。" "评审页面以销售订单为主体,左侧展示客户要求交期与数量," "右侧并列展示系统测算的可承诺交期及其依据——" "产品设计周期、物料采购前置期、产能可用工时与当前排队订单," "使评审人员看到的不只是一个结论,还包括结论怎么来的," "在需要与客户协商时可以直接指出制约环节。"), ("p", "订单交付管理按评审、排产、齐套、采购、备料、生产、发运各节点跟踪进度" "(第 22 条)。页面采用八个页签的全景追踪结构," "分别对应订单基本信息、评审记录、工单与排程、物料齐套、采购执行、" "生产进度、入库与发货、变更记录,业务人员在同一页面内即可掌握" "一张订单的全部执行情况,无需在多个模块间跳转。" "各节点可设置时效要求,滞后达到 10% 与 30% 两档阈值时" "分别触发预警与交付变更流程(第 23 条)。"), ("h3", "2.3.2 工单下达与协同看板"), ("p", "工单下达在订单评审通过后建立销售订单与制造工单的关联," "写入批次号、工单号、物料号与优先级(第 15 条)," "这一关联是后续所有追溯的基础:从成品序列号可回溯至工单," "再回溯至销售订单与客户,反向亦可从订单查到全部在制工单。"), ("p", "产销协同看板按 L1 至 L4 四级组织交付类指标。" "L1 为订单交付及时率、订单准时齐套率等结果性指标;" "L2 展示指标的时间趋势与同比环比;" "L3 按客户、产品系列、业务员等维度拆解,定位问题集中在哪一类订单;" "L4 下钻至具体订单清单与延误原因。" "看板同时提供计划联动视图,展示销售计划、生产计划与采购计划之间的衔接关系," "便于计划例会上对齐三方口径。"), # -------------------------------------------------- S2 ("h2", "2.4 S2 制造协同功能展示"), ("p", "S2 制造协同已建成 12 项功能,除生产排程、可执行日计划、工单执行追踪等主线功能外," "还包含产线工作日历、休息时间、节假日与加班四项产能基础数据管理," "为排程提供准确的可用产能约束。"), (func_table("S2")), ("h3", "2.4.1 排程与可执行日计划"), ("p", "排程模块支持在订单优先级与产能约束条件下自动排产(第 32 条)。" "系统读取待排工单、标准工艺路线与工序标准工时," "结合产线工作日历、休息时间、节假日与加班安排计算可用产能," "按订单优先级规则生成排程结果;排程过程中产生的产能冲突、" "物料不齐、工艺缺失等情况写入排产异常记录,供计划员逐条处理," "而不是静默地排出一个执行不了的计划。"), ("p", "排产结果确认后下达为可执行日计划并推送至产线," "日计划按产线、班次、工序组织,明确当日投产品种、数量与顺序。" "工单执行追踪、工单物料明细、工单工序明细三项功能" "从 ERP 与 MES 回收实际完工、领料与工序流转数据," "与计划进行对比后在工单执行进度看板上呈现偏差。"), ("h3", "2.4.2 制造协同看板"), ("p", "制造协同看板汇总工单达成率、生产计划完成率、设备利用率、" "瓶颈工序负荷与在制品数量等指标," "并按产线与班次维度支持下钻至具体工单。" "计划员与车间主任可在移动端随时查看并接收预警推送(第 33 条)," "当日计划完成率低于阈值时系统主动通知," "使产线异常在当班内即被发现,而不是到日报汇总时才暴露。"), # -------------------------------------------------- S3 / S4 ("h2", "2.5 S3 供应协同与 S4 采购执行功能展示"), ("p", "S3 供应协同已建成 12 项功能,覆盖物料需求计划、物料交货计划、采购申请、" "要货令、采购订单、委外加工订单、工序外协订单," "以及供应协同看板、工单物料齐套上线看板与 MDP 运行监控。" "其中物料需求计划按采购需求第 30 条实现净需求计算并扣减现有库存与在途量," "齐套上线看板提供三十余个齐套字段与欠料定位分析。"), (func_table("S3")), ("p", "S4 采购执行已建成 6 项功能,覆盖供应商交货管理、供应商发货单、采购退货单、" "IQC 退货查询,以及采购执行看板与供应商欠料看板。" "供应商交货管理即采购需求第 34 条所要求的供应商门户能力载体," "承担交货计划推送、交期回复与发货单生成;" "供应商欠料看板提供十五天滚动预测,供采购员提前介入。"), (func_table("S4")), # -------------------------------------------------- S5 ("h2", "2.6 S5 物料仓储功能展示"), ("p", "S5 物料仓储已建成 19 项功能,按来料检验、仓储管理、库存数据、" "物料仓储看板四组组织。本模块以对接 ERP 贴源只读为主(第 36、37 条)," "平台不回写源库,保证既有系统的业务一致性。"), (func_table("S5")), *shot("ui_s5_iqc", "来料检验申请列表", "来料检验组包含检验申请表、检验任务列表与检验结果列表三个环节," "数据源为 QMS 来料检验申请单。" "平台按物料编码、批次号、供应商、送货单号、检验状态提供组合查询," "并把源系统中以代码存储的状态按字典解码为中文展示," "使业务人员不必记忆状态码。检验结果与 S4 采购退货、" "S9 供应商来料合格率指标衔接,形成来料质量的闭环记录。"), *shot("ui_s5_stock", "库存查询", "库存查询为 S3 齐套计算提供库存基数," "支持按类型、库位、物料编码、批次号等条件组合筛选," "并按非限制库存、质检库存、冻结库存分列统计与合计," "货架、版本、供应商三列由标签数据富集得到。" "下图为系统实际运行画面,可见单表数据量已达六千余条," "分页、排序与合计均在真实数据量下正常工作。"), *shot("ui_s5_inout", "进出存查询", "进出存查询按期初结存、入库数、出库数、期末结存四栏组织," "期初数取交易前结存、入库数取数量变动为正的部分、" "出库数取数量变动为负的部分," "口径与财务对账一致,避免仓储台账与财务账目形成两套数。" "该查询是物料周转率、库存资金占用等 S9 指标的取数来源," "指标异常时可直接下钻到本页核对具体物料的进出明细。"), *shot("ui_s5_stocktake", "盘点结果查询", "盘点结果查询与盘点标签确认两项功能支撑周期盘点作业," "按物料、库位、批次列出账面数、实盘数与差异数," "冻结状态单独标注以便与在检物料区分。" "盘点差异是库存准确率指标的直接来源," "S9 看板据此计算库存准确率并在低于阈值时触发预警," "使盘点从一项定期作业转化为可持续跟踪的管理指标。"), # -------------------------------------------------- S6 ("h2", "2.7 S6 生产执行功能展示"), ("p", "S6 生产执行已建成 9 项功能,覆盖过程检验单、生产设备台账、模具工装台账、" "工序汇报查询与生产执行看板。过程检验在平台侧完成 IPQC 检验流转," "检验员按白名单录入结果、提交主管审核,流转状态写入平台扩展表," "不修改源单据状态列。"), (func_table("S6")), *shot("ui_s6_ipqc", "过程检验单列表与详情", "过程检验单列表按工单、工序、产线、检验状态组织," "点击进入详情后展示检验项目、检验标准、抽样方案与逐样本实测值。" "检验员按原材料白名单与检验规范录入结果并提交主管审核," "流转状态写入平台扩展表而不修改源单据状态列," "既实现了 IPQC 全流程在线化,又不破坏源系统的数据一致性——" "这是贴源集成模式下扩展业务能力的标准做法。"), *shot("ui_s6_equipment", "生产设备台账", "设备台账按采购需求第 40 条建设,记录设备编号、名称、型号、" "所属产线与工作中心、状态、启用日期、保养周期与责任人," "并按作用域控制不同产线人员的可见范围。" "台账数据同时供 S9 设备利用率与设备故障停机时长指标取数," "使设备管理与运营指标共用同一份基础数据," "不会出现设备台账与指标口径各记一套的情况。"), *shot("ui_s6_tooling", "模具工装台账管理", "模具工装台账按采购需求第 41 条建设,除基本信息外重点记录" "累计使用次数、设计寿命、保养与维修记录," "并在接近寿命阈值时提示保养或更换。" "模具工装是离散制造企业容易失控的一类资产——" "台账不清导致的后果往往是生产中途发现模具不可用而被迫停线," "本模块把这类信息纳入统一管理并与工单执行关联,提前暴露风险。"), # -------------------------------------------------- S7 ("h2", "2.8 S7 成品仓储功能展示"), ("p", "S7 成品仓储已建成 7 项功能,覆盖生产入库单、销售发货通知、FQC 检验任务、" "FQC 检验结果与成品仓储看板,并支撑成品序列号的售后追溯(第 45、46 条)。"), (func_table("S7")), *shot("ui_s7_prodin", "生产入库单列表", "生产入库单列表按入库单号与项次组织," "记录工单号、物料编码、入库数量、批次号、库位与入库时间," "默认按入库单号倒序、项次正序排列。" "该数据是成品库存的形成起点,向上关联工单与销售订单、" "向下关联发货记录,构成成品序列号追溯链的中间环节" "(第 45、46 条)。"), *shot("ui_s7_shipment", "销售发货通知", "销售发货通知按客户、销售订单、物料、发货数量与计划发货日期组织," "默认按发货日期倒序排列,为发货作业提供待办清单。" "发货实绩回写至 S1 订单交付管理的发运节点," "驱动订单交付及时率指标的计算;" "客户收货确认后形成完整的交付闭环记录," "供售后追溯与客户对账使用。"), *shot("ui_s7_fqc_task", "FQC 检验任务列表", "FQC 检验任务列表由生产入库触发生成," "按工单、物料、批次、抽样方案与检验状态组织," "检验员据此领取当日检验任务。" "任务的生成规则来自 S0 质量域的 FQC 检验规范与抽样方案配置," "不同物料可设置不同的抽样比例与判定标准," "规则调整由质量管理人员在主数据中完成,无需修改程序。"), *shot("ui_s7_fqc_result", "FQC 检验结果列表与详情", "FQC 检验结果页面将源系统中以 j1 至 j50 列存储的样本值" "收敛为样品数组展示,末尾空值自动裁剪," "使检验员看到的是符合业务语义的样本序列," "而不是五十个大部分为空的字段列。" "这类数据呈现上的处理贯穿平台各只读查询页面," "是贴源数据能够被业务人员直接使用而非仅供技术人员查看的前提。"), # -------------------------------------------------- S8 ("h2", "2.9 S8 全流程异常监控功能展示"), ("p", "S8 已建成 19 项功能,是平台中配置能力最完整的模块。" "除异常监控看板、异常列表、主动提报、订单执行档案与订单链路全景等业务功能外," "还建成交付异常、生产异常、供应异常三块专题大屏," "以及包含场景基础、通知分层、角色权限、报警规则、数据源、监视规则、" "异常类型、大屏卡片八类配置的配置中心。"), (func_table("S8")), ("p", "配置中心的存在直接支撑了采购需求对“可复制”的要求。" "不同企业的异常类型、分级标准、通知对象与响应时限差异很大," "平台把这些差异全部收敛为配置项:新企业上线时由实施人员在配置中心完成设置," "不需要修改代码。异常分级按一般、重要、紧急三档设置," "紧急异常一小时内响应的时限要求(第 50 条)即通过报警规则配置落地。"), ("p", "订单链路全景是本模块中与运营诊断衔接最紧的功能," "它以销售订单为主线把需求预测、采购计划、来料入库、车间生产、半成品流转、" "成品入库、发货配送各节点串成一条可视化链路," "断点、滞后与异常节点直接标记在链路上(第 64 条)," "使异常定位从翻查多个系统变为在一张图上直接判读。"), # -------------------------------------------------- S9 ("h2", "2.10 S9 运营指标与智慧运营功能展示"), ("p", "S9 已建成 13 项功能,分为三组:一是运营指标看板与九宫格智慧运营看板," "承担 KPI 定义、测量、偏差分析与可视化(第 57 至 62 条);" "二是智慧诊断与 ChatBI 智能问答,承担运营问题诊断与自然语言报表" "(第 63 至 65、70 条);" "三是数据中台工作台、数据地图、数据源管理、同步配置中心、数据任务日志、" "业务动作日志与 ERP 同步,承担数据治理与系统集成的运行支撑" "(第 56、71 至 78 条)。"), (func_table("S9")), ("p", "九宫格智慧运营看板按 S1 至 S9 九个业务段布局,每格展示模块核心 KPI " "与红黄绿状态,点击进入对应模块看板后可沿 L1 至 L4 四级下钻至单据明细," "指标口径与阈值均为配置项。指标值由日批任务基于数据中台 DWS 层" "每日凌晨自动计算(第 59 条),未达标时自动触发偏差分析(第 60 条)。"), ("p", "数据中台工作台与数据地图是本模块中面向管理员的功能," "前者展示各同步任务的运行状态、数据量与耗时,后者展示表与表之间的血缘关系。" "这两项功能的价值在于让数据链路本身可观测——" "当某个指标数值异常时,管理员能够沿血缘回溯到具体的源表与同步任务," "判断是业务真实波动还是数据同步故障,而不必逐层排查。"), # -------------------------------------------------- 移动端 ("h2", "2.11 移动端与外部协同入口"), ("p", "移动端按采购需求第 79 至 82 条建设四类场景。" "生产执行场景提供生产计划查询、物料齐套状态查询与生产指令投产报工;" "仓储物流场景提供原料与成品库存数量、库位信息的实时查看," "支持按物料编码与订单号检索;" "质量管理场景提供来料、过程、成品三类检验报表查询;" "协同决策场景提供订单进度跟踪与交付预警提醒、" "供应商协同(交期回复、发货通知、来料检验结果、逾期提醒)" "以及包含核心 KPI、异常统计与数据下钻的决策看板。"), ("p", "移动端与 PC 端共用同一套后端服务与权限体系,数据实时一致," "无需单独维护。预警信息通过企业微信或钉钉推送到责任人手机," "点击即可跳转至对应的处理页面,缩短从预警到处置的时间。"), ("p", "供应商门户作为面向外部的独立入口,供应商凭独立账号登录后" "只能看到与本企业相关的采购订单、交货计划与检验结果," "数据权限与内部用户严格隔离。"), # -------------------------------------------------- 小结 ("portrait", None), ("h2", "2.12 功能覆盖度自评"), ("p", "对照询比文件第五章采购需求中涉及功能的条目,本平台的覆盖情况如下表。" "需要说明的是,采购需求中大量条目要求“对接 ERP 查询”," "此类条目的落地形态是平台提供查询页面、数据由集成通道从 ERP 同步获取," "已在对应模块中建成。"), ("table", ( "功能需求覆盖度自评", ["需求范围", "采购需求条目", "对应已建成功能", "覆盖情况"], [ ["运营建模", "第 9~20 条", "S0 共 61 项功能", "已建成"], ["产销协同", "第 21~25 条", "S1 共 9 项功能", "已建成"], ["制造协同", "第 26~29、32、33 条", "S2 共 12 项功能", "已建成"], ["供应协同", "第 30、31 条", "S3 共 12 项功能", "已建成"], ["采购执行", "第 34 条", "S4 共 6 项功能", "已建成"], ["物料仓储", "第 35~37 条", "S5 共 19 项功能", "已建成"], ["生产执行", "第 38~41 条", "S6 共 9 项功能", "已建成"], ["成品仓储", "第 42~46 条", "S7 共 7 项功能", "已建成"], ["异常监控", "第 47~52 条", "S8 共 19 项功能", "已建成"], ["指标与智能运营", "第 53~70 条", "S9 共 13 项功能", "已建成"], ["系统集成", "第 71~78 条", "S9 数据中台与同步配置中心", "已建成"], ["移动端", "第 79~82 条", "移动端四类场景", "已建成"], ], [1.9, 2.5, 3.4, 1.4], ["c", "l", "l", "c"])), ("p", "综上,本项目所需的全部业务功能均已在平台中建成并可实际运行," "项目实施阶段的工作重心是主数据落地、集成通道适配、指标口径确认" "与看板场景化配置,而非从零开发。这是我方能够在采购需求第 100 条" "规定的工期内完成交付的根本保障。"), ]