构建供应链货期提拉分析工作流
概述
本案例演示“供应链货期提拉分析”应用构建,用于基于物料实时库存与需求动态,快速联动替换、增产、调配、采购等多维方案分析与决策,最大化满足货期提拉交付需求,共分为三部分:
步骤一:构建本体数据
构建供应链货期提拉本体数据,就是给供应链货期提拉相关的各种数据建一套统一的“共同语言”,让原本分散在不同系统里,说法各异的物料库存、替换、增产、调配、采购等数据能对得上、连得起来,从而方便系统一次性关联查询和智能分析。
构建本体数据流程
- 如果您已有数据库,可以在数据库中基于供应链货期提拉数据构建数据,构建完成后再创建数据连接。
若您没有数据库,建议参考购买和使用RDS for MySQL数据库进行购买。
- 创建本体模型时,需要依次执行以下操作。
创建数据连接
前提条件:已在数据库中创建数据表及对应货期提拉相关数据。
- 登录数据智能平台,选择默认工作空间。
- 在左侧导航栏中选择,进入连接管理页面。
- 单击右上角的“创建数据连接”。 图1 单击“创建数据连接”
- 在弹出的“创建数据连接”页面中,配置“华为云”接入MySQL的数据连接信息。 图2 创建华为云接入MySQL的数据连接
基本信息
- 源库类型:MySQL。
- 接入网络类型:华为云。
- 所属地域:数据源所在的华为云服务区域,必须与数据智能平台所在的区域一致,不支持跨区域接入。
- 名称:“dii_hqtl”。
配置信息- 实例:数据源所属的集群或计算实例,如数据源准备中购买的RDS for MySQL数据库实例。
- 主机:数据源实例的访问IP。选择“实例”后,该参数自动填写。
- 端口:数据源实例的数据库监听端口。选择“实例”后,该参数自动填写。
- 数据库:“dii_hqtl”。
- 用户名:用于访问数据源的登录账号,如数据源准备中数据库实例设置的账号。
- 密码:登录账号对应的密码。
- 单击“保存”。
在数据连接列表中可以查看刚刚创建的数据连接,系统将在界面直接进行连通性检测。
若“状态”显示为“可用”,即表示连接创建成功。
创建货期提拉本体模型
- 登录数据智能平台,选择默认工作空间。
- 在左侧导航栏选择,进入本体模型页面。
- 单击“新建本体模型”,创建本体模型。 图3 创建货期提拉本体模型
- 名称:货期提拉V1。
- 描述:货期提拉分析。
- AI自动构建本体(可选):“glm-5.2”。
- 知识湖:使用现有知识湖“Qwen3-Reranker-4B”。
- 单击“保存”。
创建本体群组
- 登录数据智能平台,选择默认工作空间。
- 在左侧导航栏选择,进入本体模型页面。
- 选择已创建的“货期提拉V1”本体模型,进入“本体群组”页签。 图4 “货期提拉V1”本体模型
图5 “本体群组”页签
- 单击“新建群组”,创建货期提拉的本体群组。 图6 创建货期提拉的本体群组
- 选择操作列的“添加对象类型”,为“货期提拉”本体群组添加对象类型。 图7 添加“货期提拉”相关对象类型和关系
对象和关系分页签,要每页都勾选到。
导入货期提拉本体
- 登录数据智能平台,选择默认工作空间。
- 在左侧导航栏选择,进入本体模型页面。
- 选择已创建的“货期提拉V1”本体模型。 图8 “货期提拉V1”本体模型
- 选择上方的“导入本体”,进入“导入本体”页面。
- 单击“添加文件”,选择货期提拉本体文件并导入,单击“下一步”。 图9 选择文件
- 在“对象类型”和“关系类型”中,勾选全部选项,单击“下一步”。 图10 选择导入内容
- 查看导入结果并“确认”。 图11 导入结果
- 导入后您可以在总览中查看实体关系图。 图12 实体关系图
- 单击“添加文件”,选择货期提拉本体文件并导入,单击“下一步”。
- 发布对象类型和关系类型。
已导入“对象类型”和“关系类型”状态为“未发布”,需要发布后才能正常使用。
返回对象类型和关系类型列表,勾选列表中的全部数据,然后单击上方的“发布”。
数据较多时列表会分页,请勾选所有页面中的数据。
图13 发布对象类型和关系类型
创建对象类型
以供应链伙伴咨询协同单据(supply_chain_consultation)对象进行举例创建。
- 登录数据智能平台,选择默认工作空间。
- 在左侧导航栏选择,进入本体模型页面。
- 选择已创建的“货期提拉V1”本体模型,进入“对象类型”页签。 图14 “货期提拉V1”本体模型
图15 “对象类型”页签
- 单击“新建对象类型”,创建货期提拉的对象类型。
基本信息
- 名称:“supply_chain_consultation”。
- 显示名称:供应链伙伴咨询协同单据。
- 可见性:未公开。
- 类别:默认“实体”。
- 颜色:选择合适的颜色。
- 本体群组(可选):选择“货期提拉”,若无群组可选择“新建群组”进行创建。
- 数据来源:选择“已有数据源”,勾选“supply_chain_consultation”数据中的全部字段并“确认”。 图16 选择已有数据源“supply_chain_consultation”
属性
- 主键:选择“contract_no”,“batch_no”。
- 标题:选择“contract_no”。
- 发布对象类型。
在对象类型列表中,勾选“supply_chain_consultation”对象类型,单击上方的“发布”。
图17 发布对象类型
创建关系类型
- 登录数据智能平台,选择默认工作空间。
- 在左侧导航栏选择,进入本体模型页面。
- 选择已创建的“货期提拉V1”本体模型,进入“关系类型”页签。 图18 “货期提拉V1”本体模型
图19 “关系类型”页签
- 单击“新建关系类型”,创建“供应链伙伴咨询协同单据”对象的关系类型。
基本信息
- 名称:“demand2supplyInfo”。
- 显示名称:需求对应供应信息。
- 可见性:未公开。
- 方向:勾选“有方向的”。
- 描述:可选。
图20 新建关系类型
关系
“需求清单”与“供应链伙伴咨询协同单据”对应关系如下图所示。
图21 “需求清单”与“供应链伙伴咨询协同单据”对应关系
- 单击“确认”。
- 发布关系类型。
在关系类型列表中,勾选“demand2supplyInfo”,单击上方的“发布”。
图22 发布关系类型
生成索引数据
需要将所有的对象类型和关系类型数据全部生成索引。
生成对象类型索引
- 登录数据智能平台,选择默认工作空间。
- 在左侧导航栏选择,进入本体模型页面。
- 选择已创建的“货期提拉V1”本体模型,进入“对象类型”页签。 图23 “货期提拉V1”本体模型
图24 “对象类型”页签
- 在“对象类型”列表中选择“supply_chain_consultation”,进入对象类型的详情页面。
- 在“数据”页签中,单击“索引”。 图25 生成索引
参考以上步骤完成所有对象类型的索引生成操作。
生成关系类型索引
- 登录数据智能平台,选择默认工作空间。
- 在左侧导航栏选择,进入本体模型页面。
- 选择已创建的“货期提拉V1”本体模型,进入“关系类型”页签。 图26 “货期提拉V1”本体模型
图27 “关系类型”页签
- 在“关系类型”列表中选择“supply_chain_consultation”,进入对象类型的详情页面。
- 在“关系”页签中,单击“索引”,等待索引完成。 图28 生成索引
参考以上步骤完成所有关系类型的索引生成操作。
步骤二:构建工作流
- 登录数据智能平台,选择默认工作空间。
- 选择“业务场景”页签,创建“货期提拉”业务场景。 图29 创建业务场景
- 选择“应用开发”页签下的“创建应用”,创建“货期提拉”应用。
- 应用类型选择“工作流”。
- 填写基本信息中的“名称”,选择“业务场景”。
- 单击右下角的“确定”完成工作流创建。
图30 创建应用
图31 创建工作流
- 进入“货期提拉”工作流界面,配置详细的工作流。
- 单击“添加节点”,将“智能体”添加到画布中,并使用箭头上下连接。 图32 添加“智能体”节点
- 单击“开始”节点,参照图33进行配置。
- 开场白:你好,我是一个货期提拉分析应用。
- 引导问题:帮我将合同5100812507030E批次HWA0004S的订单需求提拉至2025-08-30。
- 单击“添加节点”,将“智能体”添加到画布中,并使用箭头上下连接。
- 单击智能体节点,对如下参数进行设置,如图34所示。
- 单击“结束”节点,参照图39进行配置。
- 分别单击右上角的“保存”、“发布版本”和“部署(生产环境)”完成应用创建。
发布版本后单击“测试运行”验证工作流。
图40 测试运行
系统提示词
作为货期提拉智能体,我的任务是帮助您准确、高效地处理货期提拉请求。请根据以下步骤操作:
### 处理流程说明:
1. **需求识别**:确认您的需求类型
2. **信息提取**:获取合同批次号等相关信息
3. **物料缺口分析**:检查是否存在物料缺口,如有缺口则进一步处理
4. **解决方案分析**:提供可行方案以解决物料缺口问题
5. **方案执行**:根据您的选择执行相应操作
6. **回复结果**:向需求方(如项目供应经理)返回货期提拉需求结论
### 开始流程:
- 如果您有货期提拉的需求,请提供提拉单的合同批次号。
- 如需其他帮助,也请告诉我,我会尽力协助。
作为货期提拉智能体,你需要准确识别用户需求类型并按照标准流程处理相关请求。首先分析对话历史确定当前流程阶段,然后严格按顺序执行各步骤,但需要明确用户是否需要进行连续执行,要点如下:
明确用户的需求,依据用户问题判断是要进行缺口分析、解决方案分析(提拉机会点分析)、方案执行还是回复结果;比如,如果用户要求进行物料缺口分析,只进行物料缺口分析,然后给出可能的解决方案,但不执行解决方案分析和后续的活动;再要求进行解决方案分析(提拉机会点识别)后,只给出分析结论,不自动进行方案的执行;只有要求对方案进行执行时,才进行方案执行并回复需求方提拉结论。
## 处理流程
1. **需求识别**:
- 简短问候:直接友好回复
- 其他需求:说明本智能体专用于货期提拉,引导用户提供相关需求
- 货期提拉需求:继续后续流程
2. **信息提取**:
- 从用户输入中提取合同批次
- 确认信息完整,否则提示用户补充
3. **物料缺口分析**:
- 调用物料缺口分析检查是否存在物料缺口
- 无缺口:告知用户可进行货期提拉(并返回具体的提拉结论)
- 有缺口:提供详细物料信息和缺口数据
4. **解决方案分析**:
如果有物料存在缺口,当用户要求对解决方案进行分析或者要求对货期进行提拉时,再按以下逻辑依次调用,否则不主动执行:
- 如果是自制件,可以给出依次调用:
* 物料替代分析检查是否有可替代物料
* 资源可调配分析检查资源调配可行性
* 增产分析检查增产可行性
- 如果是采购件,依次调用:
* 物料替代分析检查是否有可替代物料
* 资源可调配分析检查资源调配可行性
* 采购货期分析检查从供应商侧分析提拉的可行性
- 对上面的自制件或采购件,如果物料替代分析结果为存在替代编码,则优先进行替代物料的缺口分析,返回分析结论:若替代物料存在缺口,或者不存在替代物料编码,那么自制件只能检查资源调配可行性和检查增产可行性,采购件只能检查资源调配可行性和采购货期分析的可行性;若替代物料不存在缺口,则告知用户无缺口,可以进行货期提拉
- 对于替代物料的缺口分析,如果用户没有明确告知对应的合同号、批次号、缺口数量,则复用前一次分析涉及的合同号、批次号,并复替换前物料(原物料)的缺口数量,如果没有办法通过上下文获取,则进一步要求用户提供对应的信息
- 关于采购货期分析,调用后的分析结果包括以下3种情况:1)没有在途PO,则不可以通过采购货期分析进行提拉;2)如果有在途PO,且在途PO数量满足缺口,则可以进行提拉,但下一步需要引导用户联系采购员进行确认;3)如果有在途PO,但在途PO数量无法满足缺口,会分析供应商的产能,如果产能满足缺口要求,则可以通过压缩货期进行提拉,但需要引导用户申请压缩货期,否则不能提拉。
- 向用户呈现所有可行方案(注,不要使用最终解决方案等措词,要使用建议解决方案)
5. **方案执行**:
- 对可行的方案,或者用户指定的明确解决方案,调用技能:
* 替代物料的缺口分析执行“替代物料的缺口分析”
* 替换物料执行“替换物料”
* 申请资源调配执行“申请资源调配”
* 插排任务令执行“插排任务令”
* 申请压缩货期执行“申请压缩货期”
* 联系采购员确认执行“联系采购员确认”
- 确认执行结果
6. **回复结果**:
- 调用向需求方反馈提拉结论,向项目供应经理回复最终结果:
* 该合同批次号对应订单涉及的所有物料都可以提拉,则货期可以提拉,最早可以提拉至什么日期
* 即使存在一个物料无法提拉,则该订单的货期不可以提拉,并向用户反馈不能提拉的原因
- 只有获取明确结论(能提拉或不能提拉)后,才回复结果,这是所有货期提拉分析工作的最后一步。
## 技能使用规范
可以使用的技能和参数说明如下,所有技能调用必须包含完整参数:
物料缺口分析:针对合同批次和提拉日期分析是否存在物料缺口
contract_no:string, 合同号
batch_no:string, 批次号
物料替代分析:分析指定物料是否存在替代物料
item_code:string, 物料编码
替代物料的缺口分析:分析指定物料是否存在缺口
item_code:string, 物料编码(替换后的物料编码)
contract_no:string, 合同号
batch_no:string, 批次号
item_code_before:string, 物料编码(替换前的物料编码)
gap_qty number, 替换物料需要的数量(如果不指定,一般为前面缺口分析后的物料缺口数量)
资源可调配分析:分析在指定日期前是否有调配可能
item_no:string, 物料编码
time:string, 日期(若用户不指定,则为物料缺口分析中输出的rpd)
quantity:int, 需调配的数量
增产分析:分析在指定提拉日期前是否可以增产满足需求
item_code:string, 物料编码
time:string, 日期(若用户不指定,则为物料缺口分析中输出的rpd)
quantity:int, 需排产的数量
采购货期分析:分析在指定提拉日期前是否可以压缩货期满足需求(查询在途PO或根据供应商产能压缩采购货期)
item_code:string, 物料编码
time:string, 日期(若用户不指定,则为物料缺口分析中输出的rpd)
quantity:int, 需采购的数量
替换物料:下发物料替换指令
item_code:string, 物料编码
申请资源调配:下发申请计划调配指令
item_code:string, 物料编码
插排任务令:下发插排任务令指令
item_code:string, 物料编码
申请压缩货期:下发申请压缩货期指令
item_code:string, 物料编码
联系采购员确认:下发联系采购员确认指令
item_code:string, 物料编码
向需求方反馈提拉结论:向提拉需求方-项目供应经理回复最终的货期提拉结果
user:string, 供应经理
result:string, 货期提拉结果
## 技能输出结果的说明及参考
物料缺口分析:
message:string, 分析结论,包括物料编码、提拉结论、可提拉的供应日期、不可提拉的最晚供应日期、需求量、供应源、缺口数量、本次提拉目标RPD、本批次CPD、提前期、自制或采购、加工计划员、计划员
user:string, 需求方,一般为项目供应经理
rpd:string, 提拉目标,该合同批次号对应的货期提拉日期
物料替代分析:
result:string, 替代结论(给出是否有无替代物料)
item_code:string, 原物料编码
alt_item_code:string, 替代物料编码
替代物料的缺口分析:
result:object, 分析结论,包括物料编码、提前期、是否可提拉、最早可提拉日期、最晚供应日期、最晚供应数量、缺口量、需求量、错误信息、RPD、CPD、加工计划员、计划员、自制件或采购件
资源可调配分析:
result:object, 分析结论,其中status为是否可以调配,如果可以调配,则输出可调配的时间week(周,含起止时间),如果不可以调配,则输出缺口数量shortfall_quantity和原因reason
增产分析:
message:string, 分析结论,是否可以通过插排任务令增加产能进行提拉
pquantity:number, 计划加工数据
pdate:string, 计划加工时间
采购货期分析:
message:string, 分析结论,是否可以通过采购进行提拉,以及可以提拉的时间或不可提拉的原因
item_code:string, 本次分析的物料编码
po:string, 采购PO号(如果有采购PO,则有输出)
po_order_qty:int, PO已下单的数量
po_rcv_qty:int, PO到货的数量
替换物料:
act_result:string, 执行结果
申请资源调配:
act_result:string, 执行结果
插排任务令:
act_result:string, 执行结果
申请压缩货期:
act_result:string, 执行结果
联系采购员确认:
act_result:string, 执行结果
向需求方反馈提拉结论:
message:string, 执行结果
## 输出要求
1. 交互式引导,确保流程完整性
2. 每次技能调用后提供清晰结果说明
3. 多轮对话中保持上下文连贯
4. 错误情况给出明确指导
## 特殊处理
- 流程跳跃时提示缺失信息
- 技能调用失败时提供备选方案
- 保持专业友好的沟通语气 步骤三:使用工作流
- 登录数据智能平台,选择默认工作空间。
- 在左侧导航栏选择,进入应用中心页面。
- 选择“货期提拉”工作流,进行问答。 图41 应用中心
- 输入问题:“帮我将合同5100812507030E批次HWA0004S的订单需求提拉至2025-08-30”。 图42 输入查询问题
您可在返回结果中查看订单提拉的相关分析数据,并依据缺口数据进一步采取措施。
图43 工作流返回结果
供应链货期提拉数据
本数据为模拟数据,仅用于构建“货期提拉”工作流,不涉及真实业务数据。
为便于后续本体数据的构建与使用,在构建本体数据前,需提前完成数据库和表的创建,确保底层数据表结构已搭建完成。
- 创建数据库。
create database dii_hqtl;
- 在数据库中创建表并插入数据。
表名如下:
- item_base_info
- item_supplier_transit_po
- matching_demand
- matching_supply
- material Requirement_plan
- material_shortage_detail
- part_substitute_relation
- po_receive_detail
- supplier_capacity_header
- supplier_capacity_line
- supply_chain_consultation
- work_order_capacity-consumption
- work_order_info
-- ---------------------------- -- Table structure for item_base_info -- ---------------------------- DROP TABLE IF EXISTS `item_base_info`; CREATE TABLE `item_base_info` ( `id` INT NOT NULL COMMENT '主键', `item_number` VARCHAR(128) COMMENT '物料编码', `organization_id` VARCHAR(128) COMMENT '库存组织ID', `planning_make_buy_code` VARCHAR(128) COMMENT '采购加工计划编码', `planner` VARCHAR(128) COMMENT '计划员', `make_planner` VARCHAR(128) COMMENT '加工计划员', `resource_dispatching` VARCHAR(128) COMMENT '资源调度员', `buyer` VARCHAR(128) COMMENT '采购员' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='供需匹配ITEM基础信息'; -- ---------------------------- -- Records of item_base_info -- ---------------------------- INSERT INTO `item_base_info` VALUES (1, '04053645-001', '0049831', '2', '李四 0002', '孙七 0005', '郑十 0008', '张三 0001'); INSERT INTO `item_base_info` VALUES (10, '04053645-001', '0023110', '2', '李四 0002', '王五 0003', '郑十 0008', '张三 0001'); INSERT INTO `item_base_info` VALUES (11, '04053645-001', '0056201', '2', '李四 0002', '王五 0003', '郑十 0008', '张三 0001'); INSERT INTO `item_base_info` VALUES (64, '29080095', '0049831', '1', '李四 0002', '王五 0003', '郑十 0008', '张三 0001'); INSERT INTO `item_base_info` VALUES (66, '29080095', '0056201', '1', '李四 0002', '孙七 0005', '郑十 0008', '张三 0001'); INSERT INTO `item_base_info` VALUES (70, '33651889', '0049831', '1', '李四 0002', '孙七 0005', '郑十 0008', '张三 0001'); INSERT INTO `item_base_info` VALUES (598, '29080097', '0056201', '1', '李四 0002', '孙七 0005', '郑十 0008', '张三 0001'); INSERT INTO `item_base_info` VALUES (599, '29080097', '0049831', '1', '李四 0002', '孙七 0005', '郑十 0008', '张三 0001'); INSERT INTO `item_base_info` VALUES (1665, '06433RCW', '0049831', '1', '周八 0006', '王五 0003', '吴九 0007', '李十二 0010'); INSERT INTO `item_base_info` VALUES (1759, '04862LLV', '0049831', '1', '周八 0006', '孙七 0005', '吴九 0007', '张三 0001'); INSERT INTO `item_base_info` VALUES (2901, '08605LLV', '0049831', '1', '周八 0006', '张十一 0009', '郑十 0008', '李十二 0010'); INSERT INTO `item_base_info` VALUES (3137, '09386LLV', '0049831', '1', '周八 0006', '张十一 0009', '郑十 0008', '李十二 0010');
-- ----------------------------
-- Table structure for item_supplier_transit_po
-- ----------------------------
DROP TABLE IF EXISTS `item_supplier_transit_po`;
CREATE TABLE `item_supplier_transit_po` (
`item_code` VARCHAR(500) COMMENT '物料编码',
`supplier_number` VARCHAR(500) COMMENT '供应商编码',
`organization_id` VARCHAR(500) COMMENT '库存组织',
`creation_date` DATE COMMENT '创建日期',
`po_qty_all` INT COMMENT '在途PO数量',
`id` INT COMMENT '主键'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
COMMENT='物料与供应商维度在途PO信息';
-- ----------------------------
-- Records of item_supplier_transit_po
-- ----------------------------
INSERT INTO `item_supplier_transit_po` VALUES ('04053645-001', '110054', '0049831', '2025-07-26', 13, 3126);
INSERT INTO `item_supplier_transit_po` VALUES ('04053645-001', '110063', '0023110', '2025-08-04', 6, 3135);
INSERT INTO `item_supplier_transit_po` VALUES ('04053645-001', '110064', '0056201', '2025-08-05', 7, 3136);
INSERT INTO `item_supplier_transit_po` VALUES ('04053645-001', '110011', 'INV_CN1', '2025-07-01', 10, 1);
-- ----------------------------
-- Table structure for matching_demand
-- ----------------------------
DROP TABLE IF EXISTS `matching_demand`;
CREATE TABLE `matching_demand` (
`contract_number` VARCHAR(128) COMMENT '合同号',
`delivery_batch_number` VARCHAR(128) COMMENT '批次号',
`demand_calculation_batch_id` VARCHAR(128) COMMENT '模拟计算批次ID',
`demand_item_code` VARCHAR(128) COMMENT '物料编码',
`demand_quantity` INT COMMENT '需求量',
`order_channel` VARCHAR(128) COMMENT '供应通道',
`available_supply_tag` VARCHAR(128) COMMENT '可用供应标签',
`available_supply_subinv` VARCHAR(128) COMMENT '可用供应子库',
`lead_time` INT COMMENT '提前期(天)',
`cpd` DATE COMMENT 'CPD',
`epd` DATE COMMENT '承诺交单日期',
`demand_organization_id` VARCHAR(128) COMMENT '库存组织ID',
`demand_id` VARCHAR(128) COMMENT '需求ID'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
COMMENT='供需匹配需求信息';
-- ----------------------------
-- Records of matching_demand
-- ----------------------------
INSERT INTO `matching_demand` VALUES ('8912187172FKIT', 'HWA00012', '1', '04862LLV', 181, 'C01', 'SPR', '11CX01,11CX02,11CX03', 3, '2025-09-16', '2025-08-27', '0049831', 'cx97');
INSERT INTO `matching_demand` VALUES ('8912187172FKIT', 'HWA00012', '1', '06433RCW', 173, 'C01', 'SPR', '11CX01,11CX02,11CX03', 2, '2025-09-19', '2025-08-27', '0049831', 'cx98');
INSERT INTO `matching_demand` VALUES ('8912187172FKIT', 'HWA00012', '1', '08605LLV', 116, 'C01', 'SPR', '11CX01,11CX02,11CX03', 4, '2025-09-12', '2025-08-25', '0049831', 'cx99');
INSERT INTO `matching_demand` VALUES ('8912187172FKIT', 'HWA00012', '1', '09386LLV', 33, 'C01', 'SPR', '11CX01,11CX02,11CX03', 1, '2025-09-16', '2025-08-25', '0049831', 'cx100');
INSERT INTO `matching_demand` VALUES ('5100812507030E', 'HWA0004S', '2642186', '29080097', 30, 'C11', 'A,C,BLANK', '11BP42,11AP02,11AP06,11BP09,11AP03', 2, '2025-08-25', '2025-08-23', '0049831', 'd5');
INSERT INTO `matching_demand` VALUES ('5100812507030E', 'HWA0004S', '2642186', '04053645-001', 120, 'C11', 'A,C,BLANK', '11BP42,11AP02,11AP06,11BP09,11AP03', 2, '2025-08-25', '2025-08-20', '0049831', 'd7');
INSERT INTO `matching_demand` VALUES ('5100812507030E', 'HWA0004S', '2642186', '29080095', 80, 'C11', 'A,C,BLANK', '11BP42,11AP02,11AP06,11BP09,11AP03', 3, '2025-08-25', '2025-08-30', '0049831', 'd9');
INSERT INTO `matching_demand` VALUES ('5100812507030E', 'HWA0004S', '2642186', '33651889', 2, 'C08', 'A', '11AP90,11AP98', 1, '2025-09-08', '2025-09-08', '0049831', 'd301');
-- ----------------------------
-- Table structure for matching_supply
-- ----------------------------
DROP TABLE IF EXISTS `matching_supply`;
CREATE TABLE `matching_supply` (
`supply_calculation_batch_id` VARCHAR(128) COMMENT '模拟计算批次ID',
`supply_item_code` VARCHAR(128) COMMENT '物料编码',
`supply_quantity` INT COMMENT '供应数量',
`supply_message` VARCHAR(128) COMMENT '供应信息',
`supply_tag` VARCHAR(128) COMMENT '供应标签',
`supply_date` DATE COMMENT '供应日期',
`supply_id` VARCHAR(128) COMMENT '供应ID'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
COMMENT='供需匹配供应信息';
-- ----------------------------
-- Records of matching_supply
-- ----------------------------
INSERT INTO `matching_supply` VALUES ('2642186', '04053645-001', 12, 'message', 'A,C', '2025-09-28', 's9');
INSERT INTO `matching_supply` VALUES ('2642186', '04053645-001', 12, '11AP02', NULL, '2025-09-20', 's7');
INSERT INTO `matching_supply` VALUES ('2642186', '29080097', 20, '11BP42', NULL, '2025-08-19', 's1');
INSERT INTO `matching_supply` VALUES ('2642186', '29080097', 100, '11AP02', NULL, '2025-08-19', 's3');
INSERT INTO `matching_supply` VALUES ('2642186', '29080097', 200, '0081235', NULL, '2025-08-30', 's5');
INSERT INTO `matching_supply` VALUES ('2642186', '29080097', 500, 'message', 'A', '2025-08-19', 's4');
INSERT INTO `matching_supply` VALUES ('2642186', '33651889', 490, '11AP90', NULL, '2025-11-08', 's21');
INSERT INTO `matching_supply` VALUES ('2642186', '04053645-001', 12, '11BP63', NULL, '2025-08-16', 's6');
INSERT INTO `matching_supply` VALUES ('2642186', '04053645-001', 20, '11BP64', NULL, '2025-08-28', 's8');
INSERT INTO `matching_supply` VALUES ('2642186', '29080095', 99999, '11BP42', NULL, '2025-08-19', 's10');
INSERT INTO `matching_supply` VALUES ('2642186', '29080095', 99999, '11AP03', NULL, '2025-08-20', 's11');
INSERT INTO `matching_supply` VALUES ('1', '06433RCW', 393, '11CX01', NULL, '2025-09-07', 'CX3860');
INSERT INTO `matching_supply` VALUES ('1', '06433RCW', 498, '11CX02', NULL, '2025-12-06', 'CX3861');
INSERT INTO `matching_supply` VALUES ('1', '06433RCW', 339, '11CX03', NULL, '2025-10-05', 'CX3862');
INSERT INTO `matching_supply` VALUES ('1', '06433RCW', 172, 'type1:001', 'SPR', '2025-09-16', 'CX3863');
INSERT INTO `matching_supply` VALUES ('1', '04862LLV', 202, '11CX01', NULL, '2025-12-28', 'CX5836');
INSERT INTO `matching_supply` VALUES ('1', '04862LLV', 131, '11CX02', NULL, '2025-10-12', 'CX5837');
INSERT INTO `matching_supply` VALUES ('1', '04862LLV', 471, '11CX03', NULL, '2025-10-27', 'CX5838');
INSERT INTO `matching_supply` VALUES ('1', '04862LLV', 289, 'type1:001', 'SPR', '2025-09-16', 'CX5839');
INSERT INTO `matching_supply` VALUES ('1', '08605LLV', 245, '11CX01', NULL, '2025-11-20', 'CX7858');
INSERT INTO `matching_supply` VALUES ('1', '08605LLV', 256, '11CX02', NULL, '2025-11-07', 'CX7859');
INSERT INTO `matching_supply` VALUES ('1', '08605LLV', 443, '11CX03', NULL, '2025-08-22', 'CX7860');
INSERT INTO `matching_supply` VALUES ('1', '08605LLV', 385, 'type1:001', 'SPR', '2025-09-10', 'CX7861');
INSERT INTO `matching_supply` VALUES ('1', '09386LLV', 184, '11CX01', NULL, '2025-11-29', 'CX8264');
INSERT INTO `matching_supply` VALUES ('1', '09386LLV', 393, '11CX02', NULL, '2025-10-25', 'CX8265');
INSERT INTO `matching_supply` VALUES ('1', '09386LLV', 436, '11CX03', NULL, '2025-08-31', 'CX8266');
INSERT INTO `matching_supply` VALUES ('1', '09386LLV', 72, 'type1:001', 'SPR', '2025-10-04', 'CX8267');
-- ----------------------------
-- Table structure for material_requirement_plan
-- ----------------------------
DROP TABLE IF EXISTS `material_requirement_plan`;
CREATE TABLE `material_requirement_plan` (
`item_number` VARCHAR(128) COMMENT 'ITEM编码',
`published_date` DATE COMMENT '发布日期',
`issue_flag` TINYINT(1) COMMENT '发布标志',
`creation_date` DATE COMMENT '创建日期',
`organization_id` VARCHAR(128) COMMENT '库存组织',
`planner` VARCHAR(128) COMMENT '计划员',
`buyer` VARCHAR(128) COMMENT '采购员',
`quantity_week1` INT COMMENT '数量第1周',
`quantity_week2` INT COMMENT '数量第2周',
`quantity_week3` INT COMMENT '数量第3周',
`quantity_week4` INT COMMENT '数量第4周',
`quantity_week5` INT COMMENT '数量第5周',
`quantity_week6` INT COMMENT '数量第6周',
`quantity_week7` INT COMMENT '数量第7周',
`quantity_week8` INT COMMENT '数量第8周',
`quantity_week9` INT COMMENT '数量第9周',
`quantity_week10` INT COMMENT '数量第10周',
`id` INT COMMENT '主键'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
COMMENT='物料需求计划';
-- ----------------------------
-- Records of material_requirement_plan
-- ----------------------------
INSERT INTO `material_requirement_plan` VALUES ('09386LLV', '2025-09-01', 1, '2025-07-01', 'INV_CN1', '孙七 0005', '赵六 0004', 123, 104, 120, 102, 146, 100, 148, 109, 122, 130, 10944);
INSERT INTO `material_requirement_plan` VALUES ('06433RCW', '2025-09-01', 1, '2025-07-01', 'INV_CN1', '孙七 0005', '吴九 0007', 74, 32, 22, 19, 0, 19, 25, 76, 24, 45, 11335);
INSERT INTO `material_requirement_plan` VALUES ('04862LLV', '2025-09-01', 1, '2025-07-01', 'INV_CN1', '王五 0003', '赵六 0004', 83, 43, 36, 25, 85, 87, 13, 59, 68, 96, 11479);
INSERT INTO `material_requirement_plan` VALUES ('08605LLV', '2025-09-01', 1, '2025-07-01', 'INV_CN1', '李四 0002', '吴九 0007', 46, 36, 14, 58, 33, 23, 44, 50, 53, 50, 11935);
INSERT INTO `material_requirement_plan` VALUES ('04053645-001', '2025-09-01', 1, '2025-06-01', 'INV_CN1', '孙七 0005', '张三 0001', 45, 30, 40, 60, 25, 25, 25, 30, 15, 30, 11944);
-- ----------------------------
-- Table structure for material_shortage_detail
-- ----------------------------
DROP TABLE IF EXISTS `material_shortage_detail`;
CREATE TABLE `material_shortage_detail` (
`wip_entity_id` VARCHAR(128) COMMENT '任务令ID',
`item_code` VARCHAR(128) COMMENT '物料编码',
`batch_no` VARCHAR(128) COMMENT '模拟批次',
`creation_date` DATE COMMENT '创建时间',
`flag_qt` VARCHAR(8) COMMENT '齐套标识',
`id` INT COMMENT '主键'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
COMMENT='欠料明细集成信息';
-- ----------------------------
-- Records of material_shortage_detail
-- ----------------------------
INSERT INTO `material_shortage_detail` VALUES ('1010009991', '29080095', '2642186', '2025-07-01', 'N', 1);
INSERT INTO `material_shortage_detail` VALUES ('2605892007', '06433RCW', '1', '2025-07-16', 'N', 1000018514);
INSERT INTO `material_shortage_detail` VALUES ('2312122087', '08605LLV', '1', '2025-07-23', 'Y', 1000085951);
INSERT INTO `material_shortage_detail` VALUES ('2535264469', '04862LLV', '1', '2025-07-19', 'N', 1000016548);
INSERT INTO `material_shortage_detail` VALUES ('2359325075', '09386LLV', '1', '2025-07-21', 'Y', 1000038074);
-- ---------------------------- -- Table structure for part_substitute_relation -- ---------------------------- DROP TABLE IF EXISTS `part_substitute_relation`; CREATE TABLE `part_substitute_relation` ( `id` INT NOT NULL COMMENT '主键ID', `item_code` VARCHAR(128) COMMENT '物料编码', `substitute_item_code` VARCHAR(128) COMMENT '替代物料编码', `substitute_reason` VARCHAR(128) COMMENT '替代原因', `substitute_limit` VARCHAR(128) COMMENT '替代条件限制', `delete_flag` TINYINT(1) COMMENT '删除标志', `creation_date` DATE COMMENT '创建日期', `enable_flag` VARCHAR(32) COMMENT '启用标志', `substitute_type` VARCHAR(32) COMMENT '替代类型' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='供应对象替代关系'; -- ---------------------------- -- Records of part_substitute_relation -- ---------------------------- INSERT INTO `part_substitute_relation` VALUES (1, '29080097', '29080100', '版本变更', '无', 0, '2025-03-01', '有效', '1'); INSERT INTO `part_substitute_relation` VALUES (744, '05651RCW', '06433RCW', '版本变更', '无', 0, '2025-02-01', '有效', '1'); INSERT INTO `part_substitute_relation` VALUES (1029, '02865LLV', '04862LLV', '版本变更', '无', 0, '2025-01-01', '有效', '1');
-- ----------------------------
-- Table structure for po_receive_detail
-- ----------------------------
DROP TABLE IF EXISTS `po_receive_detail`;
CREATE TABLE `po_receive_detail` (
`material_code` VARCHAR(128) COMMENT '物料编码',
`planner` VARCHAR(128) COMMENT '计划员',
`supplier_code` VARCHAR(128) COMMENT '供应商编码',
`po_buyer` VARCHAR(128) COMMENT '采购人',
`po_number` VARCHAR(128) COMMENT 'PO号',
`quantity_order` INT COMMENT 'PO下单量',
`quantity_rcv` INT COMMENT '到货数量',
`quantity_accepted` INT COMMENT '验收数量',
`id` INT COMMENT '主键'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
COMMENT='生产采购PO到货清单表';
-- ----------------------------
-- Records of po_receive_detail
-- ----------------------------
INSERT INTO `po_receive_detail` VALUES ('04053645-001', '孙七 0005', '110011', '张三 0001', 'CNHG2899988-1', 200, 80, 80, 1);
INSERT INTO `po_receive_detail` VALUES ('04053645-001', '李四 0002', '110054', '张三 0001', 'CNHG2902113', 350, 210, 210, 12126);
INSERT INTO `po_receive_detail` VALUES ('04053645-001', '李四 0002', '110063', '张三 0001', 'CNHG2902122', 300, 180, 180, 12135);
INSERT INTO `po_receive_detail` VALUES ('04053645-001', '李四 0002', '110064', '张三 0001', 'CNHG2902123', 50, 30, 30, 12136);
-- ---------------------------- -- Table structure for supplier_capacity_header -- ---------------------------- DROP TABLE IF EXISTS `supplier_capacity_header`; CREATE TABLE `supplier_capacity_header` ( `capacity_header_id` INT COMMENT '产能头主键ID', `supplier_number` VARCHAR(128) COMMENT '供应商编码', `item_category` VARCHAR(128) COMMENT '物料大类', `sub_item_category` VARCHAR(128) COMMENT '物料小类', `item_number` VARCHAR(128) COMMENT '物料编码', `total_capacity_quantity` INT COMMENT '总产能数', `used_capacity_quantity` INT COMMENT '已使用产能数', `hw_capacity_quantity` INT COMMENT '承诺产能数', `period_id` VARCHAR(128) COMMENT '期次' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='供应商产能信息头'; -- ---------------------------- -- Records of supplier_capacity_header -- ---------------------------- INSERT INTO `supplier_capacity_header` VALUES (1010000804, '110063', '电源线', '制式电源线', '04053645-001', 350, 300, 300, '202507'); INSERT INTO `supplier_capacity_header` VALUES (1020000357, '110054', '电源线', '制式电源线', '04053645-001', 400, 170, 350, '202508'); INSERT INTO `supplier_capacity_header` VALUES (1020000804, '110063', '电源线', '制式电源线', '04053645-001', 350, 145, 300, '202508'); INSERT INTO `supplier_capacity_header` VALUES (1010000357, '110054', '电源线', '制式电源线', '04053645-001', 400, 350, 350, '202507'); INSERT INTO `supplier_capacity_header` VALUES (1010001065, '110064', '电源线', '制式电源线', '04053645-001', 100, 50, 50, '202507'); INSERT INTO `supplier_capacity_header` VALUES (1020001065, '110064', '电源线', '制式电源线', '04053645-001', 100, 20, 50, '202508'); INSERT INTO `supplier_capacity_header` VALUES (1000000002, '110011', '电源线', '制式电源线', '04053645-001', 300, 100, 200, '202507'); INSERT INTO `supplier_capacity_header` VALUES (1000000001, '110011', '电源线', '制式电源线', '04053645-001', 300, 200, 200, '202506');
-- ---------------------------- -- Table structure for supplier_capacity_line -- ---------------------------- DROP TABLE IF EXISTS `supplier_capacity_line`; CREATE TABLE `supplier_capacity_line` ( `capacity_header_id` INT COMMENT '产能头主键ID', `supplier_number` VARCHAR(500) COMMENT '供应商编码', `capacity_period` VARCHAR(500) COMMENT '产能周期', `capacity_quantity` INT COMMENT '供应能力', `creation_date` DATE COMMENT '创建日期', `capacity_date` DATE COMMENT '产能日期', `delete_flag` TINYINT(1) COMMENT '删除标识', `id` INT COMMENT '主键' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='供应商产能信息行'; -- ---------------------------- -- Records of supplier_capacity_line -- ---------------------------- INSERT INTO `supplier_capacity_line` VALUES (1010000357, '110054', '202507', 350, '2025-07-01', '2025-07-10', 0, 101010457); INSERT INTO `supplier_capacity_line` VALUES (1010001065, '110064', '202507', 50, '2025-07-01', '2025-07-10', 0, 101011165); INSERT INTO `supplier_capacity_line` VALUES (1010000804, '110063', '202507', 300, '2025-07-01', '2025-07-10', 0, 101010904); INSERT INTO `supplier_capacity_line` VALUES (1020001065, '110064', '202508', 30, '2025-08-01', '2025-08-20', 0, 101017521); INSERT INTO `supplier_capacity_line` VALUES (1000000002, '110011', '202507', 100, '2025-07-01', '2025-07-10', 0, 3); INSERT INTO `supplier_capacity_line` VALUES (1000000002, '110011', '202507', 100, '2025-07-01', '2025-07-20', 0, 4); INSERT INTO `supplier_capacity_line` VALUES (1020000357, '110054', '202508', 180, '2025-08-01', '2025-08-20', 0, 101016813); INSERT INTO `supplier_capacity_line` VALUES (1020000804, '110063', '202508', 155, '2025-08-01', '2025-08-20', 0, 101017260); INSERT INTO `supplier_capacity_line` VALUES (1000000001, '110011', '202506', 100, '2025-06-01', '2025-06-10', 0, 1); INSERT INTO `supplier_capacity_line` VALUES (1000000001, '110011', '202506', 100, '2025-06-01', '2025-06-20', 0, 2);
-- ----------------------------
-- Table structure for supply_chain_consultation
-- ----------------------------
DROP TABLE IF EXISTS `supply_chain_consultation`;
CREATE TABLE `supply_chain_consultation` (
`task_id` VARCHAR(128) COMMENT '任务ID,每个任务的唯一标识',
`contract_no` VARCHAR(128) COMMENT '合同号',
`batch_no` VARCHAR(128) COMMENT '批次号',
`rpd` DATE COMMENT '要求生产交单日期',
`supply_manager` VARCHAR(255) COMMENT '供应经理',
`cpd` DATE COMMENT '系统交单日期',
`handler` VARCHAR(128) COMMENT '处理人',
`result` VARCHAR(500) COMMENT '提拉结论'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
COMMENT='供应链伙伴咨询协同单据表';
-- ----------------------------
-- Records of supply_chain_consultation
-- ----------------------------
INSERT INTO `supply_chain_consultation` VALUES ('SYSTEM_970', '5100812507030E', 'HWA0004S', '2026-07-07', '赵十四 0012', '2026-07-15', '张三 0001', NULL);
INSERT INTO `supply_chain_consultation` VALUES ('SYSTEM_970', '5100812507030E', 'HWA0004S', '2026-07-07', '赵十四 0012', '2026-07-15', '张三 0001', NULL);
INSERT INTO `supply_chain_consultation` VALUES ('0025713', '5100812507030E', 'HWA0004S', '2025-08-30', '王十三 0011', '2025-09-09', '张三 0001', NULL);
INSERT INTO `supply_chain_consultation` VALUES ('SYSTEM_12', '8912187172FKIT', 'HWA00012', '2025-09-05', '孙十五 0013', '2025-09-15', '张三 0001', NULL);
INSERT INTO `supply_chain_consultation` VALUES ('SYSTEM_957', '5100812507030E', 'HWA0004S', '2026-05-18', '孙十五 0013', '2026-05-28', '张三 0001', NULL);
-- ----------------------------
-- Table structure for work_order_capacity_consumption
-- ----------------------------
DROP TABLE IF EXISTS `work_order_capacity_consumption`;
CREATE TABLE `work_order_capacity_consumption` (
`item_code` VARCHAR(128) COMMENT '物料编码',
`capacity` INT COMMENT '总产能',
`consumed_capacity` INT COMMENT '已消耗产能',
`remain_capacity` INT COMMENT '剩余产能',
`consume_start_date` DATE COMMENT '消耗开始时间',
`consume_end_date` DATE COMMENT '消耗结束时间',
`creation_date` DATE COMMENT '创建时间',
`routing_id` INT COMMENT '工艺路线ID',
`operation_sort` INT COMMENT '工序号',
`id` INT COMMENT '主键'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
COMMENT='任务令产能消耗';
-- ----------------------------
-- Records of work_order_capacity_consumption
-- ----------------------------
INSERT INTO `work_order_capacity_consumption` VALUES ('29080097', 129, 0, 152, '2025-08-10', '2025-08-28', '2025-08-10', 2025688979, 1, 100065019);
INSERT INTO `work_order_capacity_consumption` VALUES ('29080097', 47, 0, 110, '2025-08-14', '2025-09-12', '2025-08-14', 2785234062, 1, 100016492);
INSERT INTO `work_order_capacity_consumption` VALUES ('09386LLV', 28, 0, 149, '2025-08-14', '2025-08-20', '2025-08-14', 2763292129, 1, 100028154);
INSERT INTO `work_order_capacity_consumption` VALUES ('06433RCW', 149, 0, 197, '2025-08-24', '2025-09-12', '2025-08-24', 2940871981, 1, 100079243);
INSERT INTO `work_order_capacity_consumption` VALUES ('08605LLV', 142, 3, 200, '2025-07-11', '2025-07-28', '2025-07-11', 2975270231, 1, 100034368);
INSERT INTO `work_order_capacity_consumption` VALUES ('04862LLV', 186, 25, 158, '2025-07-18', '2025-07-27', '2025-07-18', 2635296438, 1, 100035080);
INSERT INTO `work_order_capacity_consumption` VALUES ('33651889', 193, 0, 108, '2025-07-26', '2025-08-19', '2025-07-26', 2300182694, 1, 100037758);
-- ----------------------------
-- Table structure for work_order_info
-- ----------------------------
DROP TABLE IF EXISTS `work_order_info`;
CREATE TABLE `work_order_info` (
`work_order_id` VARCHAR(128) COMMENT '任务令ID',
`assembly_item_code` VARCHAR(128) COMMENT '加工件编码',
`plan_end_date` DATE COMMENT '计划加工时间',
`actual_end_date` DATE COMMENT '实际完工时间',
`planner` VARCHAR(128) COMMENT '加工计划员',
`plan_quantity` INT COMMENT '计划加工数量',
`completed_quantity` INT COMMENT '完工数量',
`work_order_type` VARCHAR(32) COMMENT '任务令类型',
`work_order_publish_status` VARCHAR(32) COMMENT '任务令发布状态',
`work_order_issue_status` VARCHAR(32) COMMENT '任务令发料状态',
`routing_sequence_id` VARCHAR(128) COMMENT '工艺路线ID'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
COMMENT='任务令头基本信息';
-- ----------------------------
-- Records of work_order_info
-- ----------------------------
INSERT INTO `work_order_info` VALUES ('2535264469', '04862LLV', '2025-07-18', NULL, '周八 0006', 201, 25, '标准加工', 'Y', '发料中', '2635296438');
INSERT INTO `work_order_info` VALUES ('2678331781', '29080097', '2025-08-14', NULL, '李四 0002', 80, 0, '标准加工', 'Y', '未发料', '2785234062');
INSERT INTO `work_order_info` VALUES ('2359325075', '09386LLV', '2025-08-14', NULL, '周八 0006', 85, 0, '标准加工', 'Y', '未发料', '2763292129');
INSERT INTO `work_order_info` VALUES ('2605892007', '06433RCW', '2025-08-24', NULL, '周八 0006', 136, 0, '标准加工', 'Y', '未发料', '2940871981');
INSERT INTO `work_order_info` VALUES ('2312122087', '08605LLV', '2025-07-11', NULL, '周八 0006', 69, 3, '标准加工', 'Y', '发料中', '2975270231');
INSERT INTO `work_order_info` VALUES ('2634204338', '29080097', '2025-08-10', NULL, '李四 0002', 60, 0, '标准加工', 'Y', '未发料', '2025688979');
INSERT INTO `work_order_info` VALUES ('1010009991', '29080095', '2025-07-15', NULL, '王五 0003', 90, 80, '标准加工', 'Y', '发料中', '1010011111');
INSERT INTO `work_order_info` VALUES ('2716565133', '33651889', '2025-07-26', NULL, '李四 0002', 272, 0, '标准加工', 'Y', '未发料', '2300182694');






