当前位置:首页>Excel>狼叔造了个小小小工具:每月手工拼半天Excel,现在5分钟搞定——奖罚通知自动生成器

狼叔造了个小小小工具:每月手工拼半天Excel,现在5分钟搞定——奖罚通知自动生成器

  • 2026-06-30 04:24:31
狼叔造了个小小小工具:每月手工拼半天Excel,现在5分钟搞定——奖罚通知自动生成器
2026-06-07-奖罚通知自动生成器_2026-06-10_10-45-03

序言:那个永远对不齐的Excel

“狼叔,这个月的奖罚通知我实在对不上了。”

月初的周三,何姐把三个文件摊在我面前,表情像刚打了一场败仗。她是质管办的资深干事,做事极细致,但每个月做奖罚通知的那天,办公室气压都特别低。

“你看——”她指着屏幕,“全院质控汇总表里有32个科室,迟交汇总表科室名是另一个写法,通报里又是另一种。光是把‘呼吸与危重症医学科’对齐到‘呼吸内科’,我就得一个一个找。更别说门诊乙级每份100、终末乙级每份200、优秀奖励每份300、迟交按天算、质控医生每人200、不良事件每例30——六七种规则,每一条都要对着Excel一行一行算。”

她揉了揉眼睛:“我从早上九点干到现在,还有一半没弄完。最怕的是什么你知道吗?不是累,是怕算错。因为这是真的涉及钱的——算错了,经管办按这个发工资,科室找上门来,你说不清。”

我看着她屏幕上密密麻麻的三个窗口——质控汇总、迟交表、通报文档,像三个互相不认识的人,在各自的格子里说着不同的语言。

这件事,难道不应该是机器干的吗?


一、痛点:月度奖罚的“三费困境”

质管办每个月月初要出一个文件:《质管办质量奖罚汇总表》。这份文件直接交给经管办,作为当月绩效工资的依据之一。

它涉及的内容非常多:

  • 病历奖惩: 门诊乙级扣100元/份,环节乙级扣100元/份,终末乙级扣200元/份,优秀奖励300元/份
  • 迟交扣罚: 按迟交天数×50元
  • 质控医生奖励: 200元/人
  • 不良事件上报: 30元/例
  • 单病种上报: 按实际奖励

数据来源是三个不同的文件:

  1. 全院质控汇总。xlsx — 质控医生评的每一份病历的评级
  2. 出院病历迟交汇总表。xlsx — 病案室统计的迟交情况
  3. 医疗质量安全管理通报。docx — 质控医生和不良事件的奖励名单

输出要覆盖34个科室的详细表(Sheet1)和49个科室的汇总表(Sheet2),格式要适合A4纸打印,领导签字栏要留空白。

我总结这叫月度奖罚的“三费困境”

第一,费时。 三个源文件,格式各不相同,Excel、Word混搭。光是把数据从各自表格里提取出来,再按34个科室一一对齐,熟练工也要干半天。碰到科室名称写法不一致——“呼吸与危重症医学科”对应“呼吸内科”、“肛肠科(中医科二)主院区”对应“中西医结合肛肠科”——还得靠人脑映射。

第二,费眼。 六七条计算规则混在一起,每一条涉及的源数据位置还不一样。门诊乙级看质控汇总的第几列,迟交金额看迟交表的第几列,优秀标记又在另一列。眼睛在三张表之间反复横跳,一下午下来比做三台手术还累。

第三,费心。 这是钱的问题。一个科室少算了100块,科室主任拿着绩效单来找你;多算了200块,经管办说数据不对退回来重做。而且,只有一个人做,没有人审核——第二个人想审也审不了,因为他不知道你的计算过程。一个人做的表,只有一个人知道对不对

说白了,这东西规则是死的,格式是固定的,每个月都要来一遍——这完全是机器最擅长的事。但过去几年,我们一直在用人力做机器该做的事。


二、破局:让规则被写进代码,而不是记在脑子里

我想起一个概念——"自动化偏见"的反面。

通常说的自动化偏见是指“人过度信任机器的判断”。但在医院质控场景里,情况恰好相反:我们有大量本该自动化却没有自动化的工作。不是我们不想,而是“没人写那个程序”。

就像月度奖罚这件事,本质上是一个确定性计算

  • 规则是明确的(门诊乙级 = 100元,终末乙级 = 200元……)
  • 输入是固定的(三个源文件)
  • 输出格式是固定的(34科室详表 + 49科室汇总,A4打印)

没有任何需要“人脑判断”的地方。那为什么还要人来做?

想了十分钟,我在纸上画了三步:

上传三个文件 → 程序按规则计算 → 输出A4格式Excel

然后打开VS Code,开始写代码。

技术方案非常轻:Python Flask 做Web界面,openpyxl 读写Excel,python-docx 解析Word里的表格。前端就是一个上传页面,连CSS框架都没用——因为不需要。


三、项目速览:奖罚通知生成器

奖罚通知生成器是一个Web工具,功能一句话:上传三个源文件,一键生成适合A4纸打印的奖罚通知Excel。

2026-06-07-奖罚通知自动生成器_2026-06-10_10-49-32

整个工具长什么样?

一个浏览器页面,三个上传框,一个“生成奖罚通知”按钮。你上传:

  1. 全院质控汇总。xlsx
  2. 出院病历迟交汇总表。xlsx
  3. 医疗质量安全管理通报。docx

点击按钮,十几秒后下载一个排版好的Excel文件。

输出文件包含两个Sheet:

Sheet
内容
覆盖范围
Sheet1
病历奖惩明细 + 质控医生奖励 + 不良事件奖励 + 单病种奖励 + 奖罚合计 + 领导签字栏
34个临床科室
Sheet2
全院汇总(含社康)
49个科室

涉及的7条计算规则全部内置:

项目
金额
数据来源
门诊乙级
100元/份
全院质控汇总
环节乙级
100元/份
全院质控汇总
终末乙级
200元/份
全院质控汇总
优秀奖励
300元/份
全院质控汇总(第13列)
迟交扣罚
天数×50
迟交汇总表
质控医生
200元/人
质量通报(表格16)
不良事件
30元/例
质量通报(表格17)
2026-06-07-奖罚通知自动生成器_2026-06-10_11-00-09

技术栈:Python Flask + openpyxl + python-docx,代码不到500行,跑在本地浏览器,不需要联网,不需要装数据库。


四、亮点细说:三个设计让我自己都觉得舒坦

4.1 科室名称自动映射——告别“人脑翻译”

这是整个工具最实用的功能,没有之一。

医院的科室名称是出了名的混乱。同一个科室,在质控汇总表里叫“呼吸与危重症医学科”,在奖罚模板里叫“呼吸内科”;在HIS系统里叫“肛肠科(中医科二)主院区”,在模板里叫“中西医结合肛肠科”。更麻烦的是,有些病区要合并——比如“眼科”和“眼科盐港院区”,在奖罚模板里统称“眼科”。

以前人工做表的时候,这是最耗时的步骤——34个科室,一个一个人脑翻译,翻完还要数一遍有没有漏。

现在程序内置了一个科室名称映射字典,40多个映射关系全部写死在代码里。不管你源文件里的科室叫什么,程序自动翻译成模板里的标准名称,同名科室的金额自动合并。

1
2
3
'呼吸与危重症医学科' → '呼吸内科''肛肠科(中医科二)主院区' → '中西医结合肛肠科''耳鼻咽喉科盐港院区' + '耳鼻咽喉科' → '耳鼻喉科'(合并)

这意味着:源文件怎么写都行,输出永远是一致的。

4.2 Excel公式内嵌——不是死数据,而是活表格

一般的自动化工具生成Excel,就是把算好的数字填进格子里。表面看起来没问题,但有个隐患:数字是死的。

万一领导说“这个科室的乙级数你再核实一下”,你只能回到三个源文件里重算。

我做的这个工具,生成的Excel里嵌入了SUM公式。每一列的汇总行不是硬编码的数字,而是 =SUM(C4:C36) 这样的实时公式。

2026-06-07-奖罚通知自动生成器_2026-06-10_11-01-40

这意味着:

  • 打开Excel就能看到公式逻辑
  • 任何一个数字都可以追溯到计算公式
  • 经管办的人可以自己验证——不是“你说多少就是多少”

4.3 源数据“三合一”——一个页面搞定全部输入

这是Web界面设计上的一个小心思。

传统的数据处理脚本,要么在命令行指定文件路径,要么在代码里硬编码文件名。但质管办的源文件名每个月都在变——“2026年3月全院质控汇总。xlsx”、“2026年4月……”。每次改文件名都要改代码,很不方便。

我用Flask做了一个极简的Web界面:三个上传框,一个按钮。文件名随便叫什么,拖进去就认。不需要记命令行,不需要改代码。质管办任何一个同事打开浏览器就能用。

更关键的是,上传→处理→下载全都在本地完成,文件不会上传到任何服务器。信息安全这一点,在医院是底线。


五、落地效果:从半天到5分钟

这个工具上线后,最直观的变化是:

变化一:时间从“半天”变成“5分钟”。 何姐第一次试用的时候,上传三个文件,点生成,十几秒后下载了Excel。她打开看了三十秒,说了一句话:“狼叔你要是早做这个,我这几年少受多少罪。”

变化二:不再怕“错了”。 以前做完表,心里是悬的——不知道哪个科室的数字多看了一个零。现在程序算的,规则写死在代码里,要么全对,要么全错(没有“部分对”这种事)。而且SUM公式内嵌,任何人打开都能核对逻辑。

2026-06-07-奖罚通知自动生成器_2026-06-10_11-03-19

变化三:可以复用。 以前换个月份,所有操作从头来一遍。现在只要源数据格式不变,上传新文件就行。本质上,我写的不是“三月份的奖罚通知”,而是一个通用的奖罚通知生成模板

变化四:解放了一个人。 原来每月固定有一个下午,质管办有一个人是“废”的——她不能干别的事,全扑在拼表上。现在这半天的时间可以用在更有价值的事情上,比如下临床巡查、做根因分析。


六、狼叔碎语:不是写代码,是写“业务规则”

写这个小工具的时候,我在想一件事:

大多数医院质控的数字化,缺的不是“技术”,而是“翻译”。

什么意思?你让一个软件工程师来做这个奖罚通知系统,他可以做一个功能强大的管理平台,有数据库、有权限管理、有可视化图表。但做完之后,质管办的人不会用——因为那个系统是按照“软件的逻辑”设计的,不是按照“质控工作的逻辑”设计的。

而我的工具只有500行代码,没有数据库,没有用户系统,就是一个上传→生成→下载的流水线。但何姐一打开就会用——因为它的逻辑就是她干了三年的事,只是把手工动作翻译成了代码。

程序设计的本质,不是写代码,是写业务规则。 你首先要理解——这个工作的输入是什么,规则是什么,输出是什么。然后把规则翻译成代码。规则写对了,代码哪怕丑一点,工具也是好用的。

有人问我:“狼叔,你是不是转行搞IT了?”

我说:没有。我只是终于受不了每个月看同事对着一张Excel表干半天的样子了。

质控工具开发的门槛,其实比大多数人想象的低。只要你做质控的时间够久,你对那些“重复劳动”的痛点够痛,你就能找到最值得自动化的那个点。剩下的,交给Python。


下一篇预告:狼叔项目系列之三——「指标自动计算引擎」,聊聊怎么让机器半夜自动从HIS/EMR抽数据算国考指标,第二天上班直接看报告。


狼叔 | 医院质量管理从业者,业余代码爱好者奖罚通知生成器 v1.0 | Python Flask + openpyxl | 约500行代码下一篇:指标自动计算引擎——告别手工从HIS提数的时代

最新文章

随机文章

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