-- ai_op_queue:AI 写操作队列(rearch3 §3:**AI 侧唯一的写入口**)。 -- 用户在预览卡/表单上点按钮(保存/审核/作废/…)→ xlyAi 校验后落一行 sStatus='confirmed'。 -- xlyAi 工作到此为止:执行/审计由 ERP 侧负责(暂存执行器 /ai/execStaging 读本表; -- 现状=报价自动执行、其余进待办)。覆盖 update / create / delete / examine / invalid(sOpType 区分)。 -- update:sTargetBillId + sField/sNewValue(单字段;一次保存多字段 = 多行)。 -- invalid:sNewValue 存 handleType(toVoid=作废 / cancel=复原);examine:sNewValue 存 iFlag(1/0)。 -- create:整表 payload 存 sPayload(列->值 JSON,多表用 __tables__)。 -- 列名兼容:ERP 执行器仍读 sUserId → sMakePerson(ERP 惯例)双写,ERP 侧切换后可删 sUserId。 CREATE TABLE IF NOT EXISTS ai_op_queue ( sId varchar(64) NOT NULL PRIMARY KEY, -- 操作/深链 token sUserId varchar(64), -- 旧列(ERP 执行器在读,暂保留) sMakePerson varchar(64), -- 新列(ERP 惯例;与 sUserId 双写) 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) );