ai_op_queue.sql
2.2 KB
-- ai_op_queue:AI 写操作暂存表(人在环 HITL 写入闭环)。
-- ProposeWrite 只写 draft;用户在对话内点【确认】后,确定性 confirm 端点才执行。
-- 覆盖 update / create / delete / examine / generate(sOpType 区分)。
-- update/delete/examine:用 sTargetBillId 指向目标记录;改字段用 sField/sNewValue。
-- create/generate:整表 payload 存 sPayload(列->值 JSON);generate 的源引用存 sSourceRef。
-- bAutoExecute=1(如报价)→ ERP 确认后自动执行并回 sResultBillId;=0 → 预填表单让用户手动提交。
CREATE TABLE IF NOT EXISTS ai_op_queue (
sId varchar(64) NOT NULL PRIMARY KEY, -- 操作/深链 token
sUserId varchar(64),
sConversationId varchar(96),
sBrandsId varchar(32),
sSubsidiaryId varchar(32),
sOpType varchar(16), -- update | create | delete | examine | generate
sTargetFormId varchar(64),
sTargetModuleId varchar(64),
sTargetTable varchar(64),
sTargetBillId varchar(64), -- 目标记录 sId(update/delete/examine 用)
sField varchar(64), -- 目标列(技术名)
sFieldLabel varchar(128), -- 目标列中文名
sOldValue varchar(500),
sNewValue varchar(500),
sPayload text, -- create/update 的列->值 JSON(整表写入)
sSourceRef text, -- generate:源表单 + 选中明细 sId 集合 JSON
bAutoExecute tinyint NOT NULL DEFAULT 0, -- 1=ERP 确认后自动执行;0=预填表单等用户提交
sDescription varchar(500), -- 人类可读的改动描述
sStatus varchar(16), -- draft | confirmed | executing | executed | failed | cancelled | expired
sResultBillId varchar(64), -- 执行后生成/影响的单据 id
sResultMsg varchar(500),
sErrorMsg varchar(1000),
tCreateDate datetime,
tConfirmDate datetime,
tExecutedDate datetime,
tExpireAt datetime,
KEY idx_conv (sConversationId, sStatus)
);