乐于分享
好东西不私藏

一张采购对账表,怎么变成 AI 小工具

一张采购对账表,怎么变成 AI 小工具

上一篇文章我写到,行政部门很多 AI 场景,其实藏在每天重复处理的 Excel 里。

那篇文章里提到过一个采购对账的例子,但只是点到为止。今天我想把这个场景单独拆开讲一讲。

采购对账这个活很典型。

它不是让 AI 帮忙写一段话,也不是让 AI 总结一个文件。它牵扯到两边系统的明细、采购订单、行号、数量、开票状态,还要决定哪些可以直接进入结果表,哪些必须拿出来让人复核。

如果业务同事只说一句:“帮我做个采购对账工具。”

AI Agent 也许能很快搭出一个页面,但字段取错、辅助列当成原始列、异常边界漏掉,后面一定会反复返工。

这不是代码写得快不快的问题。

问题在于:你每天坐在电脑前怎么对这张表,AI 一开始并不知道。

你先看哪张表,哪几列是原始字段,哪几列是后来加的辅助列,用什么字段拼编码,数量差多少要单独拎出来,哪些情况可以进可开票明细,哪些情况必须让人再看一眼。

这些不说清楚,工具就会按它理解的一套处理,和你手上真正的对账动作对不上。

后来这个工具真的做出来以后,我反而觉得首屏不用设计得很复杂。

它只要把三件事摆清楚:业务同事上传哪张表,旁边能看到这张表会按哪些规则处理,结果区能看到最后生成哪些明细和汇总。

所以页面上最显眼的那句话就是:上传一张表,自动生成两张可开票明细。

右边也不写大而全的功能介绍,就把规则执行顺序摆出来:先按采购订单号和行号分组,再过滤数量差异,最后输出结果工作簿。

这比在需求文档里写一堆“自动对账”“自动识别”更实在。人一看就知道,这个工具不是靠模型自己判断,而是在执行一套已经说清楚的对账规则。

不是“帮我对一下”

采购对账这类表,表面上看就是两份明细互相核一核:这边有没有,那边有没有,数量对不对,最后能不能开票。

但一打开文件就能看到,麻烦不在“看一眼”。

麻烦在字段名不一样,系统口径不一样,有些列是系统原始导出来的,有些列是业务同事为了方便核对后来加的。表里还会混着公式列、备注列、历史判断列,外人第一次打开,很难马上分清哪些能作为输入,哪些只是这一次处理留下来的痕迹。

AI 也是一样。

你把一份已经处理过的 Excel 给它,它会看到很多列,但它不知道这些列是系统导出来的,还是你为了对账手工加的。

比如对账时常见的辅助列:采购订单号+行号交货单号+行号物料凭证号+行号数量差异是否开票

这些列对人工对账很有用,但它们不一定存在于下一次重新导出的原始明细里。

如果工具把这些列当成原始输入,下次只拿到未加工的表,关键列就找不到,结果也会跟着偏。

所以做采购对账小工具,第一步不是生成页面,也不是急着写代码。

第一步是把表拆清楚。

先把三类东西拆开

我现在看这类表,会先把问题问得细一点。不是简单问“这个表有什么字段”,而是先把三类东西分开。

第一类,是每个月都会重新导出的原始输入。

比如 SAP 侧有哪些 sheet,SRM 侧有哪些 sheet;每张 sheet 里哪些字段来自系统原表;采购订单号、行号、物料、数量、交货单号、物料凭证号分别叫什么。字段名字可以不一样,但业务含义要对上。

这里最怕的是只看列名。

有些字段名字看起来接近,但业务含义不一样;有些字段名字不一样,但实际指向同一件事。这个时候要让业务同事把“我平时到底用哪两列拼编码”说出来,而不是让工具自己从列名里推。

第二类,是人工处理过程中加出来的东西。

比如把采购订单号和行号拼成一个编码,把交货单号和行号拼成另一个编码,再用这些编码去查另一张表。还有数量差异、是否开票、异常原因,这些很多时候不是原始输入,而是人处理过程中一步步算出来的。

这些列不是不能用。

恰恰相反,它们很重要。因为它们暴露了业务同事平时怎么判断。

但做工具时要多问一句:下次原始表里有没有这一列?如果没有,工具能不能自己生成?生成规则是什么?用哪两列拼?行号要不要补零?空值怎么处理?

第三类,是最后要交付出去的结果。

是只要一张可开票明细,还是要同时输出异常明细、汇总表、对不上原因?字段顺序要不要固定?表头和格式要不要保留?文件名有没有命名规则?结果要给采购看,还是要给财务复核?

这三个问题问完,需求才从“帮我对一下”变成一件具体的事:

从 SAP 和 SRM 的原始明细里,自动生成必要的辅助编码,按采购订单号和行号匹配,再核数量。能确认的进入可开票明细,不能确认的进入异常明细。

提示词 1:先让 AI 看懂表

这一步我不会让 AI 先写代码。

先让它把工作簿看明白,尤其要分清输入表、结果表、原始字段和人工辅助字段。

正文里不再铺大段代码块,我把可直接参考的提示词做成了卡片:

这一步看起来慢,其实能少很多返工。

如果一开始就把结果表当成输入表,把公式列当成原始列,后面页面做得再漂亮,也只是把错误包装得更好看。

提示词 2:把辅助列拆出来

这个案例里,辅助列很关键。

它们不是系统原始字段,但能看出业务同事平时怎么对账。比如采购订单号和行号怎么拼、数量差异怎么来、是否开票这一列到底是谁算出来的。

所以第二步,我会让 AI 专门把这些列拆出来,而不是把整张表当成一堆普通字段处理。

这一段提示词很适合给业务同事看。

因为很多时候,业务同事并不是不知道规则,而是没有意识到“我后来加的这几列”也要写进需求里。

把人工动作说出来

很多业务同事不是不会讲。

他每天都在做这件事,手上很熟。

真正麻烦的是:让他一口气写成需求文档,他可能没耐心,也不知道该从哪里写。

这时候我反而建议先别写,先说。

用 Typeless、闪电书这类语音输入工具,把自己平时怎么对账从头到尾说一遍:我先打开哪张表,我会看哪几列,这两列要拼成什么编码,拼完以后去另一张表查什么,数量一致时怎么处理,数量不一致时怎么处理,碰到重复、缺失、空值时怎么办,最后要生成哪几张表、给谁看。

类似这样一段口语,其实就已经很有用:

SAP 这边有采购凭证和采购凭证项目号,这两个要拼成采购订单号加行号;SRM 这边用采购订单号和采购订单行号拼成同样的编码。两边编码能对应上以后,再看数量差异。数量一致的进入可开票明细;数量不一致、缺失、重复匹配的,不要自动放进结果表,要放到异常里让人复核。

这段话如果靠打字,很多人嫌麻烦。

但用语音说出来,反而很自然。

说完以后,再让 AI 帮你整理成结构化规则。

业务人员负责把真实动作讲出来,AI 负责把这些话整理成能继续往下做的说明。

这比让业务同事憋半天写一段“请帮我实现采购对账自动化”要现实得多。

对账规则要写到能验收

采购对账里,有一条边界要守住:AI 不能替业务拍板。

能开票还是不能开票,不能让模型看着两行数据说“我觉得可以”。

它能做的是按你说清楚的规则执行。

比如这次对账,关键就落在“采购订单号 + 行号”上。

两边系统字段名可能不一样,一边叫采购凭证和项目号,另一边叫采购订单号和订单行号。名字不一样没关系,业务含义能对上就行。

工具要先从两边原始字段里拼出同一类关键编码,再拿这个编码去匹配。

匹配上以后,再看数量。

数量一致,而且没有重复、缺失、冲突,就可以进入可开票明细。

一边有一边没有、数量不一致、同一个编码匹配到多行,或者出现人都需要停下来看的情况,就不要硬判,直接放到异常明细里。

这一步看起来保守,但对业务更安全。

工具不是为了显得聪明,而是为了把确定的事情按固定规则处理完,把不确定的事情摆在明处。

所以需求里不能只写“判断是否开票”。

我会把它写成两条很硬的规则:采购订单号加行号在两边都存在,并且数量一致,才进入可开票明细;只在一边存在、数量不一致、重复匹配或无法唯一确认,就进入异常明细,并写明异常原因。

写到这一步,后面才好验收。

因为你可以拿旧样例去对:哪些应该进可开票明细,哪些应该进异常明细,数量合计对不对,异常原因有没有写清楚。

提示词 4:整理成规则说明

人工动作说完以后,我会让 AI 先生成一份规则说明,而不是直接写页面。

这份规则说明后面可以交给 Codex、WorkBuddy、Trae、CodeBuddy 这类工具继续用。

有了这份文档,后面做工具才不是一边写一边补口径。

可以直接按这个模板写

如果你手上也有类似的对账表,可以先不用想工具怎么做。

先把需求写成下面这个顺序:

  1. 我现在手工在做什么:现在每次对账从哪张表开始,依次做哪些动作。
  2. 输入文件是什么:所有输入文件、子表名、关键字段,哪些字段是系统原始导出的。
  3. 人工辅助列有哪些:平时自己新增的编码列、公式列、判断列,每一列怎么生成。
  4. 匹配规则是什么:按哪个字段或组合字段匹配,字段名不一致时业务含义怎么对应。
  5. 可开票规则是什么:什么情况进入可开票明细,比如两边都存在、唯一匹配、数量一致。
  6. 异常情况怎么处理:数量不一致、一边缺失、重复匹配、空值、无法判断时,分别放到哪里。
  7. 输出结果是什么:可开票明细、异常明细、汇总表等,每张表需要哪些字段和格式。
  8. 验收样例是什么:提供一份人工处理过的正确结果,对比行数、数量合计、开票状态、异常原因和输出格式。

这个模板不复杂,但它能把需求拉回到具体动作上。

如果第 2、3、4、5、6 条讲不清楚,工具先别急着做。否则做完以后还会反复改。

提示词 5:先做测试,不要先做页面

很多人做 AI 小工具,容易一上来就说:做一个网页,上传 Excel,然后下载结果。

页面当然重要,但不是第一步。

第一步应该是验证规则。

在这个采购对账案例里,我更愿意先让 AI 写测试脚本。旧样例、新样例、删除辅助列后的样例,都要对一遍。

这一步的意义是:先证明工具算得对。

如果没有测试,页面做得再好看,也可能只是看上去能用。

用旧样例验收

采购对账工具做完以后,不能只看界面好不好看。

也不能只看它生成了一张结果表,就觉得完成了。

我更愿意用旧样例验收。

找一份以前人工处理过、结果已经确认的样例。把里面人工新增的辅助列先拿掉,只保留新月份也会导出的原始字段。

然后让工具执行一次。

它能不能自动生成编码?

能不能按规则匹配?

可开票明细对不对?

异常明细有没有漏?

数量合计、行数、开票状态、异常原因,能不能和人工结果对上?

这些都对得上,才说明工具真的读懂了规则。

我这次工具执行完以后,结果区没有做花哨展示,只放了几类最该看的东西:两边可开票行数、两边可开票数量、编码来源,还有被跳过的行。

这些数字不是为了给文章凑“战绩”,而是为了让业务同事能复核。

比如看到两边数量一致,心里会踏实一点;看到有多少行被跳过,也知道后面要不要回头查原表。这里的数字留在截图里,正文不展开成公开结论;真实 sheet 名里的敏感字眼已经打码处理。

如果对不上,就先回去看需求说明。

是不是某个辅助列没说清楚?

是不是字段名对应错了?

是不是异常边界漏了一种情况?

是不是验收口径变了,但没有同步写进规则?

对账工具最怕的不是一开始做得慢,而是规则没写清楚就上线,后面每个月都靠人盯着补锅。

提示词 6:测试通过后,再做网页工具

规则说明和测试都过了,再让 AI 做网页工具。

这时提示词就可以写得很具体:页面上传什么文件,内部先做哪些预处理,最后生成哪些明细和汇总,界面上显示哪些复核指标,下载结果时不要覆盖原始文件。

这个提示词在 Codex 里可以直接用。

在 WorkBuddy、Trae、CodeBuddy 这类工具里,也可以按同样思路使用。差别只是工具界面不同,核心输入仍然是这些规则。

先把手上的规则讲明白

这个采购对账案例给我最大的提醒是:很多业务部门的 Excel 工作,并不是没有规则。

相反,它们规则很明确。

只是这些规则长期藏在人工筛选里、Excel 公式里、老员工经验里,也藏在每个月重复做的动作里。

AI 真正能帮上的地方,不是替业务人员做开票判断,而是帮业务人员把这些规则摊开、写清楚,变成测试,再变成一个可以反复使用的小工具。

这件事不要求业务人员一开始就会编程。

第一步只需要做一件事:把你每天怎么处理这张表讲清楚。

可以打字。

也可以用 Typeless、闪电书这样的语音输入说出来。

然后让 AI 帮你整理规则、生成测试、实现工具。

下次再遇到一张采购对账表,不要先问:AI 能不能帮我做个工具?

可以先问一个更具体的问题:

如果今天来一个新同事,我能不能把这张表怎么对、怎么判断、怎么验收,讲到他照着做也不容易出错?

如果能讲到这个程度,AI 才真的有机会把它做顺。

附上今日运动打卡🏃我是活人:

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-04 12:53:54 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/703302.html
  2. 运行时间 : 0.624732s [ 吞吐率:1.60req/s ] 内存消耗:4,917.13kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=641cfd7dfa92e2b9d2ab3984f498a96e
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000612s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000864s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.106237s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.100733s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001004s ]
  6. SELECT * FROM `set` [ RunTime:0.100580s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000942s ]
  8. SELECT * FROM `article` WHERE `id` = 703302 LIMIT 1 [ RunTime:0.036962s ]
  9. UPDATE `article` SET `lasttime` = 1780548834 WHERE `id` = 703302 [ RunTime:0.043853s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000511s ]
  11. SELECT * FROM `article` WHERE `id` < 703302 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000569s ]
  12. SELECT * FROM `article` WHERE `id` > 703302 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000473s ]
  13. SELECT * FROM `article` WHERE `id` < 703302 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.068963s ]
  14. SELECT * FROM `article` WHERE `id` < 703302 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.050013s ]
  15. SELECT * FROM `article` WHERE `id` < 703302 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.028211s ]
0.626474s