<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>华仔部落</title><link>https://www.zjh336.cn/</link><description>个人博客</description><item><title>codex + ccswitch：一个客户端切换多家模型</title><link>https://www.zjh336.cn/?id=2150</link><description>&lt;h2&gt;前言&lt;/h2&gt;&lt;p&gt;这篇记录一个很实际的折腾：&lt;strong&gt;怎么让 codex 同时挂上好几家模型，随时切换。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;现在绝大多数人用 codex，都是接正价或者中转的 GPT。GPT 能力是没得说，但最近这一段时间——高峰期限流、中转断流、官方响应慢——被坑过的兄弟应该不少。&lt;/p&gt;&lt;p&gt;解决办法其实很简单：&lt;strong&gt;给 codex 配多个“供应商”，随时切换。&lt;/strong&gt;手动改配置文件也能做，但切来切去太麻烦，这时候就轮到 CC Switch 出场了。&lt;/p&gt;&lt;blockquote&gt;本文操作基于 &lt;strong&gt;CC Switch v3.20.2&lt;/strong&gt;，建议版本不低于这个，低版本有些界面和字段对不上。&lt;/blockquote&gt;&lt;h2&gt;一、先搞懂协议：codex 只认两种&lt;/h2&gt;&lt;p&gt;这是接第三方模型最容易踩的坑，90% 的“接入失败”都是协议没搞对，所以放在最前面。&lt;/p&gt;&lt;p&gt;CC Switch 里能选的协议是这几种。&lt;strong&gt;注意：它们对应的是不同工具、不同供应商的原生协议，不是“codex 的可选项”&lt;/strong&gt;：&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;协议&lt;/th&gt;&lt;th&gt;端点&lt;/th&gt;&lt;th&gt;对应场景&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;OpenAI&lt;/strong&gt;&lt;br/&gt;（Chat Completions）&lt;/td&gt;&lt;td&gt;&lt;code&gt;/v1/chat/completions&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;codex 支持&lt;/strong&gt;；也是绝大多数第三方模型和网关的原生协议&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;OpenAI Responses&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;/v1/responses&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;codex 支持&lt;/strong&gt;（原生直连，不转换格式）；OpenAI 官方主推&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Anthropic&lt;/strong&gt;&lt;br/&gt;（Messages）&lt;/td&gt;&lt;td&gt;&lt;code&gt;/v1/messages&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Claude 的原生协议，给走 Anthropic 协议的工具/供应商用&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Gemini&lt;/strong&gt;（原生）&lt;/td&gt;&lt;td&gt;&lt;code&gt;/v1beta/models/{model}:generateContent&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Gemini 的原生协议，给 Gemini 系工具/供应商用&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;warn&quot;&gt;&lt;strong&gt;关键：codex 只支持 Chat 和 Responses 这两种协议。&lt;/strong&gt;
 &amp;nbsp; &amp;nbsp;上面后两种（Anthropic Messages、Gemini 原生）是&lt;strong&gt;别的工具的原生协议&lt;/strong&gt;，codex 直接吃不下。
 &amp;nbsp; &amp;nbsp;想用它背后的模型（比如 Claude、Gemini），就得让渠道或路由&lt;strong&gt;先把协议转成 Chat 或 Responses&lt;/strong&gt;，再喂给 codex。&lt;/div&gt;&lt;div class=&quot;tip&quot;&gt;&lt;strong&gt;软件里的原文说明：&lt;/strong&gt;“供应商原生为 Responses API 就选 Responses（直连，不转换格式）；使用 Chat Completions 协议就选 Chat；供应商只提供原生 Anthropic Messages 协议就选 Anthropic Messages。&lt;strong&gt;Chat 与 Anthropic Messages 均需开启路由才能转换为 Responses。&lt;/strong&gt;”&lt;/div&gt;&lt;h2&gt;二、ccswitch：装哪个版本、点哪个图标&lt;/h2&gt;&lt;p&gt;这是接第三方模型最容易踩的坑，90% 的“接入失败”都是协议没搞对，所以放在最前面。&lt;/p&gt;&lt;p&gt;CC Switch 是个聚合式的切换器，它管的不只是 codex，&lt;strong&gt;Claude Code、Codex、Gemini CLI、Grok Build、OpenCode、OpenClaw、Hermes、Pi 这些都在它的“本地环境检查”里&lt;/strong&gt;，能直接帮你安装或升级。&lt;/p&gt;&lt;figure class=&quot;figure-img&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110146171967634.jpg&quot; alt=&quot;ccs-01-about-version.jpg&quot;/&gt;&lt;figcaption&gt;设置 → 关于：版本号 + 本地环境检查（我这儿 Claude Code 提示可升级到 2.1.267，Gemini CLI 是 0.59.0 已就绪）&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;几点提醒：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;版本要不低于 v3.20.2&lt;/strong&gt;——本文截图就是 v3.20.2。版本低了界面字段可能不一样，照本文配会找不到地方。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;“本地环境检查”里可以直接点&lt;strong&gt;安装 / 升级&lt;/strong&gt;，不用自己去各自官网折腾。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;想省事可以点右上角的&lt;strong&gt;「全部升级」&lt;/strong&gt;，但装之前建议先看清每个工具的版本号。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;接 codex，就点第三个图标&lt;/h3&gt;&lt;figure class=&quot;figure-img narrow&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110146256910444.png&quot; alt=&quot;ccs-02-toolbar-icons.png&quot;/&gt;&lt;figcaption&gt;顶部这排图标对应不同工具，&lt;strong&gt;接 codex 就选第三个&lt;/strong&gt;（OpenAI 那个图标）&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;这排图标从左到右依次是 Claude Code、Claude、&lt;strong&gt;Codex（第三个，OpenAI 图标）&lt;/strong&gt;、Gemini、Grok、OpenCode、OpenClaw、Hermes、Pi。别点错，点错了配的是别的工具。&lt;/p&gt;&lt;h2&gt;三、添加供应商：四个核心字段&lt;/h2&gt;&lt;p&gt;点「添加供应商」之后，真正要填的核心就是四个：&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;核心字段&lt;/th&gt;&lt;th&gt;填什么&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;API Key&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;渠道给你的 key。&lt;strong&gt;只需要填这一处&lt;/strong&gt;，下面的 &lt;code&gt;auth.json&lt;/code&gt; 会自动填充&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;API 请求地址&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;服务端点地址，&lt;strong&gt;要填兼容 OpenAI Response 格式的地址&lt;/strong&gt;；旁边有「完整 URL」开关和「管理与测速」&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;协议（上游格式）&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;就是上一节那张表——Responses 原生 / Chat Completions / Anthropic Messages…… &lt;strong&gt;按渠道的实际情况选&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;模型列表&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;先在「默认模型」填一个，后面再拉取和逐个配置&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;figure class=&quot;figure-img&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110146338222578.jpg&quot; alt=&quot;ccs-03-add-provider.jpg&quot;/&gt;&lt;figcaption&gt;添加供应商页：API Key、API 请求地址、默认模型、上游格式（在“高级选项”里）&lt;/figcaption&gt;&lt;/figure&gt;&lt;div class=&quot;warn&quot;&gt;&lt;strong&gt;三个容易填错的地方：&lt;/strong&gt; &amp;nbsp; &amp;nbsp;&lt;br/&gt;1）&lt;strong&gt;API 请求地址&lt;/strong&gt;要的是&lt;strong&gt;服务端点&lt;/strong&gt;，不是官网链接——官网链接是上面那个可选的输入框； &amp;nbsp; &amp;nbsp;&lt;br/&gt;2）&lt;strong&gt;上游格式&lt;/strong&gt;在「高级选项」里展开才能看到，不在第一屏，很多人找不着； &amp;nbsp; &amp;nbsp;&lt;br/&gt;3）地址结尾要不要带 &lt;code&gt;/v1&lt;/code&gt;，以渠道文档为准，填错就是 404。&lt;/div&gt;&lt;h2&gt;四、拉模型列表，再逐项配置&lt;/h2&gt;&lt;p&gt;核心字段填完之后，&lt;strong&gt;最省事的一步来了：点「获取模型列表」&lt;/strong&gt;，它会把你这个 key 实际能用的模型拉出来。&lt;/p&gt;&lt;p&gt;然后按需往「模型映射」里加条目，每一行要填四样东西：&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;列&lt;/th&gt;&lt;th&gt;作用&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;菜单显示名&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;你在 &lt;code&gt;/model&lt;/code&gt; 里看到的名字&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;实际请求模型&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;真正发给上游的模型 id，可比显示名更具体（比如 &lt;code&gt;gemini-3.8-flash-high&lt;/code&gt;）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;上下文窗口&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;手动填，比如 &lt;code&gt;1050000&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;思考等级&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;手动勾选该模型支持的档位，比如 &lt;code&gt;none, low, medium, high, xhigh, max&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;figure class=&quot;figure-img&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110146534749775.jpg&quot; alt=&quot;ccs-04-model-mapping.jpg&quot;/&gt;&lt;figcaption&gt;模型映射表：菜单显示名 / 实际请求模型 / 上下文窗口 / 思考等级，四列都要自己配&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;同一页还有两个关于“思考”的开关，别搞混了：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;支持思考模式：&lt;/strong&gt;上游 Chat Completions 接口支持“开启或关闭思考”时启用（&lt;strong&gt;Kimi、GLM、Qwen 等通常属于这一类&lt;/strong&gt;）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;支持思考等级：&lt;/strong&gt;上游支持 low / high / max 这类深度控制时启用。开启后它会自动启用思考模式，&lt;strong&gt;并把 codex 的 &lt;code&gt;reasoning_effort&lt;/code&gt; 转成上游的参数&lt;/strong&gt;。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;tip&quot;&gt;&lt;strong&gt;顺带说下它底层干了啥：&lt;/strong&gt;「生成 codex &lt;code&gt;model_catalog.json&lt;/code&gt;」就是让 &lt;code&gt;/model&lt;/code&gt; 命令能显示这些第三方模型名。所以这里改完，&lt;strong&gt;必须重启 codex 才会刷新模型列表&lt;/strong&gt;，改了没生效多半是没重启。&lt;/div&gt;&lt;h2&gt;五、重启 codex，开始用&lt;/h2&gt;&lt;p&gt;上面配置改完，&lt;strong&gt;重启 codex&lt;/strong&gt;，再输 &lt;code&gt;/model&lt;/code&gt;，就能看到你刚配的那些第三方模型了：&lt;/p&gt;&lt;figure class=&quot;figure-img narrow&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110147024307176.png&quot; alt=&quot;ccs-05-model-picker.png&quot;/&gt;&lt;figcaption&gt;重启后模型列表里就出现了 grok-4.6、claude-opus-5、deepseek-v4-flash、glm-5.3-flash、gemini-3.8-flash 等第三方模型&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;到这一步，&lt;strong&gt;“一个客户端用多家模型”就成了&lt;/strong&gt;——想用哪个直接切，不用改配置文件。&lt;/p&gt;&lt;h2&gt;六、多渠道、多 key 和协议转换&lt;/h2&gt;&lt;h3&gt;1、多个渠道：配多个 key，切换使用&lt;/h3&gt;&lt;p&gt;每个渠道加一个供应商、填各自的 key 就行。用的时候切换一下，&lt;strong&gt;但要注意：切换后同样需要重启 codex 才生效。&lt;/strong&gt;&lt;/p&gt;&lt;h3&gt;2、想用一个 key 用所有模型？有条件&lt;/h3&gt;&lt;p&gt;如果你不想来回切，想一个 key 打天下，需要同时满足两点：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;接入的渠道本身要支持多个模型&lt;/strong&gt;（不是只卖一个模型的那种）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;这些模型在渠道侧要统一成同一种协议。&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;3、关键：渠道是可以转换协议的&lt;/h3&gt;&lt;p&gt;这是最有用的一条。举个例子：&lt;/p&gt;&lt;div class=&quot;tip&quot;&gt;&lt;strong&gt;Gemini 的原生协议可以转成 OpenAI Responses 协议&lt;/strong&gt;，转完之后&lt;strong&gt;就能直接在 codex 里用 Gemini 了&lt;/strong&gt;。 &amp;nbsp; &amp;nbsp;&lt;br/&gt;也就是说，你不需要为了用 Gemini 单独装一套东西——只要渠道支持转换就行。&lt;/div&gt;&lt;h3&gt;4、路由、整流器和故障转移&lt;/h3&gt;&lt;p&gt;设置里还有一个「路由」页，跟协议转换直接相关：&lt;/p&gt;&lt;figure class=&quot;figure-img&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110147122895065.png&quot; alt=&quot;ccs-06-route-settings.png&quot;/&gt;&lt;figcaption&gt;路由页：本地路由 / 自动故障转移 / 整流器 / 全局出站代理&lt;/figcaption&gt;&lt;/figure&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;本地路由：&lt;/strong&gt;&lt;code&gt;Chat&lt;/code&gt; 和 &lt;code&gt;Anthropic Messages&lt;/code&gt; 协议&lt;strong&gt;必须开启它才能用&lt;/strong&gt;（前面说过要“转换为 Responses”）。我的截图里显示“已停止”，用这类协议时要记得打开。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;自动故障转移：&lt;/strong&gt;配置故障转移队列和熔断策略——这个对“某家不稳”的场景特别有用。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;整流器：&lt;/strong&gt;自动修复 API 请求里的兼容性问题。第三方网关多多少少有点不规范，这个开关能省不少事。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;全局出站代理：&lt;/strong&gt;CC Switch 访问外部 API 时走什么代理。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;七、各家模型兼容性实测&lt;/h2&gt;&lt;p&gt;按“能不能拿来当 codex 备胎”排了个序：&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;模型&lt;/th&gt;&lt;th&gt;兼容性&lt;/th&gt;&lt;th&gt;怎么接&lt;/th&gt;&lt;th&gt;备注&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Grok&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;★★★★★ 极强&lt;/td&gt;&lt;td&gt;直接选 Chat / Responses&lt;/td&gt;&lt;td&gt;塞进去就能用，几乎零折腾，最佳备胎&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Claude&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;★★★★ 不错&lt;/td&gt;&lt;td&gt;原生是 &lt;code&gt;/v1/messages&lt;/code&gt;，靠路由或渠道转成 OpenAI 格式&lt;/td&gt;&lt;td&gt;工具调用正常&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;GLM&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;★★★★ 可以&lt;/td&gt;&lt;td&gt;OpenAI 兼容端点&lt;/td&gt;&lt;td&gt;属于“可开关思考”那一类；速度一般&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;DeepSeek&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;★★★★ 可以&lt;/td&gt;&lt;td&gt;OpenAI 兼容&lt;/td&gt;&lt;td&gt;思考内容在 &lt;code&gt;reasoning_content&lt;/code&gt; 字段；&lt;strong&gt;不支持分级思考、也不能关思考&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Gemini&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;★★★ 有条件可用&lt;/td&gt;&lt;td&gt;原生协议 → 转成 OpenAI Responses&lt;/td&gt;&lt;td&gt;工具调用、MCP 的质量取决于渠道的转换做得好不好&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;tip&quot;&gt;&lt;strong&gt;更正一下我之前的判断。&lt;/strong&gt;我一开始以为 Gemini 在 codex 里完全没戏，后来才发现：&lt;strong&gt;只要渠道支持协议转换（把 Gemini 原生协议转成 OpenAI Responses），照样能在 codex 里跑。&lt;/strong&gt;不过它原生的工具调用和 MCP 支持和别的家比还是有差距，想要完整体验还是用它自己的 CLI 更顺（我另一篇专门写这个）。&lt;/div&gt;&lt;h2&gt;八、常见报错排查&lt;/h2&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;现象&lt;/th&gt;&lt;th&gt;大概率原因&lt;/th&gt;&lt;th&gt;解决&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;401 Unauthorized&lt;/td&gt;&lt;td&gt;key 填错 / 与分组不匹配&lt;/td&gt;&lt;td&gt;回渠道确认 key 和分组&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;404 Not Found&lt;/td&gt;&lt;td&gt;API 请求地址多了或少了一层 &lt;code&gt;/v1&lt;/code&gt;&lt;/td&gt;&lt;td&gt;对照渠道文档，或用「管理与测速」测一下&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;配好了但 &lt;code&gt;/model&lt;/code&gt; 里没有&lt;/td&gt;&lt;td&gt;没重启 codex；或没生成 &lt;code&gt;model_catalog.json&lt;/code&gt;&lt;/td&gt;&lt;td&gt;先点「获取模型列表」配置好，再&lt;strong&gt;重启 codex&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;切了渠道不生效&lt;/td&gt;&lt;td&gt;同样需要重启&lt;/td&gt;&lt;td&gt;重启 codex&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;用 Chat / Anthropic 协议报错&lt;/td&gt;&lt;td&gt;&lt;strong&gt;没开启本地路由&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;去「设置 → 路由」把本地路由打开&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;400 参数错误&lt;/td&gt;&lt;td&gt;上游不认某些字段（比如思考等级）&lt;/td&gt;&lt;td&gt;关掉「支持思考等级」，或只勾该模型真正支持的档位&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;工具调用异常、死循环&lt;/td&gt;&lt;td&gt;网关的 function call 支持不完整&lt;/td&gt;&lt;td&gt;换个渠道，或打开「整流器」试试&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;上下文超限&lt;/td&gt;&lt;td&gt;模型映射里上下文窗口填小了&lt;/td&gt;&lt;td&gt;按渠道文档改大&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;排查顺序还是那句：&lt;strong&gt;key → 地址 → 协议 → 路由 → 重启&lt;/strong&gt;，从外往里一层层试，比瞎改快得多。&lt;/p&gt;&lt;h2&gt;九、小结&lt;/h2&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;协议不止两种：&lt;strong&gt;OpenAI Chat / OpenAI Responses / Anthropic Messages / Gemini 原生&lt;/strong&gt;；codex 只认前两种，其余靠&lt;strong&gt;路由转换&lt;/strong&gt;；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;CC Switch 版本建议 &lt;strong&gt;≥ v3.20.2&lt;/strong&gt;；接 codex 选&lt;strong&gt;第三个图标&lt;/strong&gt;；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;加供应商就四个核心字段：&lt;strong&gt;API Key、API 请求地址、协议、模型列表&lt;/strong&gt;；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;填完点&lt;strong&gt;「获取模型列表」&lt;/strong&gt;，上下文窗口和思考等级手动配；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;改完一定要重启 codex&lt;/strong&gt;，模型列表才刷新；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;Chat&lt;/code&gt; / &lt;code&gt;Anthropic Messages&lt;/code&gt; 协议&lt;strong&gt;必须开启路由&lt;/strong&gt;才能用；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;多渠道就配多个 key 切换；想一个 key 通吃，渠道要支持多模型且协议统一——&lt;strong&gt;渠道能把 Gemini 原生协议转成 Responses，所以 Gemini 也能进 codex&lt;/strong&gt;。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class=&quot;post-footer&quot;&gt;&lt;p&gt;你的 codex 现在接的是哪家？有没有遇到我没想到的坑，欢迎交流：我的 QQ &lt;strong&gt;806073526&lt;/strong&gt;。&lt;/p&gt;&lt;/div&gt;</description><pubDate>Fri, 11 Sep 2026 01:45:07 +0800</pubDate></item><item><title>deepSeekHarness 部署实战：源码模式 + 自定义渠道接入多模型</title><link>https://www.zjh336.cn/?id=2149</link><description>&lt;h2&gt;前言&lt;/h2&gt;&lt;p&gt;前两篇我们聊了「怎么挑模型」和「codex 怎么切模型」。这一篇换个主角：&lt;strong&gt;deepSeekHarness&lt;/strong&gt;（下面简称 &lt;strong&gt;dsh&lt;/strong&gt;）。&lt;/p&gt;&lt;p&gt;codex 管的是“写代码”这一块，而 dsh 更像是一个本地的 AI 工作台：统一管理多家模型的渠道、统一下发上下文和思考强度、支持多模态、还能挂插件。如果你手上有一堆 API Key（官方的、中转的、公司的），dsh 基本就是那个“总闸”。&lt;/p&gt;&lt;p&gt;这篇记录我部署和配置的全过程，重点在&lt;strong&gt;自定义渠道怎么接、配置怎么写&lt;/strong&gt;——这两块官方文档讲得比较粗，坑也比较多。&lt;/p&gt;&lt;div class=&quot;paste-tip&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110137404000137.png&quot; alt=&quot;dsh-05-model-settings.png&quot;/&gt;&lt;/div&gt;&lt;figure class=&quot;figure-img&quot;&gt;&lt;figcaption&gt;dsh 的「设置 → 模型」面板：官方渠道、自定义渠道都在这儿统一管。&lt;/figcaption&gt;&lt;/figure&gt;&lt;h2&gt;一、部署方式：强烈建议源码模式&lt;/h2&gt;&lt;p&gt;dsh 有多种安装方式，但我的建议只有一条：&lt;strong&gt;用源码模式部署。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;原因很简单，也是我踩过坑之后的血泪总结：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;能看到配置项的定义。&lt;/strong&gt;配置文件里那些 &lt;code&gt;reasoningEfforts&lt;/code&gt;、&lt;code&gt;input&lt;/code&gt;、&lt;code&gt;compat&lt;/code&gt; 到底是什么、有哪些取值，看源码比看文档快一百倍。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;出问题好排查。&lt;/strong&gt;一键安装包报错时你两眼一抹黑，源码模式可以直接看日志、加断点、改代码验证。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;方便魔改。&lt;/strong&gt;想加一个自己渠道的特殊兼容处理（比如某个网关不认某个字段），源码模式下改一行就行。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class=&quot;warn&quot;&gt;&lt;strong&gt;提醒：&lt;/strong&gt;源码模式对本地环境有要求（Node.js / pnpm 之类的依赖栈），第一次装可能会卡在依赖下载上。国内建议先把镜像源换好再装，具体命令各家文档略有差异，这里不展开。&lt;/div&gt;&lt;p&gt;项目地址（源码就在这儿）：&lt;a href=&quot;https://github.com/deepseek-ai/deepseek-harness&quot;&gt;github.com/deepseek-ai/deepseek-harness&lt;/a&gt;&lt;/p&gt;&lt;h3&gt;1、实际部署步骤（Windows）&lt;/h3&gt;&lt;p&gt;仓库拉到本地之后，进到目录里执行这三条命令就行：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;进入目录：&lt;/strong&gt;&lt;code&gt;E:\dsh\deepseek-harness&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;安装依赖：&lt;/strong&gt;&lt;code&gt;pnpm install&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;打包前端：&lt;/strong&gt;&lt;code&gt;pnpm run build&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;启动：&lt;/strong&gt;&lt;code&gt;pnpm dsh web&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;下面是我实际跑的四步截图，顺便把几个「看着吓人其实没事」的警告说明一下。&lt;/p&gt;&lt;h4 style=&quot;margin:22px 0 6px;&quot;&gt;① 源码目录结构&lt;/h4&gt;&lt;p&gt;&lt;br/&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110138155863697.png&quot; alt=&quot;dsh-01-source-dir.png&quot;/&gt;&lt;/p&gt;&lt;figure class=&quot;figure-img&quot;&gt;&lt;figcaption&gt;拉下来的目录：apps、docs、native、packages、scripts、website 都在，源码模式的好处就是随时能翻代码。&lt;/figcaption&gt;&lt;/figure&gt;&lt;h4 style=&quot;margin:22px 0 6px;&quot;&gt;② 安装依赖&lt;/h4&gt;&lt;pre class=&quot;brush:js;toolbar:false;&quot;&gt;pnpm&amp;nbsp;install&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110138359196480.png&quot; alt=&quot;dsh-02-pnpm-install.png&quot;/&gt;&lt;/p&gt;&lt;figure class=&quot;figure-img&quot;&gt;&lt;figcaption&gt;会刷一堆 &lt;code&gt;WARN Unsupported platform&lt;/code&gt;——那是 linux 平台的原生包（landlock-run）在 Windows 上装不了，&lt;strong&gt;不影响使用&lt;/strong&gt;。看到 &lt;code&gt;Done in 2.1s using pnpm&lt;/code&gt; 就是装好了。&lt;/figcaption&gt;&lt;/figure&gt;&lt;h4 style=&quot;margin:22px 0 6px;&quot;&gt;③ 打包前端文件&lt;/h4&gt;&lt;pre class=&quot;brush:js;toolbar:false;&quot;&gt;pnpm&amp;nbsp;run&amp;nbsp;build&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110138559061204.png&quot; alt=&quot;dsh-03-pnpm-build.png&quot;/&gt;&lt;/p&gt;&lt;figure class=&quot;figure-img&quot;&gt;&lt;figcaption&gt;会依次跑 &lt;code&gt;build:libhost&lt;/code&gt;、&lt;code&gt;build:lib:client&lt;/code&gt;……中间那些 &lt;code&gt;npm warn Unknown user config&lt;/code&gt; 无视即可。&lt;/figcaption&gt;&lt;/figure&gt;&lt;h4 style=&quot;margin:22px 0 6px;&quot;&gt;④ 启动服务&lt;/h4&gt;&lt;pre class=&quot;brush:js;toolbar:false;&quot;&gt;pnpm&amp;nbsp;dsh&amp;nbsp;web&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110139054910694.png&quot; alt=&quot;dsh-04-dsh-web.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;启动成功会打印访问地址，形如 &lt;code&gt;http://127.0.0.1:3080/?token=xxxxx&lt;/code&gt;，浏览器直接打开就能用（token 是自动生成的，连在后面一起复制）。&lt;/p&gt;&lt;h2&gt;二、渠道接入：官方 vs 自定义&lt;/h2&gt;&lt;p&gt;dsh 里的模型渠道分两类，理解这两类的区别非常关键：&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;类型&lt;/th&gt;&lt;th&gt;怎么接&lt;/th&gt;&lt;th&gt;适用场景&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;官方渠道&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;界面里直接选（内置了各家的目录和协议），填个 API Key 就能用&lt;/td&gt;&lt;td&gt;省事，适合新手；但只能用官方支持的模型和协议&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;自定义渠道&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;界面「添加自定义提供方」，或直接写 &lt;code&gt;settings.yaml&lt;/code&gt; 的 &lt;code&gt;providers&lt;/code&gt; 段&lt;/td&gt;&lt;td&gt;中转平台、公司内网网关、私有部署模型；灵活度最高，但配置要自己填&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;配置文件位置（Windows）：&lt;/p&gt;&lt;pre class=&quot;brush:js;toolbar:false;&quot;&gt;C:\Users\你的用户名\.dsh\settings.yaml&lt;/pre&gt;&lt;h3&gt;1、官方渠道：设置 → 模型 → 添加提供方&lt;/h3&gt;&lt;p&gt;打开 &lt;strong&gt;设置 → 模型&lt;/strong&gt;，所有渠道都在这儿管。右上角「打开配置文件」可以直接跳到 &lt;code&gt;settings.yaml&lt;/code&gt;，下面两个按钮对应两种接法：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;＋添加提供方&lt;/strong&gt;：从内置列表里挑，官方和常见平台走这个；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;＋添加自定义提供方&lt;/strong&gt;：中转平台、公司网关、私有部署走这个。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure class=&quot;figure-img&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110139297334940.png&quot; alt=&quot;dsh-06-provider-list.png&quot;/&gt;&lt;figcaption&gt;点「添加提供方」后的内置列表：deepseek、google、anthropic、groq、github-copilot、huggingface、mistral、moonshotai、minimax / minimax-cn、fireworks、cerebras、baseten、azure-openai-responses、cloudflare-ai-gateway、cloudflare-workers-ai、amazon-bedrock、google-vertex、kimi-coding、ant-ling 等。选中平台、填上 API 密钥、保存，就通了。&lt;/figcaption&gt;&lt;/figure&gt;&lt;h3&gt;2、纯自定义渠道：添加自定义提供方&lt;/h3&gt;&lt;p&gt;这个表单就四项，填完保存即可：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;显示名称&lt;/strong&gt;：自己起名，我习惯带渠道来源，一眼能看出是哪条线；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;API 地址&lt;/strong&gt;：填到 &lt;code&gt;/v1&lt;/code&gt; 为止（多一层少一层都会 404）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;API 协议&lt;/strong&gt;：&lt;code&gt;openai-completions&lt;/code&gt; / &lt;code&gt;openai-responses&lt;/code&gt; / &lt;code&gt;anthropic-messages&lt;/code&gt;，按渠道实际支持的选；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;模型目录&lt;/strong&gt;：逐个加模型，每个都要填 &lt;strong&gt;模型 id + 上下文窗口 + 最大输出 token&lt;/strong&gt;——这三项填错，要么报错要么输出被截断。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br/&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110139487822163.png&quot; alt=&quot;dsh-07-custom-provider.png&quot;/&gt;&lt;/p&gt;&lt;figure class=&quot;figure-img&quot;&gt;&lt;figcaption&gt;我的一条自定义渠道：API 地址 &lt;code&gt;https://api.zjh336.cn/v1&lt;/code&gt;、协议 &lt;code&gt;openai-completions&lt;/code&gt;，模型目录里挂着 deepseek-v4-flash-0731（1M 上下文 / 131072 输出）、deepseek-v4-pro-0813、glm-5.2、qwen3.8-27b。&lt;/figcaption&gt;&lt;/figure&gt;&lt;div class=&quot;tip&quot;&gt;&lt;strong&gt;两种方式的关系：&lt;/strong&gt;界面上配的东西，最终都会落到 &lt;code&gt;settings.yaml&lt;/code&gt; 的 &lt;code&gt;providers&lt;/code&gt; 里——所以「界面配」和「直接改配置文件」是等价的。这也是下面那节要讲的重点。&lt;/div&gt;&lt;h2&gt;三、自定义渠道配置详解（重点）&lt;/h2&gt;&lt;p&gt;自定义渠道的核心就是 &lt;code&gt;settings.yaml&lt;/code&gt; 里的 &lt;code&gt;providers&lt;/code&gt;。结构长这样（这是脱敏后的真实结构）：&lt;/p&gt;&lt;pre class=&quot;brush:xml;toolbar:false;&quot;&gt;llm-pi-ai:
&amp;nbsp;&amp;nbsp;providers:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rhythm:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;渠道名，随便起，别和内置的重复
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;apiKeyEnv:&amp;nbsp;RHYTHM_API_KEY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;key&amp;nbsp;放环境变量里，不要明文写进配置
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;api:&amp;nbsp;openai-completions&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;协议：openai-completions&amp;nbsp;/&amp;nbsp;openai-responses&amp;nbsp;/&amp;nbsp;anthropic-messages
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;baseURL:&amp;nbsp;https://tokenrhythm.studio/v1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;compat:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;supportsDeveloperRole:&amp;nbsp;false&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;网关不认&amp;nbsp;developer&amp;nbsp;角色，系统提示词回到&amp;nbsp;system
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;models:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;id:&amp;nbsp;deepseek-v4-flash-0731
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;contextWindow:&amp;nbsp;1000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;上下文窗口
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;maxTokens:&amp;nbsp;131072&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;单次最大输出
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;多模态必须显式声明！
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;text
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;image
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reasoningEfforts:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;思考强度映射：左=dsh&amp;nbsp;档位，右=发给上游的值
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;low:&amp;nbsp;low
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;high:&amp;nbsp;high
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;max:&amp;nbsp;max
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;id:&amp;nbsp;deepseek-v4-pro-0813&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;结构同上
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;id:&amp;nbsp;glm-5.3-flash&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;结构同上
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;id:&amp;nbsp;deepseek-flash&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;结构同上&lt;/pre&gt;&lt;div class=&quot;tip&quot;&gt;&lt;strong&gt;一个容易被忽略的细节：&lt;/strong&gt;同一个模型在不同渠道下，档位声明可能&lt;strong&gt;不一样&lt;/strong&gt;。比如 &lt;code&gt;glm-5.3-flash&lt;/code&gt;：我在另一个渠道里只声明了 &lt;code&gt;off / high&lt;/code&gt; 两档，而这条渠道里是 &lt;code&gt;low / high / max&lt;/code&gt; 三档。&lt;strong&gt;以网关实际支持什么为准&lt;/strong&gt;，别照抄。&lt;/div&gt;&lt;h3&gt;1、三个高频配置项（务必搞懂）&lt;/h3&gt;&lt;p&gt;这三个是我配置过程中改动最多的，单独拎出来说：&lt;/p&gt;&lt;h4 style=&quot;margin-bottom:6px;&quot;&gt;① &lt;code&gt;supportsDeveloperRole&lt;/code&gt;&lt;/h4&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;作用：&lt;/strong&gt;是否支持 &lt;code&gt;developer&lt;/code&gt; 角色。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;为什么关键：&lt;/strong&gt;OpenAI 新协议里系统提示词用的是 &lt;code&gt;developer&lt;/code&gt; 角色，但很多第三方网关&lt;strong&gt;不认这个角色&lt;/strong&gt;，一送就报错。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;怎么配：&lt;/strong&gt;网关不认就设 &lt;code&gt;false&lt;/code&gt;——dsh 会自动把系统提示词回退成 &lt;code&gt;system&lt;/code&gt; 角色。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;tip&quot;&gt;判断标准很简单：如果渠道一上来就报 400 / 角色相关的参数错误，先把 &lt;code&gt;supportsDeveloperRole&lt;/code&gt; 改成 &lt;code&gt;false&lt;/code&gt; 试试，十有八九就好了。&lt;/div&gt;&lt;h4 style=&quot;margin-bottom:6px;&quot;&gt;② &lt;code&gt;input&lt;/code&gt;（多模态开关）&lt;/h4&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;作用：&lt;/strong&gt;声明该模型支持哪些输入类型。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;取值：&lt;/strong&gt;&lt;code&gt;[ text ]&lt;/code&gt;、&lt;code&gt;[ text, image ]&lt;/code&gt;。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;怎么配：&lt;/strong&gt;&lt;strong&gt;不写默认就是纯文本&lt;/strong&gt;。想让模型看图，必须显式加上 &lt;code&gt;image&lt;/code&gt;，否则前端根本不会给你上传图片的入口。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;warn&quot;&gt;&lt;strong&gt;最容易被忽略的一项。&lt;/strong&gt;很多人接了多模态模型却发不了图，就是因为这里没声明。&lt;/div&gt;&lt;h4 style=&quot;margin-bottom:6px;&quot;&gt;③ &lt;code&gt;reasoningEfforts&lt;/code&gt;（思考强度映射）&lt;/h4&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;作用：&lt;/strong&gt;把 dsh 界面上的思考档位，映射成上游 API 真正接受的值。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;格式：&lt;/strong&gt;左边是 dsh 的档位（&lt;code&gt;off/low/medium/high/xhigh/max&lt;/code&gt;），右边是发给上游的值。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;技巧：&lt;/strong&gt;右边写&lt;strong&gt;空值&lt;/strong&gt;表示“关闭思考”；不同模型支持的档位完全不一样（见下表）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;模型&lt;/th&gt;&lt;th&gt;支持的档位&lt;/th&gt;&lt;th&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;GPT 系（5.6 等）&lt;/td&gt;&lt;td&gt;off(none)/low/medium/high/xhigh/max&lt;/td&gt;&lt;td&gt;档位最全，部分 pro 档只有 medium/high/xhigh&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Claude 4.7+&lt;/td&gt;&lt;td&gt;xhigh / max&lt;/td&gt;&lt;td&gt;官方新等级；4.5 一代是预算式 low/medium/high&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;DeepSeek V4 系&lt;/td&gt;&lt;td&gt;flash: low/high/max；pro: high/max&lt;/td&gt;&lt;td&gt;&lt;strong&gt;都不支持关闭思考&lt;/strong&gt;，别配 off&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;GLM 5.3 / 5.3-Flash&lt;/td&gt;&lt;td&gt;off / high&lt;/td&gt;&lt;td&gt;开/关两档，flash 不在官方目录时按同家族声明&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Gemini flash 系&lt;/td&gt;&lt;td&gt;off / high&lt;/td&gt;&lt;td&gt;官方无分级，只有开/关&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Kimi K3&lt;/td&gt;&lt;td&gt;off / low / high / max&lt;/td&gt;&lt;td&gt;——&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h3&gt;2、上下文配置&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;contextWindow&lt;/code&gt;：上下文窗口，决定自动压缩什么时候触发。&lt;strong&gt;填小了会提前压缩丢上下文，填大了可能超上游限制报错。&lt;/strong&gt;以渠道文档为准。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;maxTokens&lt;/code&gt;：单次最大输出。&lt;strong&gt;这个值各家差异巨大&lt;/strong&gt;——有的模型能给到 131072，有的只有 4096，填错要么截断要么报错。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;我的原则：&lt;strong&gt;宁可填小一点也别填大&lt;/strong&gt;，因为上游报错的时候你根本不知道是哪个参数的问题。&lt;/p&gt;&lt;h3&gt;3、Claude 专属：forceAdaptiveThinking&lt;/h3&gt;&lt;p&gt;如果你接的是 Claude 较新的模型，可能会见到 &lt;code&gt;compat&lt;/code&gt; 下面这一项：&lt;/p&gt;&lt;pre class=&quot;brush:xml;toolbar:false;&quot;&gt;compat:&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;forceAdaptiveThinking:&amp;nbsp;true&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;官方&amp;nbsp;adaptive-thinking&amp;nbsp;模型：等级走&amp;nbsp;effort&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;不写这一项会「退化」为预算式思考&lt;/pre&gt;&lt;p&gt;踩坑提示：这行注释不是我编的——&lt;strong&gt;不显式声明，模型会退化成“预算式思考”&lt;/strong&gt;，也就是你给它 &lt;code&gt;high&lt;/code&gt;，它按预算自己估，而不是按官方等级走。想要体验一致，记得加上。&lt;/p&gt;&lt;div class=&quot;paste-tip&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110140071432742.png&quot; alt=&quot;dsh-08-settings-yaml.png&quot;/&gt;&lt;/div&gt;&lt;figure class=&quot;figure-img&quot;&gt;&lt;figcaption&gt;上面这段 YAML 的实际样子（API Key 走的是环境变量 &lt;code&gt;RHYTHM_API_KEY&lt;/code&gt;，配置里不出现明文）。&lt;/figcaption&gt;&lt;/figure&gt;&lt;h2&gt;四、多模态与插件&lt;/h2&gt;&lt;h3&gt;1、多模态怎么用起来&lt;/h3&gt;&lt;p&gt;三步走，缺一不可：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;模型本身支持图片（去渠道文档确认）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;settings.yaml&lt;/code&gt; 里给该模型加上 &lt;code&gt;input: [ text, image ]&lt;/code&gt;；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;重启 / 重新加载配置，界面上才会出现贴图入口。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;我本地在 &lt;code&gt;settings.yaml&lt;/code&gt; 里声明了图片输入的模型有：GLM-5.3-Flash、DeepSeek 的 vision 系（&lt;code&gt;deepseek-v4-flash-vision-exp&lt;/code&gt;）、GPT 系、Claude 系，另外还有几个 qwen / mimo 的型号。声明了才代表这个渠道认图片输入，具体能不能用得实测。&lt;/p&gt;&lt;h3&gt;2、插件安装&lt;/h3&gt;&lt;p&gt;插件用命令行装，装完在「设置 → 插件 / 插件市场」里管理：&lt;/p&gt;&lt;pre class=&quot;brush:ps;toolbar:false;&quot;&gt;pnpm&amp;nbsp;dsh&amp;nbsp;plugin&amp;nbsp;--profile&amp;nbsp;web&amp;nbsp;add&amp;nbsp;dshmarket&lt;/pre&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;--profile web&lt;/code&gt;：装到 web 端（不加这个参数会装到别的 profile 上，装完在界面里找不到）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;add dshmarket&lt;/code&gt;：插件名，这里是「插件市场」那个。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;装完重启一下 &lt;code&gt;pnpm dsh web&lt;/code&gt;，设置里的插件市场就有内容了。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110140207388933.png&quot; alt=&quot;dsh-09-plugin-market.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure class=&quot;figure-img&quot;&gt;&lt;figcaption&gt;装完 dshmarket，设置里就多出「插件市场」：目前收录 3.4k 个插件，按 AGI 架构探索、UI 增强、用量与计费、主题与外观、模型与账号接入、身份与通信、会话与消息、记忆 等分类。「发现」里找、「已安装」里管。&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;市场里排在前面的几个，我挑了几个看着实用的：&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;插件&lt;/th&gt;&lt;th&gt;干什么的&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;dsh-task-board&lt;/code&gt;&lt;/td&gt;&lt;td&gt;侧边栏多列任务看板：卡片交给真实智能体会话去执行，支持 cron 定时，&lt;strong&gt;关掉浏览器也照样跑&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;dsh-git-graph&lt;/code&gt;&lt;/td&gt;&lt;td&gt;输入框上方给一个 Git 分支选择器，并把分支泳道和提交历史画成图谱，可以沿着时间线找任意一次变更&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;dsh-remote-web-ui&lt;/code&gt;&lt;/td&gt;&lt;td&gt;用手机 / 电脑远程操控 dsh web 工作区：扫码配对、令牌连通、SSE 实时同步，有移动端和完整桌面 GUI 两种形态&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;DSH-better-sidebar&lt;/code&gt;&lt;/td&gt;&lt;td&gt;侧边栏完整工作台：内置文件渲染编辑、终端、Git 与子代理，还支持三方插件注册新 Tab&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;dsh-skill-explorer&lt;/code&gt;&lt;/td&gt;&lt;td&gt;技能（Skill）浏览与探索&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;安装就是在卡片上点「安装」；命令行装也一样：&lt;/p&gt;&lt;pre&gt;pnpm&amp;nbsp;dsh&amp;nbsp;plugin&amp;nbsp;--profile&amp;nbsp;web&amp;nbsp;add&amp;nbsp;&amp;lt;插件名&amp;gt;&lt;/pre&gt;&lt;h2&gt;五、部署与配置常见问题&lt;/h2&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;六、小结&lt;/h2&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;部署用&lt;strong&gt;源码模式&lt;/strong&gt;，看得见配置定义、排查快；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;自定义渠道&lt;/strong&gt;就是往 &lt;code&gt;settings.yaml&lt;/code&gt; 的 &lt;code&gt;providers&lt;/code&gt; 里加一段；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;三个必懂配置：&lt;code&gt;supportsDeveloperRole&lt;/code&gt;（网关角色兼容）、&lt;code&gt;input&lt;/code&gt;（多模态声明）、&lt;code&gt;reasoningEfforts&lt;/code&gt;（思考强度映射）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;上下文和 maxTokens 以渠道文档为准，&lt;strong&gt;宁可小不要大&lt;/strong&gt;；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;插件用 &lt;code&gt;pnpm dsh plugin --profile web add &amp;lt;插件名&amp;gt;&lt;/code&gt; 安装，装完在「设置 → 插件市场」里管理（写这篇时市场里已经有 3.4k 个插件）。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class=&quot;post-footer&quot;&gt;&lt;p&gt;dsh 我还在持续折腾，后面有新坑会回来更新到这篇里（文首加更新日志）。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Fri, 11 Sep 2026 01:35:40 +0800</pubDate></item><item><title>Gemini 专项：antigravityCli 安装、原生接入与 MCP 配置</title><link>https://www.zjh336.cn/?id=2148</link><description>&lt;h2&gt;前言&lt;/h2&gt;&lt;p&gt;聊大模型的时候，Gemini 是个挺尴尬的存在：&lt;strong&gt;前端和审美是真好，但兼容性是硬伤&lt;/strong&gt;——没法原生接进通用客户端，就算通过网关塞进去了，工具调用、MCP 也各种别扭，还带个 thinking 标签的毛病。&lt;/p&gt;&lt;p&gt;那它到底该怎么用才顺？我的答案是：&lt;strong&gt;别硬塞，用它自己的 CLI。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;这篇就把 antigravityCli 这套东西一次讲清楚：怎么装、怎么接入、环境变量怎么配、常用配置有哪些、MCP 怎么挂。文中配置都是我本机正在跑的，直接抄就能用。&lt;/p&gt;&lt;blockquote&gt;版本说明：我本机跑的是 &lt;strong&gt;Antigravity CLI 1.1.28&lt;/strong&gt;（截图里能看到），而写这篇时官网下载页已经是 &lt;strong&gt;v1.2.0&lt;/strong&gt;。新版界面细节可能和我截图略有差别，但下面要讲的配置项是一致的。&lt;/blockquote&gt;&lt;h2&gt;一、下载安装与首次运行&lt;/h2&gt;&lt;p&gt;下载页在 &lt;a href=&quot;https://antigravity.google/download&quot;&gt;antigravity.google/download&lt;/a&gt;，官网直接给了各终端的安装命令，不用自己找包。&lt;/p&gt;&lt;figure class=&quot;figure-img&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110040174827771.jpg&quot; alt=&quot;agy-download-page.jpg&quot;/&gt;&lt;figcaption&gt;写这篇时官网是 v1.2.0，Windows 下给了 PowerShell 和 CMD 两种装法&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;strong&gt;Windows PowerShell&lt;/strong&gt;（我用的是这个，一行搞定）：&lt;/p&gt;&lt;pre class=&quot;brush:ps;toolbar:false;&quot;&gt;irm&amp;nbsp;https://antigravity.google/cli/install.ps1&amp;nbsp;|&amp;nbsp;iex&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Windows CMD&lt;/strong&gt;：&lt;/p&gt;&lt;pre class=&quot;brush:bash;toolbar:false;&quot;&gt;curl&amp;nbsp;-fsSL&amp;nbsp;https://antigravity.google/cli/install.cmd&amp;nbsp;-o&amp;nbsp;install.cmd&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;install.cmd&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;del&amp;nbsp;install.cmd&lt;/pre&gt;&lt;div class=&quot;tip&quot;&gt;&lt;strong&gt;同一页下面还有「Antigravity for IDEs」&lt;/strong&gt;（VS Code、Visual Studio 的官方扩展）。习惯在编辑器里干活的可以顺手装上，底层能力是一样的，看你更习惯终端还是编辑器。&lt;/div&gt;&lt;p&gt;装完之后，直接在终端敲 &lt;code&gt;antigravity&lt;/code&gt; 就能起来。启动那几行信息很有用，别跳过：&lt;/p&gt;&lt;figure class=&quot;figure-img&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110040423964338.png&quot; alt=&quot;agy-cli-terminal.png&quot;/&gt;&lt;figcaption&gt;启动时会打印版本号、API key 来源、当前模型、当前工作区——出问题时先看这四行&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;从图里可以看到它自报家门的四项：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;Antigravity CLI 1.1.28&lt;/code&gt; —— 版本号&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;Gemini API key&lt;/code&gt; —— key 是从环境变量读到的（说明环境变量配对了）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;Gemini 3.8 Flash (High)&lt;/code&gt; —— 当前用的模型和思考档&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;E:\selfWork\temp&lt;/code&gt; —— 当前工作区&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;tip&quot;&gt;&lt;strong&gt;排查技巧：&lt;/strong&gt;后面任何“跑不起来 / 报 401 / 模型不对”的问题，先回来看这四行。key 没读到、base_url 没生效、配置改错文件，都能在这里第一时间发现。&lt;/div&gt;&lt;h2&gt;二、先把配置目录认清楚&lt;/h2&gt;&lt;p&gt;这类工具最好用的地方在于：&lt;strong&gt;所有东西都是明文的配置文件&lt;/strong&gt;。知道去哪儿找，基本就不用看文档了。它的家目录在：&lt;/p&gt;&lt;pre&gt;C:\Users\&amp;lt;用户名&amp;gt;\.gemini\antigravity-cli\&lt;/pre&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;路径&lt;/th&gt;&lt;th&gt;作用&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;settings.json&lt;/code&gt;&lt;/td&gt;&lt;td&gt;主配置：模型、提供方、权限策略、可信工作区&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;mcp_config.json&lt;/code&gt;&lt;/td&gt;&lt;td&gt;MCP 服务配置&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;builtin/skills/&lt;/code&gt;&lt;/td&gt;&lt;td&gt;内置技能和文档。比如 &lt;code&gt;agy-customizations/docs/mcp_servers.md&lt;/code&gt; 就是 MCP 的官方说明&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;brain/&amp;lt;会话id&amp;gt;/.system_generated/steps/&amp;lt;n&amp;gt;/&lt;/code&gt;&lt;/td&gt;&lt;td&gt;每次任务的“思考/执行”产物，排查问题时很有用&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;tip&quot;&gt;&lt;strong&gt;一个偷懒但好用的办法：&lt;/strong&gt;不知道该配什么的时候，&lt;strong&gt;直接问它自己&lt;/strong&gt;——“帮我看看 MCP 怎么配”。它就会去读 &lt;code&gt;builtin/skills/agy-customizations/docs/mcp_servers.md&lt;/code&gt; 再告诉你答案（我下面配 MCP 就是这么找到的）。&lt;/div&gt;&lt;h2&gt;三、原生协议接入：settings.json&lt;/h2&gt;&lt;p&gt;这是最关键的一步。我的 &lt;code&gt;settings.json&lt;/code&gt; 全文如下，就这么几行：&lt;/p&gt;&lt;pre class=&quot;brush:js;toolbar:false;&quot;&gt;{
&amp;nbsp;&amp;nbsp;&amp;quot;artifactReviewPolicy&amp;quot;:&amp;nbsp;&amp;quot;always-proceed&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;quot;model&amp;quot;:&amp;nbsp;&amp;quot;Gemini&amp;nbsp;3.8&amp;nbsp;Flash&amp;nbsp;(High)&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;quot;modelProvider&amp;quot;:&amp;nbsp;&amp;quot;gemini&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;quot;runningLightSpeed&amp;quot;:&amp;nbsp;&amp;quot;fast&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;quot;toolPermission&amp;quot;:&amp;nbsp;&amp;quot;always-proceed&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;quot;trustedWorkspaces&amp;quot;:&amp;nbsp;[
&amp;nbsp;&amp;nbsp;]
}&lt;/pre&gt;&lt;figure class=&quot;figure-img&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110040592208515.png&quot; alt=&quot;agy-settings-json.png&quot;/&gt;&lt;figcaption&gt;就这 12 行，没有玄学&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;逐项说明：&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;配置项&lt;/th&gt;&lt;th&gt;作用&lt;/th&gt;&lt;th&gt;我的取值&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;modelProvider&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;走哪个提供方。&lt;/strong&gt;认准 &lt;code&gt;gemini&lt;/code&gt;，这才是原生协议接入；写成别的就变成兼容层了&lt;/td&gt;&lt;td&gt;&lt;code&gt;&amp;quot;gemini&amp;quot;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;model&lt;/code&gt;&lt;/td&gt;&lt;td&gt;默认模型 + 思考档，写作 &lt;code&gt;&amp;quot;模型名 (档位)&amp;quot;&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&amp;quot;Gemini 3.8 Flash (High)&amp;quot;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;runningLightSpeed&lt;/code&gt;&lt;/td&gt;&lt;td&gt;运行速度档（影响它干活时的节奏）&lt;/td&gt;&lt;td&gt;&lt;code&gt;&amp;quot;fast&amp;quot;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;toolPermission&lt;/code&gt;&lt;/td&gt;&lt;td&gt;工具调用是否需要确认。&lt;code&gt;always-proceed&lt;/code&gt; = 不再每次弹确认&lt;/td&gt;&lt;td&gt;&lt;code&gt;&amp;quot;always-proceed&amp;quot;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;artifactReviewPolicy&lt;/code&gt;&lt;/td&gt;&lt;td&gt;产物（生成的代码/文件）的审查策略，同上&lt;/td&gt;&lt;td&gt;&lt;code&gt;&amp;quot;always-proceed&amp;quot;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;trustedWorkspaces&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;可信工作区白名单。&lt;/strong&gt;只有在这些目录下才放心让它放手动文件&lt;/td&gt;&lt;td&gt;你的项目目录&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;warn&quot;&gt;&lt;strong&gt;两个权限开关要慎重。&lt;/strong&gt;&lt;code&gt;toolPermission&lt;/code&gt; 和 &lt;code&gt;artifactReviewPolicy&lt;/code&gt; 我都设成了 &lt;code&gt;always-proceed&lt;/code&gt;，因为它干活时老是弹确认太打断节奏。但这等于&lt;strong&gt;放开了手脚&lt;/strong&gt;——它跑命令、改文件都不会再问你。所以&lt;code&gt;trustedWorkspaces&lt;/code&gt; 一定要填对，别把整个盘符丢进去。&lt;/div&gt;&lt;h2&gt;四、环境变量：把请求指向第三方地址&lt;/h2&gt;&lt;p&gt;CLI 默认连官方，但我们实际都会走中转。要改的就两个环境变量：&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;变量名&lt;/th&gt;&lt;th&gt;作用&lt;/th&gt;&lt;th&gt;我的值&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;GEMINI_API_KEY&lt;/code&gt;&lt;/td&gt;&lt;td&gt;鉴权用的 key（中转给你的那个）&lt;/td&gt;&lt;td&gt;sk-...（自己的）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;GOOGLE_GEMINI_BASE_URL&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;请求地址&lt;/strong&gt;，指向你的中转&lt;/td&gt;&lt;td&gt;&lt;code&gt;https://api.zjh336.cn/&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;表格里的地址是我自己在用的中转服务（也就是本站域名下的 &lt;code&gt;api.zjh336.cn&lt;/code&gt;），你照着换成自己的中转地址就行，&lt;strong&gt;关键是这个变量名&lt;/strong&gt;别写错。&lt;/p&gt;&lt;figure class=&quot;figure-img&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110041168245397.png&quot; alt=&quot;agy-env-vars.png&quot;/&gt;&lt;figcaption&gt;Windows「环境变量」窗口里加两条用户变量即可（key 已打码）&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;Windows 上两种加法，选一个：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;图形界面&lt;/strong&gt;：设置 → 系统 → 系统信息 → 高级系统设置 → 环境变量 → 用户变量，新建上面两条（我就是这么加的，直观）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;命令行&lt;/strong&gt;（永久生效）：&lt;code&gt;setx GEMINI_API_KEY &amp;quot;sk-你的key&amp;quot;&lt;/code&gt;、&lt;code&gt;setx GOOGLE_GEMINI_BASE_URL &amp;quot;https://api.zjh336.cn/&amp;quot;&lt;/code&gt;。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;warn&quot;&gt;&lt;strong&gt;最容易踩的坑：改完必须重开终端。&lt;/strong&gt;环境变量是进程启动时读的，当前已经开着的窗口不会自动生效。另外用 &lt;code&gt;setx&lt;/code&gt; 加的变量，同样要新开窗口才读得到。&lt;/div&gt;&lt;h3&gt;中转分组一定要选对&lt;/h3&gt;&lt;p&gt;还有一步很容易被忽略：&lt;strong&gt;中转平台里要选对分组&lt;/strong&gt;。同一个平台往往有好几组，走的协议和倍率都不一样：&lt;/p&gt;&lt;figure class=&quot;figure-img&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110041315554380.png&quot; alt=&quot;agy-api-key-group.png&quot;/&gt;&lt;figcaption&gt;分组下拉里的样子：有的组标着“反重力 cli 接入”，有的标着“chat 协议接入”，倍率也不一样（2.5x / 3x / 1x / 1.8x）&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;从图里能看出几个规律，照着选基本不会错：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;认准写着“反重力 cli 接入”的那一组&lt;/strong&gt;——它才是按原生协议给这个 CLI 用的；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;标着 &lt;strong&gt;“chat 协议接入”&lt;/strong&gt;的分组是给另一种调用方式的，用在这里可能就跑不通；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;有些组会注明“便宜、速度快、有缓存”，有的注明“较慢且无缓存”——同样是 Gemini，走不同分组体验差别很大；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;倍率直接等于你的花费&lt;/strong&gt;：2.5x 和 1x 差了 2.5 倍，选之前先看清。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;五、MCP 配置：mcp_config.json&lt;/h2&gt;&lt;p&gt;MCP 是让 CLI 能调用外部能力的机制（连数据库、操作浏览器等）。配置就写在一个文件里，我的全文如下：&lt;/p&gt;&lt;pre class=&quot;brush:js;toolbar:false;&quot;&gt;{
&amp;nbsp;&amp;nbsp;&amp;quot;mcpServers&amp;quot;:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;playwright&amp;quot;:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;command&amp;quot;:&amp;nbsp;&amp;quot;cmd.exe&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;args&amp;quot;:&amp;nbsp;[&amp;quot;/c&amp;quot;,&amp;nbsp;&amp;quot;npx&amp;quot;,&amp;nbsp;&amp;quot;-y&amp;quot;,&amp;nbsp;&amp;quot;@playwright/mcp@latest&amp;quot;],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;disabled&amp;quot;:&amp;nbsp;false
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;dbhub-mysql&amp;quot;:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;command&amp;quot;:&amp;nbsp;&amp;quot;cmd.exe&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;args&amp;quot;:&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;/c&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;pnpm&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;dlx&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;--package&amp;quot;,&amp;nbsp;&amp;quot;@bytebase/dbhub@latest&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;--package&amp;quot;,&amp;nbsp;&amp;quot;zod@3.25.76&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;dbhub&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;--config&amp;quot;,&amp;nbsp;&amp;quot;C:/Users/Administrator/.codex/temp-mysql-config.toml&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;--transport&amp;quot;,&amp;nbsp;&amp;quot;stdio&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;disabled&amp;quot;:&amp;nbsp;false
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;redis-mcp&amp;quot;:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;command&amp;quot;:&amp;nbsp;&amp;quot;cmd.exe&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;args&amp;quot;:&amp;nbsp;[&amp;quot;/c&amp;quot;,&amp;nbsp;&amp;quot;npx&amp;quot;,&amp;nbsp;&amp;quot;-y&amp;quot;,&amp;nbsp;&amp;quot;@modelcontextprotocol/server-redis&amp;quot;,&amp;nbsp;&amp;quot;redis://localhost:6379&amp;quot;],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;disabled&amp;quot;:&amp;nbsp;false
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;figure class=&quot;figure-img&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110041442695591.png&quot; alt=&quot;agy-mcp-config.png&quot;/&gt;&lt;figcaption&gt;我挂了三个：浏览器、MySQL、Redis&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;我配的三个各有用途：&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;名称&lt;/th&gt;&lt;th&gt;能力&lt;/th&gt;&lt;th&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;playwright&lt;/code&gt;&lt;/td&gt;&lt;td&gt;浏览器自动化&lt;/td&gt;&lt;td&gt;让它自己打开网页、点按钮、填表单、截图&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;dbhub-mysql&lt;/code&gt;&lt;/td&gt;&lt;td&gt;连 MySQL&lt;/td&gt;&lt;td&gt;用 &lt;code&gt;dbhub&lt;/code&gt; 做桥接，连接信息写在单独的 &lt;code&gt;temp-mysql-config.toml&lt;/code&gt; 里；&lt;code&gt;--transport stdio&lt;/code&gt; 是本地进程通信方式&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;redis-mcp&lt;/code&gt;&lt;/td&gt;&lt;td&gt;连 Redis&lt;/td&gt;&lt;td&gt;直接给一个 &lt;code&gt;redis://localhost:6379&lt;/code&gt; 就能连本地实例&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;warn&quot;&gt;&lt;strong&gt;Windows 上的写法要注意：&lt;/strong&gt;&lt;code&gt;command&lt;/code&gt; 不能直接写 &lt;code&gt;npx&lt;/code&gt;，得写成 &lt;code&gt;cmd.exe&lt;/code&gt; + 参数 &lt;code&gt;/c&lt;/code&gt; 再用 &lt;code&gt;npx&lt;/code&gt; 起。很多人 MCP 起不来就是栽在这儿。 &amp;nbsp; &amp;nbsp;&lt;br/&gt;另外 &lt;code&gt;&amp;quot;disabled&amp;quot;: false&lt;/code&gt; 才是&lt;strong&gt;启用&lt;/strong&gt;，别看反了。&lt;/div&gt;&lt;h2&gt;六、跑起来是什么样&lt;/h2&gt;&lt;p&gt;配置弄好之后，用起来是这种感觉——下面是我实际的一次会话（图有点长，看结构就行）：&lt;/p&gt;&lt;figure class=&quot;figure-img&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110042034620704.png&quot; alt=&quot;agy-cli-terminal.png&quot;/&gt;&lt;figcaption&gt;它会把自己的&lt;strong&gt;思考过程&lt;/strong&gt;和&lt;strong&gt;每一步调用了什么工具&lt;/strong&gt;都打出来&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;拆开看，它干活的链路大概是：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;Thought Process&lt;/code&gt; —— 先想清楚要干什么；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;ReadURL&lt;/code&gt; / &lt;code&gt;WebSearch&lt;/code&gt; —— 去读网页、搜索；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;Bash(Resolve-DnsName ...)&lt;/code&gt; —— 需要验证的时候就自己跑系统命令；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;Read(~/.gemini/.../steps/N/content.md)&lt;/code&gt; —— 读取自己之前记下来的步骤产物。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;有一次还挺有意思：我让它访问一个网址，&lt;strong&gt;结果我自己少打了一个字母&lt;/strong&gt;（把 &lt;code&gt;.com&lt;/code&gt; 打成了 &lt;code&gt;.cm&lt;/code&gt;）。它先读了 URL，又跑去查 DNS，发现解析不了，然后自己判断出&lt;strong&gt;“域名后缀写错了”&lt;/strong&gt;，改成正确地址打开，还顺手把网站信息总结给我了。&lt;/p&gt;&lt;p&gt;还有一次我说“用 playwright 的 mcp”，它没有瞎猜，而是先去翻了 &lt;code&gt;builtin/skills/agy-customizations/docs/mcp_servers.md&lt;/code&gt;——&lt;strong&gt;先查文档再动手&lt;/strong&gt;，这个习惯挺加分。&lt;/p&gt;&lt;div class=&quot;tip&quot;&gt;&lt;strong&gt;为什么这个思路值得学：&lt;/strong&gt;它的“技能”和“MCP 说明”都是本地明文文档，所以它能自己读文档把自己教会。你遇到不会配的地方，直接让它去读对应的 SKILL.md，比自己翻半天强。&lt;/div&gt;&lt;h2 id=&quot;qibie&quot;&gt;七、顺带说清：Gemini CLI 和 antigravityCli 到底啥区别&lt;/h2&gt;&lt;p&gt;Gemini 官方其实还有个更早、更出名的命令行工具 &lt;strong&gt;Gemini CLI&lt;/strong&gt;（就是敲 &lt;code&gt;gemini&lt;/code&gt; 那个）。很多人第一次接触 Gemini 就是用它，ccswitch 这类切换工具里也把它列成一个可选项。所以经常有人问：这俩到底有什么区别，我该用哪个？&lt;/p&gt;&lt;figure class=&quot;figure-img&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110042147036329.png&quot; alt=&quot;gemini-cli-model-list.png&quot;/&gt;&lt;figcaption&gt;Gemini CLI v0.59.0，敲 &lt;code&gt;/model&lt;/code&gt; 出来的候选列表&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;它的模型候选就是这几个：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;gemini-3.1-pro-preview&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;gemini-3-flash-preview&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;gemini-2.5-pro&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;gemini-3.1-flash-lite&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;gemini-3.5-flash&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;gemma-4-31b-it&lt;/code&gt; / &lt;code&gt;gemma-4-26b-a4b-it&lt;/code&gt;（开源小模型）&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;warn&quot;&gt;&lt;strong&gt;坑就在这里：这个列表最高只到 &lt;code&gt;gemini-3.5-flash&lt;/code&gt;，用不了 &lt;code&gt;gemini-3.8-flash&lt;/code&gt; 这种更新的高级模型。&lt;/strong&gt;&lt;br/&gt;
 &amp;nbsp; &amp;nbsp;所以你在 ccswitch 里把工具切成 Gemini CLI，如果发现“模型列表里怎么没有我要的那个”，&lt;strong&gt;多半就是这个原因，不是你配置错了&lt;/strong&gt;。&lt;/div&gt;&lt;h3&gt;两者的区别&lt;/h3&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;对比项&lt;/th&gt;&lt;th&gt;antigravityCli&lt;/th&gt;&lt;th&gt;Gemini CLI&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;我用的版本&lt;/td&gt;&lt;td&gt;1.1.28（官网下载页已 v1.2.0）&lt;/td&gt;&lt;td&gt;0.59.0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;可用模型&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Gemini 3.8 Flash (High) 等较新档位&lt;/td&gt;&lt;td&gt;&lt;strong&gt;最高到 gemini-3.5-flash&lt;/strong&gt;（实测截图为准）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;定位&lt;/td&gt;&lt;td&gt;面向 agent 的工作台：自主跑任务、改文件、挂 MCP&lt;/td&gt;&lt;td&gt;更轻的命令行助手，偏“问答 + 轻量工具调用”&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;权限 / 信任&lt;/td&gt;&lt;td&gt;配置文件里的 &lt;code&gt;trustedWorkspaces&lt;/code&gt;&lt;/td&gt;&lt;td&gt;有“受信任文件夹”的概念，用 &lt;code&gt;/permissions&lt;/code&gt; 调整；不受信任的目录里，project settings、hooks、MCP、GEMINI.md 都不生效&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;配置&lt;/td&gt;&lt;td&gt;&lt;code&gt;~/.gemini/antigravity-cli/&lt;/code&gt; 下两个 json&lt;/td&gt;&lt;td&gt;另一套配置，&lt;strong&gt;和上面的不通用&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h3&gt;官方为什么这么分？我的推测&lt;/h3&gt;&lt;div class=&quot;warn&quot;&gt;这一段是&lt;strong&gt;我自己的推测&lt;/strong&gt;，没有任何官方说法支撑，看看就行，别当结论。&lt;/div&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;产品分层。&lt;/strong&gt;把最新最强的模型留给新的 agent 产品，等于给 Antigravity 一个“非用不可”的理由；老工具卡在上一代，两边定位不打架。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;成本控制。&lt;/strong&gt;Gemini CLI 是开源、额度相对友好的工具，如果放开最新最贵的型号，额度和成本都不好控。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;形态要求不同。&lt;/strong&gt;Antigravity 是 agent 形态，要连续跑长任务、反复调工具，对模型的指令遵循和上下文要求更高；CLI 更像是问答加轻量工具调用，用中档模型也够。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;对我们的实际影响&lt;/h3&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;想用最新模型，基本没得选&lt;/strong&gt;——得走 antigravity 这条线；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;ccswitch 能切 ≠ 能用&lt;/strong&gt;：切过去之后模型清单是对方限定的，换之前先确认目标模型在不在列表里；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;两边配置不通用&lt;/strong&gt;：MCP、权限、信任目录都要各配一套，别想着复制过去就能跑；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;中转倍率可能不一样&lt;/strong&gt;：两套工具走的分组和计费倍率未必相同，换之前先看清；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;我的建议&lt;/strong&gt;：要前端、要审美、要跑 agent 类的活，上 antigravity；只是快速问一句、跑个轻量任务，用简单的那个就够了。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;八、踩坑记录&lt;/h2&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;现象&lt;/th&gt;&lt;th&gt;原因&lt;/th&gt;&lt;th&gt;解决&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;启动信息里没有 API key&lt;/td&gt;&lt;td&gt;环境变量没读到&lt;/td&gt;&lt;td&gt;确认变量名是 &lt;code&gt;GEMINI_API_KEY&lt;/code&gt;，然后&lt;strong&gt;重开终端&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;改了 base_url 但还连官方&lt;/td&gt;&lt;td&gt;老窗口没重启 / 变量名写错&lt;/td&gt;&lt;td&gt;变量名必须是 &lt;code&gt;GOOGLE_GEMINI_BASE_URL&lt;/code&gt;，结尾带 &lt;code&gt;/&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;401 / 鉴权失败&lt;/td&gt;&lt;td&gt;key 与分组不匹配&lt;/td&gt;&lt;td&gt;回中转平台确认用的是&lt;strong&gt;对应这个 CLI 的分组&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;模型用错了 / 思考档不对&lt;/td&gt;&lt;td&gt;改错了配置文件&lt;/td&gt;&lt;td&gt;认准 &lt;code&gt;~/.gemini/antigravity-cli/settings.json&lt;/code&gt; 里的 &lt;code&gt;model&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;MCP 起不来&lt;/td&gt;&lt;td&gt;Windows 下 &lt;code&gt;command&lt;/code&gt; 写法不对&lt;/td&gt;&lt;td&gt;改成 &lt;code&gt;cmd.exe&lt;/code&gt; + &lt;code&gt;/c&lt;/code&gt;；确认 &lt;code&gt;disabled: false&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;老是弹确认，很烦&lt;/td&gt;&lt;td&gt;权限策略没放开&lt;/td&gt;&lt;td&gt;&lt;code&gt;toolPermission&lt;/code&gt; 设 &lt;code&gt;always-proceed&lt;/code&gt;（配合 &lt;code&gt;trustedWorkspaces&lt;/code&gt; 用）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;访问工作区外的目录受限&lt;/td&gt;&lt;td&gt;不在白名单里&lt;/td&gt;&lt;td&gt;往 &lt;code&gt;trustedWorkspaces&lt;/code&gt; 里加&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h2&gt;九、小结&lt;/h2&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;Gemini 别硬塞进通用客户端，&lt;strong&gt;用它自己的 CLI 才顺&lt;/strong&gt;；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;配置全在 &lt;code&gt;~/.gemini/antigravity-cli/&lt;/code&gt; 下，两个文件搞定：&lt;code&gt;settings.json&lt;/code&gt; 和 &lt;code&gt;mcp_config.json&lt;/code&gt;；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;原生接入的关键是 &lt;code&gt;modelProvider: &amp;quot;gemini&amp;quot;&lt;/code&gt;&lt;/strong&gt;，别写成兼容层；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;走中转要改 &lt;code&gt;GEMINI_API_KEY&lt;/code&gt; + &lt;code&gt;GOOGLE_GEMINI_BASE_URL&lt;/code&gt; 两个环境变量，&lt;strong&gt;记得重开终端&lt;/strong&gt;；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;中转&lt;strong&gt;分组要选对&lt;/strong&gt;，协议不匹配跑不通，倍率选错白花钱；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;MCP 在 Windows 上记得用 &lt;code&gt;cmd.exe /c&lt;/code&gt; 起；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;不会配就问它本人——它会去读本地的 SKILL.md 文档；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;另一个 Gemini CLI（&lt;code&gt;gemini&lt;/code&gt;）是&lt;a href=&quot;#qibie&quot;&gt;另一套东西&lt;/a&gt;：更轻，但&lt;strong&gt;模型最高只到 gemini-3.5-flash&lt;/strong&gt;，想要 3.8 Flash 就得用 antigravity。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class=&quot;post-footer&quot;&gt;&lt;p&gt;就这样，从装到配基本没什么玄学，难点都在“知道去哪儿改”。有卡住的地方欢迎交流&lt;/p&gt;&lt;/div&gt;</description><pubDate>Fri, 11 Sep 2026 00:36:49 +0800</pubDate></item><item><title>开发者怎么挑大模型？grok、gemini、gpt、claude、deepseek、glm 使用体验</title><link>https://www.zjh336.cn/?id=2147</link><description>&lt;!-- 博客粘贴版：只含正文片段，直接全选复制，粘到编辑器“源码/HTML”模式即可 --&gt;&lt;div&gt;&lt;h1&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110023294587830.png&quot; alt=&quot;01-cover.png&quot;/&gt;&lt;/h1&gt;&lt;/div&gt;&lt;h2&gt;前言：先交代我自己的使用背景&lt;/h2&gt;&lt;p&gt;先说清楚我的情况，免得被当成“键盘评测”——这篇不是什么模型能力排行榜，而是一个普通开发者这几家挨个用下来之后的真实感受。&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;今年 3 月才开始正经用大模型&lt;/strong&gt;，最开始那段时间属于发展期，见一个试一个，很乱。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;4 月底到现在，主力一直是 GPT。&lt;/strong&gt;中间对比了一圈价格和能力，最后还是它综合下来最划算。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;最近这两周，GPT 不稳定了&lt;/strong&gt;——官方算力紧张，从新版本发布之后体验明显下滑——所以我又开始认真找替代方案。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;下面这六家，有的是我深度用过的，有的是最近才开始上手，有的至今没在实际工作里用过。我会如实标注，没实战过的我会说明白。&lt;/p&gt;&lt;blockquote&gt;本文全是个人实际使用感受，没做过跑分和基准测试。模型迭代太快，&lt;strong&gt;观点以 2026 年 9 月为准&lt;/strong&gt;。&lt;/blockquote&gt;&lt;h2&gt;先说结论：一张表看懂六家&lt;/h2&gt;&lt;p&gt;不想看我啰嗦的，直接看表。&lt;strong&gt;价格那列只是“贵/便宜”的相对感受，不是具体报价&lt;/strong&gt;；“我的使用状态”才是这张表最有价值的一列。&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;模型&lt;/th&gt;&lt;th&gt;强项&lt;/th&gt;&lt;th&gt;短板&lt;/th&gt;&lt;th&gt;价格感受&lt;/th&gt;&lt;th&gt;我的使用状态&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;GPT&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;能力强，复杂任务最稳；比 Claude 略便宜；风控相对没那么严&lt;/td&gt;&lt;td&gt;官方算力紧张，最近体验明显下滑&lt;/td&gt;&lt;td&gt;正价贵（都贵），中转有低价渠道&lt;/td&gt;&lt;td&gt;&lt;strong&gt;主力&lt;/strong&gt;（4 月底至今）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Claude&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;能力强，社区口碑好，用的人多&lt;/td&gt;&lt;td&gt;贵；风控比 GPT 严&lt;/td&gt;&lt;td&gt;贵&lt;/td&gt;&lt;td&gt;工作里没用过，3、4 月试过几天&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Gemini&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;前端样式、审美确实比 GPT 强&lt;/td&gt;&lt;td&gt;生态兼容性差，工具调用 / MCP 别扭&lt;/td&gt;&lt;td&gt;同价位有优势&lt;/td&gt;&lt;td&gt;最近才开始上手&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Grok&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;能力不错，速度也还行，codex 兼容性好&lt;/td&gt;&lt;td&gt;生态资料相对少&lt;/td&gt;&lt;td&gt;不算太贵&lt;/td&gt;&lt;td&gt;最近开始试&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;DeepSeek&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;V4.1 Flash 速度快、多模态、稳定&lt;/td&gt;&lt;td&gt;此前只有 flash / pro，缺多模态&lt;/td&gt;&lt;td&gt;这次降价后性价比明显上来&lt;/td&gt;&lt;td&gt;&lt;strong&gt;准备当主力&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;GLM&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;5.3-Flash 做日常活够用，前段时间有优惠&lt;/td&gt;&lt;td&gt;官方订阅贵；速度不如 DeepSeek V4.1 Flash&lt;/td&gt;&lt;td&gt;不算太贵（比不带 flash 的便宜）&lt;/td&gt;&lt;td&gt;深度用过一段时间做日常工作&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;看完上面那张表你会发现，我最后换不换模型，&lt;strong&gt;很大程度是被速度推着走的&lt;/strong&gt;——所以下面单独用一节说速度。&lt;/p&gt;&lt;h2&gt;输出速度：这是我这次换模型的最大动力&lt;/h2&gt;&lt;p&gt;用久了才发现，&lt;strong&gt;速度对日常体验的影响比“能力多强”更直接&lt;/strong&gt;。同样一个问题，20 token/s 和 200 token/s 是两个世界。下面这组数据是我自己在中转接入下实际体感的区间：&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;模型&lt;/th&gt;&lt;th&gt;实测速度（token/s）&lt;/th&gt;&lt;th&gt;体感&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;DeepSeek V4.1 Flash&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;200+&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;目前最快，快到有点不真实&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Gemini&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;100–200&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;能飙上去，出长内容很爽&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Grok&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;40–50&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;稳定，基本不怎么波动&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;GLM 5.3 Flash&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;30–40&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;够用，高峰期会波动&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;GPT&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;常见 &lt;strong&gt;20–30&lt;/strong&gt;；好时 60–70；差时 &lt;strong&gt;2–3&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;方差极大，最难受的就是它&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Claude&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;—&lt;/td&gt;&lt;td&gt;我没实际跑过，不做评价&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style=&quot;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:10px 14px;color:#9a3412&quot;&gt;&lt;strong&gt;说明：&lt;/strong&gt;以上都是我在&lt;strong&gt;中转渠道&lt;/strong&gt;下的实际体感区间，不是实验室跑分。速度受渠道、时段、上下文长度、输出内容影响很大，你那边测出来的数字可能跟我完全不一样——尤其 GPT，它是这几家里抖动最厉害的，同一个渠道不同时段能差十倍。&lt;/p&gt;&lt;p&gt;其中 DeepSeek 的“200+”不是我随口说的：下面讲 DeepSeek 那节我贴了任务记录截图，一次真实任务跑下来是 &lt;strong&gt;227 tok/s&lt;/strong&gt;。&lt;/p&gt;&lt;h2&gt;六家逐个说&lt;/h2&gt;&lt;h3&gt;1、GPT：目前的主力，但最近两周体验在滑坡 主力&lt;/h3&gt;&lt;p&gt;先把时间线说清楚：&lt;strong&gt;4 月底到现在，我一直用它当主力&lt;/strong&gt;，中间试过别的，最后都会回到它。&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;能力强。&lt;/strong&gt;复杂一点的活、需要多轮改的活，它兜底能力最好，这也是我没换掉它的主要原因。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;比 Claude 略便宜。&lt;/strong&gt;同样是第一梯队，它的价格相对好接受一点。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;风控没有 Claude 那么离谱。&lt;/strong&gt;当然它自己也风控，而且最近感觉还收紧了，但整体比 Claude 宽松。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;速度方差极大。&lt;/strong&gt;前段时间走中转接入，大部分时候只有 &lt;strong&gt;20–30 token/s&lt;/strong&gt;，状态好的时候能到 60–70，但差的时候只有 &lt;strong&gt;2–3 token/s&lt;/strong&gt;，慢到怀疑人生。这也是我最近想换掉它的直接原因之一。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;最近的问题：官方算力紧张。&lt;/strong&gt;从新版本发布之后，高峰期限流、响应慢，体验明显不如以前——这也是我最近开始折腾替代方案的原因。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:10px 14px;color:#166534&quot;&gt;&lt;strong&gt;关于价格的一个常识：&lt;/strong&gt;正价贵不是 GPT 一家的毛病，&lt;strong&gt;所有模型的正价都贵&lt;/strong&gt;。真正影响成本的是渠道——中转渠道基本都有低价，这也是为什么实际用起来未必有那么肉疼。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;一句话总结：&lt;/strong&gt;能力上限最高、我最熟，但最近不稳定，需要备胎。&lt;/p&gt;&lt;h3&gt;2、Claude：能力和口碑都在线，但我没真正用于工作 没实战过&lt;/h3&gt;&lt;p&gt;说句实话：&lt;strong&gt;这是六家里我唯一没在实际工作里用过的。&lt;/strong&gt;&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;用的人其实很多&lt;/strong&gt;，社区口碑一直很好，属于“公认的强”。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;我为什么没用：&lt;/strong&gt;一是贵；二是那会儿 GPT 还能用，没有非换不可的理由。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;我唯一接触的一段：&lt;/strong&gt;3、4 月那会儿 opus 4.6 / sonnet 4.6 出来，我试了几天，属于初期探测性质，后来发现 GPT 更便宜，就换回去了。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;风控：&lt;/strong&gt;据我了解比 GPT 严，这也是很多人绕开它的原因之一。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;一句话总结：&lt;/strong&gt;以后预算宽裕、或者遇到 GPT 啃不下来的硬骨头，我会优先考虑它；但目前它不在我的日常流程里。&lt;/p&gt;&lt;h3&gt;3、Gemini：前端样式和审美，确实比 GPT 强 最近上手&lt;/h3&gt;&lt;p&gt;以前只是听说它前端写得好，&lt;strong&gt;最近才亲自上手试&lt;/strong&gt;，试完的感受是：传闻不虚。&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;前端样式、审美能力强于 GPT。&lt;/strong&gt;这个对比是在&lt;strong&gt;同价位&lt;/strong&gt;的前提下说的——不是拿最顶的档去压 GPT 的基础档那种比法。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;改样式特别省事。&lt;/strong&gt;我最直接的体会就是：丢一句“这块样式不好看，调一下”，它就能给你改得不错，不用来来回回解释半天。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;输出速度快。&lt;/strong&gt;实测能飙到 &lt;strong&gt;100–200 token/s&lt;/strong&gt;，是这几家里最快的之一，出长内容的时候体验很爽。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;短板还是兼容性。&lt;/strong&gt;没法原生接进通用客户端；就算通过网关接进去了，工具调用、MCP 支持性也不好，还有个 thinking 标签的问题（思考内容容易乱入正文）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:10px 14px;color:#9a3412&quot;&gt;&lt;strong&gt;使用建议：&lt;/strong&gt;把它当成&lt;strong&gt;专门干前端 / 出效果的“专才”&lt;/strong&gt;来用，别指望它当全能主力。它也得用专门的载体去接（比如 antigravityCli 这类 CLI），硬塞进通用客户端只会浪费时间。&lt;/p&gt;&lt;h4 style=&quot;margin:26px 0 8px;&quot;&gt;效果对比：我让它调过的两个界面&lt;/h4&gt;&lt;p&gt;光说“审美更好”太抽象，直接上对比。下面这两组界面我都只提了一句“&lt;strong&gt;样式不好看，帮我调一下&lt;/strong&gt;”，没有给具体怎么改：&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110024229427267.png&quot; alt=&quot;02-gemini-schedule-before.png&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110024344241451.png&quot; alt=&quot;03-gemini-schedule-after.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;assets/02-gemini-schedule-before.png&quot; alt=&quot;&quot; style=&quot;max-width:100%;height:auto;border-radius:10px&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;assets/03-gemini-schedule-after.png&quot; alt=&quot;&quot; style=&quot;max-width:100%;height:auto;border-radius:10px&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;font-size:13px;color:#6b7280;text-align:center&quot;&gt;智能排班助手：排班表格 + 预览确认这套界面，调整后整体更清爽、层次更分明。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;assets/04-gemini-workbench-before.jpg&quot; alt=&quot;&quot; style=&quot;max-width:100%;height:auto;border-radius:10px&quot;/&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110025008628075.jpg&quot; alt=&quot;04-gemini-workbench-before.jpg&quot;/&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110025105358476.jpg&quot; alt=&quot;05-gemini-workbench-after.jpg&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;assets/05-gemini-workbench-after.jpg&quot; alt=&quot;&quot; style=&quot;max-width:100%;height:auto;border-radius:10px&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;font-size:13px;color:#6b7280;text-align:center&quot;&gt;华仔 AI 工作台：对话区 + 右侧会话信息面板，调整后信息密度和视觉重量都更舒服。&lt;/p&gt;&lt;p&gt;我的感受是：&lt;strong&gt;它不是在“套模板”，而是在改你现有页面的比例、间距和层次&lt;/strong&gt;。同价位下这一点比 GPT 明显，而且它改完你不用大动，能直接用。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;一句话总结：&lt;/strong&gt;做前端、调样式，它值得单独留一个位置。&lt;/p&gt;&lt;h3&gt;4、Grok：最近试的，综合表现比较均衡 最近上手&lt;/h3&gt;&lt;p&gt;也是最近才开始试的一家，试下来整体印象不错：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;能力不错&lt;/strong&gt;，实际输出质量比我预期好，做得比较到位。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;速度稳定在 40–50 token/s 左右&lt;/strong&gt;，波动很小，用起来不闹心。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;价格不算太贵&lt;/strong&gt;，属于中间档。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;codex 兼容性挺好的&lt;/strong&gt;，这点很关键——接进各种客户端基本不折腾。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;一句话总结：&lt;/strong&gt;能力不是最顶尖那一档，但“好用、好接、不贵”这三点它都占了，&lt;strong&gt;很适合当备胎&lt;/strong&gt;。&lt;/p&gt;&lt;h3&gt;5、DeepSeek：今天刚发的 V4.1，我觉得可以当主力了 准备转正&lt;/h3&gt;&lt;p&gt;这家这段时间升级幅度挺大的，我按时间线说：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;早期（只有 v4 flash 和 pro 的时候）：&lt;/strong&gt;简单用过一下，没深入。原因是&lt;strong&gt;当时没有多模态&lt;/strong&gt;，跟我现在的工作习惯不匹配。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;后来有多模态了：&lt;/strong&gt;但按使用量算，&lt;strong&gt;官方调用的价格没有 GPT 的中转渠道划算&lt;/strong&gt;，所以我还是没转过去。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;直到今天 V4.1 发布：&lt;/strong&gt;价格又降了一点，速度特别快。我拿真实场景测了一轮，已经能完成不少工作，而且完成得不错。&lt;strong&gt;速度更是夸张，实测能到 200+ token/s&lt;/strong&gt;，目前是我用过的里面最快的。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:10px 14px;color:#166534&quot;&gt;&lt;strong&gt;我的判断：&lt;/strong&gt;它现在可以当主力用了——理由是&lt;strong&gt;稳定&lt;/strong&gt;和&lt;strong&gt;高效&lt;/strong&gt;，再加上国内网络直连。我准备接下来把它放进日常流程里跑一段时间看看。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;一句话总结：&lt;/strong&gt;升级力度最大的一家，性价比和速度都上来了。&lt;/p&gt;&lt;h4 style=&quot;margin:26px 0 8px;&quot;&gt;实测：让它画一只“鹈鹕骑车”&lt;/h4&gt;&lt;p&gt;光说“能力强”太虚，说一个我实际测的场景——需求就一句话：&lt;strong&gt;用 SVG 画一只骑自行车的鹈鹕，要能动起来&lt;/strong&gt;。这是最近挺火的一个测试题，正好拿它试试水。&lt;/p&gt;&lt;p&gt;结果不只是画出来了：它自己做了一轮校验，中途还&lt;strong&gt;发现并修掉了一个真实 bug&lt;/strong&gt;——SMIL 的 &lt;code&gt;rotate&lt;/code&gt; 用的是绝对角度，而基础图形本身已经画在 θ=0 的位置上了，导致远侧腿的落脚位置偏移了 108px 左右。修完之后它把 50 个关键帧全改成了相对基线增量，还自己复核了脚掌和脚踏圆心的最大偏差。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;assets/06-pelican-bicycle.jpg&quot; alt=&quot;&quot; style=&quot;max-width:100%;height:auto;border-radius:10px&quot;/&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110025344300228.jpg&quot; alt=&quot;06-pelican-bicycle.jpg&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;font-size:13px;color:#6b7280;text-align:center&quot;&gt;出来的效果：自行车、道路、云、树、太阳，连车轮辐条和腿部踩踏都有。整个文件是自包含的，浏览器打开就跑。&lt;/p&gt;&lt;p&gt;这次任务跑完，工具里留下的记录是这样的：&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;assets/07-dsh-227toks.jpg&quot; alt=&quot;&quot; style=&quot;max-width:100%;height:auto;border-radius:10px&quot;/&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/09/202609110025494562567.jpg&quot; alt=&quot;07-dsh-227toks.jpg&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;font-size:13px;color:#6b7280;text-align:center&quot;&gt;本轮 4.4M token、缓存命中率 99.5%、用时 28 分 59 秒、&lt;strong&gt;首 token 1.4 秒&lt;/strong&gt;、&lt;strong&gt;输出速度 227 tok/s&lt;/strong&gt;——前面表里说的“200+”，依据就是这里。&lt;/p&gt;&lt;figure class=&quot;figure-demo&quot; style=&quot;width:100%&quot;&gt;&lt;iframe style=&quot;width:100%;height:800px;&quot; src=&quot;/pelican-bicycle.html&quot; title=&quot;鹈鹕骑车 SVG 动画演示&quot; loading=&quot;lazy&quot;&gt;&lt;/iframe&gt;&lt;/figure&gt;&lt;h3&gt;6、GLM 5.3 Flash：拿来干日常活的性价比选手 深度用过&lt;/h3&gt;&lt;p&gt;这家我是&lt;strong&gt;真真切切深度用过一段时间&lt;/strong&gt;的，日常都拿它来跑。&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;定位就是 flash：&lt;/strong&gt;新出的 5.3 Flash，价格相对不带 flash 的型号便宜一些（不算太贵），前段时间还有优惠活动。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;日常工作够用。&lt;/strong&gt;常规任务完成得不错；太难的任务我没交给它，也没必要砸牛刀。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;官方订阅特别贵&lt;/strong&gt;——这是它最大的槽点。&lt;strong&gt;中转渠道如果有，用用还是可以的&lt;/strong&gt;，性价比能拉回来。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;速度：30–40 token/s&lt;/strong&gt;，高峰期也会波动；比不上今天刚发布的 DeepSeek V4.1 Flash（200+），这个差距挺明显的。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;一句话总结：&lt;/strong&gt;预算有限、跑日常和批量任务，它是很实在的选择。&lt;/p&gt;&lt;h2&gt;场景对照：什么情况用哪个&lt;/h2&gt;&lt;p&gt;按具体工作场景整理，比单纯看能力榜实用：&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;使用场景&lt;/th&gt;&lt;th&gt;我的选择&lt;/th&gt;&lt;th&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;前端页面、调样式 / 审美&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Gemini&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;同价位下它的样式和审美确实更强，改样式一句就到位&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;复杂任务、多轮修改&lt;/td&gt;&lt;td&gt;&lt;strong&gt;GPT&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;我目前最信任的兜底选手；不稳定时可切 Claude&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;硬骨头（GPT 也啃不动）&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Claude&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;口碑一直很好，我还没实战过，准备留着应急&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;日常写代码、跑量&lt;/td&gt;&lt;td&gt;&lt;strong&gt;DeepSeek V4.1 Flash / GLM 5.3 Flash&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;两个都快、都便宜；速度上 DeepSeek 更好&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;多模态（截图、设计稿）&lt;/td&gt;&lt;td&gt;&lt;strong&gt;DeepSeek V4.1 / GLM 5.3 Flash&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;都能看图；DeepSeek 之前就吃过缺多模态的亏，现在补上了&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;超长上下文&lt;/td&gt;&lt;td&gt;&lt;strong&gt;DeepSeek / GLM&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;窗口大小看具体型号，以渠道文档为准&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;客户端里当备胎&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Grok&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;代码客户端的兼容性好，接入基本不折腾&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;追求输出速度&lt;/td&gt;&lt;td&gt;&lt;strong&gt;DeepSeek V4.1 Flash / Gemini&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;一个能到 200+，一个能到 100–200，出长内容差距特别明显&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;预算敏感&lt;/td&gt;&lt;td&gt;&lt;strong&gt;国产 Flash + 中转渠道&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;正价大家都贵，中转渠道的价格才是实际成本&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h2&gt;我现在的组合&lt;/h2&gt;&lt;div style=&quot;border:1px solid #e5e7eb;border-radius:12px;padding:14px 20px;background:#fcfdff&quot;&gt;&lt;h4&gt;当前状态（2026-09）&lt;/h4&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;主力：&lt;/strong&gt;GPT——4 月底至今没换过，最近不稳定但还没找到完全替代的。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;正在考察：&lt;/strong&gt;DeepSeek V4.1 Flash——速度快、稳定、多模态补齐了，准备转正。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;专项：&lt;/strong&gt;Gemini——只用来做前端和调样式。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;备胎：&lt;/strong&gt;Grok——接各种客户端不折腾。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;日常跑量：&lt;/strong&gt;GLM 5.3 Flash——常规活够用，官方订阅贵就走中转。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;应急：&lt;/strong&gt;Claude——没用过，但遇到啃不动的活会考虑。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;p&gt;核心就一句：&lt;strong&gt;GPT 还能打，但不能再单点依赖它。&lt;/strong&gt;这也是我最近这两周被迫折腾替代方案的最大收获。&lt;/p&gt;&lt;div&gt;&lt;p&gt;以上都是我这几个月的真实使用感受，用的是同一套工作习惯，但样本有限，也一定有偏颇的地方。如果你有不同体验，欢迎来交流。&lt;/p&gt;&lt;/div&gt;</description><pubDate>Fri, 11 Sep 2026 00:12:36 +0800</pubDate></item><item><title>2026 年，如何学习 AI 不落后</title><link>https://www.zjh336.cn/?id=2145</link><description>&lt;style&gt;.ai-post {
      margin: 0 auto;
      padding: 24px 16px 60px;
      color: #1f2937;
      line-height: 1.82;
      font-size: 16px;
      word-break: break-word;
    }
    .ai-post h1,
    .ai-post h2,
    .ai-post h3 {
      color: #111827;
      line-height: 1.35;
      margin: 1.6em 0 0.7em;
    }
    .ai-post h1 {
      font-size: 2rem;
      margin-top: 0;
    }
    .ai-post h2 {
      font-size: 1.45rem;
      border-left: 4px solid #2563eb;
      padding-left: 12px;
    }
    .ai-post h3 {
      font-size: 1.14rem;
    }
    .ai-post p {
      margin: 0.8em 0;
    }
    .ai-post a {
      color: #1d4ed8;
      text-decoration: none;
      border-bottom: 1px solid rgba(37, 99, 235, 0.22);
    }
    .ai-post a:hover {
      border-bottom-color: rgba(37, 99, 235, 0.8);
    }
    .ai-post .note,
    .ai-post .warning,
    .ai-post .toc {
      background: #f8fafc;
      border: 1px solid #e5e7eb;
      border-radius: 8px;
      padding: 14px 16px;
      margin: 18px 0;
    }
    .ai-post .warning {
      background: #fffbeb;
      border-color: #fde68a;
    }
    .ai-post code {
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, monospace;
      background: #f3f4f6;
      border-radius: 4px;
      padding: 2px 5px;
      font-size: 0.92em;
    }
    .ai-post pre {
      overflow: auto;
      border-radius: 8px;
      padding: 14px 16px;
      background: #111827;
      color: #e5e7eb;
      line-height: 1.6;
      font-size: 14px;
    }
    .ai-post pre code {
      background: transparent;
      color: inherit;
      padding: 0;
    }
    .ai-post table {
      width: 100%;
      border-collapse: collapse;
      margin: 18px 0;
      font-size: 15px;
    }
    .ai-post th,
    .ai-post td {
      border: 1px solid #e5e7eb;
      padding: 10px 12px;
      vertical-align: top;
    }
    .ai-post th {
      background: #f9fafb;
      color: #111827;
      text-align: left;
    }
    .ai-post ul,
    .ai-post ol {
      padding-left: 1.35em;
    }
    .ai-post li {
      margin: 0.38em 0;
    }
    .ai-post .small {
      color: #6b7280;
      font-size: 14px;
    }&lt;/style&gt;&lt;div class=&quot;ai-post&quot;&gt;&lt;div class=&quot;note&quot;&gt;&lt;p&gt;这篇文章不是写给“看热闹”的人，而是写给准备真正把 AI 用进工作流的人。尤其是程序员、测试、产品经理、售后和实施同学。如果你只把 AI 当聊天机器人，2026 年已经明显不够了；现在更应该把 AI 当成一个会读项目、会改代码、会跑命令、会整理需求、会协助排查问题的 Agent。&lt;/p&gt;&lt;/div&gt;&lt;p&gt;我先说自己的背景。我最开始是做全栈的，后来做后端，再转产品，又做回后端开发。以前我对“全栈”这个词其实没那么执着，因为真正做业务的时候，一个人同时处理前端、后端、部署、文档、测试、产品细节，成本很高，精力很容易被切碎。&lt;/p&gt;&lt;p&gt;但 AI 出来以后，我的感受变了：全栈能力重新变得更有价值。原因不是 AI 可以替代所有工作，而是 AI 把很多重复劳动、上下文切换和样板代码降了下来。一个懂业务、懂代码、懂产品的人，借助 AI Agent 可以把很多以前需要多人配合的事情先跑起来。&lt;/p&gt;&lt;p&gt;我维护过一个工具箱项目，叫“华仔 AutoJs 工具箱”，以前的产品说明可以看这里：&lt;a href=&quot;https://www.zjh336.cn/?id=2126&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.zjh336.cn/?id=2126&lt;/a&gt;。现在我也在用 AI 重构这个工具箱项目，仍然在进行中。我的 AI 使用时间不算特别早，差不多是从 2026 年 3 月底开始集中使用，到现在国产模型、国外模型、中转、CLI、桌面工具基本都试了一轮。最近一个月，我这边 GPT 模型的使用量已经跑到了 58 亿 token 以上。&lt;/p&gt;&lt;p&gt;这不是为了炫耀 token 数，而是想说明一件事：AI 学习不是收藏几个提示词，也不是看几篇评测。你必须把它放进真实工作里，让它参与你的需求分析、代码阅读、重构、测试、部署、文档和问题排查。用量上来了，才会知道哪些模型是真能干活，哪些工具只是看起来热闹。&lt;/p&gt;&lt;div class=&quot;toc&quot;&gt;&lt;strong&gt;本文主要讲这些内容：&lt;/strong&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;AI 是怎么发展到今天的，为什么 GPT 之后变化突然加速。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;2026 年国产模型和国外顶尖模型的现状。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;程序员、测试、产品、售后分别应该怎么用 AI。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;什么是 Agent，CLI 和桌面工具怎么选。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;从 0 开始安装 nvm、Node、Codex、Claude Code、Gemini CLI。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;如何用 ccswitch 管理中转和多模型。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;我推荐的模型入口和中转站：&lt;a href=&quot;https://api.zjh336.cn&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://api.zjh336.cn&lt;/a&gt;。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;h2&gt;一、AI 发展到 2026 年，真正变了什么&lt;/h2&gt;&lt;p&gt;AI 不是 2022 年才出现的。早期有规则系统、专家系统，后面有机器学习、深度学习，再到 2017 年 Transformer 架构出现，模型开始具备更强的语言理解和生成能力。BERT、GPT-2、GPT-3 这些模型一步步把“大模型”这条路走通。&lt;/p&gt;&lt;p&gt;但普通人真正感知到 AI 变化，是从 ChatGPT 出圈开始的。OpenAI 在 2022 年 11 月发布 ChatGPT，很多人第一次发现：原来机器不是只能返回搜索结果，也不是只能做分类识别，它可以像一个人一样持续对话、解释概念、写代码、写文案、做总结。&lt;/p&gt;&lt;p&gt;到了 2023 年，GPT-4 发布以后，代码能力、复杂推理、长文本处理明显上了一个台阶。那一年，很多程序员开始用 AI 写脚本、解释报错、生成 SQL、写接口文档。那时的 AI 还更像“高级问答工具”。你问得好，它答得好；你不会问，它就容易胡说。&lt;/p&gt;&lt;p&gt;2024 年开始，多模态明显加速。GPT-4o 这类模型让文字、图片、语音、视频理解越来越自然。国内外的文生图、图生视频、文生视频工具也越来越成熟。AI 漫剧就是这个阶段很典型的出圈场景：以前做一条短剧或者漫剧，需要编剧、分镜、美术、配音、剪辑多人配合；现在一个人可以用 AI 生成剧本、角色设定、分镜图、配音、背景音乐和视频片段，再用剪辑工具拼成完整作品。&lt;/p&gt;&lt;p&gt;2025 到 2026 年，重点又变了。大家不再只问“哪个模型聊天最聪明”，而是开始问“哪个模型能替我完成任务”。这就是 Agent 时代。Agent 的关键不是会聊天，而是会围绕目标读文件、调用工具、执行命令、修改代码、自己检查结果，然后继续迭代。&lt;/p&gt;&lt;p&gt;这也是 vibe coding 火起来的原因。很多人把 vibe coding 简单理解成“用自然语言让 AI 写代码”，我觉得这个理解太浅。真正的 vibe coding 是：人负责目标、判断、架构边界和验收，AI 负责快速展开、生成、修改、解释和补齐。你不用一行一行敲所有代码，但你必须知道它改了什么，为什么改，风险在哪里，怎么验证。&lt;/p&gt;&lt;p&gt;再到 2026 年，OpenClaw 这种工具也在圈内出圈。国内很多人把它叫“龙虾”，它的核心意义不只是又多了一个工具，而是说明大家的关注点正在从“单个模型”转向“Agent 工作流”。OpenClaw 官方定位是本地优先的 agentic coding 平台，强调多 Agent 编排、规格化任务、CLI/TUI 和可视化工作流。类似工具的出现，说明 AI 编程已经进入“谁能把模型组织成稳定生产力”的阶段。&lt;/p&gt;&lt;p&gt;所以 2026 年学习 AI，不能只学提示词，也不能只盯排行榜。你要学的是一整套工作方式：模型怎么选、工具怎么装、中转怎么配、项目怎么接入、任务怎么拆、结果怎么验收。&lt;/p&gt;&lt;h2&gt;二、国产模型现状：能用了，而且越来越适合实战&lt;/h2&gt;&lt;p&gt;如果是 2023 年，我会更明确地说国外模型领先很多。但到 2026 年，国产模型已经不是“能不能用”的问题，而是“在哪些场景更适合用”的问题。&lt;/p&gt;&lt;p&gt;我现在看国产模型，主要看这几个维度：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;代码能力：能不能读项目、改项目、写测试、理解错误日志。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;长上下文：能不能塞进去更多代码、文档、日志和需求。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;工具调用：能不能稳定配合 Agent、CLI、插件和工作流。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;中文能力：能不能理解国内业务表达、产品文档、聊天记录和售后场景。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;价格和可用性：能不能高频使用，而不是每次调用都心疼。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;1. DeepSeek&lt;/h3&gt;&lt;p&gt;DeepSeek 这两年在国内开发者圈的存在感很强。它的优势是推理、代码和性价比，API 也比较适合开发者接入。DeepSeek 官方在 2026 年已经发布了 V4 相关模型说明，并且兼容 OpenAI Chat API 和 Anthropic API 这类调用方式，这对接入 CLI Agent 和中转服务很重要。&lt;/p&gt;&lt;p&gt;我对 DeepSeek 的建议是：如果你要做中文代码理解、脚本生成、文档总结、业务分析，值得作为主力国产模型之一测试。不要只用一次问答判断好坏，最好拿你自己的真实任务跑三轮，比如修一个 bug、补一组测试、解释一次线上日志，再看结果。&lt;/p&gt;&lt;h3&gt;2. GLM&lt;/h3&gt;&lt;p&gt;智谱 GLM 系列在 Agent、长任务和中文能力上一直有比较强的投入。2026 年的 GLM-5.1 进一步强调长周期 Agent 任务和工程能力。对产品、测试、售后这种需要处理大量中文材料的岗位来说，GLM 系列通常比纯代码评测更值得关注。&lt;/p&gt;&lt;p&gt;我会把 GLM 放在“中文综合任务”和“产品文档处理”里测试。比如让它整理 PRD、把客户反馈转成需求池、把故障处理记录转成 FAQ，这类任务更容易看出模型的中文组织能力。&lt;/p&gt;&lt;h3&gt;3. Qwen&lt;/h3&gt;&lt;p&gt;通义千问 Qwen 系列已经形成了很完整的模型家族，Plus、Max、Coder、VL、多模态都有对应方向。2026 年 Qwen3.6、Qwen3.7 这类版本继续在长上下文、代码、Agent 能力上推进。对企业用户来说，阿里云百炼和 Model Studio 的生态也比较完整。&lt;/p&gt;&lt;p&gt;如果你是后端、全栈、测试工程师，我建议至少测试 Qwen Plus 和 Qwen Coder 相关能力。尤其是中文项目、国内框架、Java/Spring、Vue、SQL、接口文档这类任务，Qwen 的使用体验通常比较稳。&lt;/p&gt;&lt;h3&gt;4. 豆包和 Seed&lt;/h3&gt;&lt;p&gt;豆包背后的 Seed 模型在国内 C 端和企业端都很活跃。它的优势不只是模型本身，还有火山引擎、扣子、内容生成、多模态和企业服务能力。对于内容生产、客服、运营、产品分析和流程自动化，豆包生态值得关注。&lt;/p&gt;&lt;p&gt;如果你的工作偏内容、售后、运营、知识库和多模态处理，豆包往往比单纯代码模型更贴近场景。&lt;/p&gt;&lt;h3&gt;5. 小米 MiMo&lt;/h3&gt;&lt;p&gt;小米 MiMo 系列在 2026 年也开始被更多开发者关注。它的特点是强调 Agent 能力、代码和端侧生态。小米这类厂商做模型，不只是为了聊天，更重要的是把模型能力接到设备、系统和应用链路里。&lt;/p&gt;&lt;p&gt;从程序员视角看，MiMo 不是所有人第一天就要上手的主力模型，但它代表了一个趋势：后面 AI 不会只存在于网页和 IDE，而是会进入操作系统、手机、汽车、IoT 和各种垂直设备。&lt;/p&gt;&lt;h3&gt;6. 我对国产模型的使用结论&lt;/h3&gt;&lt;p&gt;国产模型现在已经适合日常工作中的大量任务：中文总结、需求分析、接口文档、测试用例、日志分析、简单代码生成、脚本编写、数据库查询辅助、客服知识库整理。对于非常复杂的跨文件重构、超长链路推理、复杂 Agent 编码，我目前仍然会优先测试国外顶尖模型，尤其是 GPT 和 Claude。&lt;/p&gt;&lt;p&gt;但从成本和可用性看，国产模型必须纳入你的工具箱。我的建议不是只押一个模型，而是准备一套模型池：高难度任务用顶尖模型，日常高频任务用性价比模型，中文业务任务用国产模型。&lt;/p&gt;&lt;h2&gt;三、国外顶尖模型现状：GPT、Claude、Gemini 仍然是第一梯队&lt;/h2&gt;&lt;p&gt;截至 2026-06-14，我认为国外模型第一梯队主要还是 OpenAI、Anthropic、Google。它们各自的优势不一样。&lt;/p&gt;&lt;h3&gt;1. OpenAI：GPT 和 Codex 是我当前优选&lt;/h3&gt;&lt;p&gt;OpenAI 当前开发者文档中，GPT-5.5 被定位为旗舰模型，适合复杂编码、长链路推理和 Agent 场景。OpenAI 的优势是模型能力、工具生态、Responses API、Codex CLI、Codex App 这几条线配合得比较完整。&lt;/p&gt;&lt;p&gt;如果你问我 2026 年程序员优先从哪个 Agent 工具开始，我会优先推荐 Codex。原因很直接：Codex 是 OpenAI 官方 coding agent，和 GPT 系列模型贴合度高，CLI 和桌面 App 都有官方路线。对程序员来说，这种“模型和工具同源”的稳定性很重要。&lt;/p&gt;&lt;p&gt;我现在的个人倾向是：GPT 相关任务优先用 Codex。代码阅读、重构、补测试、生成迁移方案、解释大型项目，Codex 是我的第一优先级。&lt;/p&gt;&lt;h3&gt;2. Anthropic：Claude Code 仍然很强&lt;/h3&gt;&lt;p&gt;Claude Code 是 Anthropic 官方的命令行 coding agent。Claude 系列模型在长文本、代码审查、需求理解和“少废话地把任务推进下去”这方面一直很有优势。2026 年 Claude Fable、Opus、Sonnet 这些模型线继续强化 coding 和 agentic 能力。&lt;/p&gt;&lt;p&gt;如果你主要用 Claude，我建议直接上 Claude Code。它的交互方式很适合项目内工作：进入项目目录，告诉它目标，让它读代码、改文件、运行命令、解释结果。对已有项目的维护和重构来说，这种方式比网页聊天自然很多。&lt;/p&gt;&lt;h3&gt;3. Google：Gemini 的长上下文和多模态优势明显&lt;/h3&gt;&lt;p&gt;Gemini 系列的优势是长上下文、多模态和 Google 生态。Gemini CLI 也已经成为开发者可以直接安装使用的命令行工具。如果你的任务涉及大量文档、图片、视频、长代码仓库、多模态理解，Gemini 值得放进工具箱。&lt;/p&gt;&lt;p&gt;我不建议把 Gemini 当“可有可无”的备用模型。它在某些长上下文任务上很有价值，尤其是你要一次性分析很多文件、很多日志、很多文档的时候。&lt;/p&gt;&lt;h3&gt;4. 国外模型怎么选&lt;/h3&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;任务&lt;/th&gt;&lt;th&gt;优先选择&lt;/th&gt;&lt;th&gt;原因&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;复杂代码重构、Agent 编程&lt;/td&gt;&lt;td&gt;GPT + Codex&lt;/td&gt;&lt;td&gt;我当前最推荐的组合，官方工具链完整，适合程序员直接落地。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;项目维护、代码审查、需求到实现&lt;/td&gt;&lt;td&gt;Claude + Claude Code&lt;/td&gt;&lt;td&gt;Claude Code 的项目内交互体验成熟，适合持续推进任务。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;长文档、多模态、长上下文分析&lt;/td&gt;&lt;td&gt;Gemini + Gemini CLI&lt;/td&gt;&lt;td&gt;Gemini 的长上下文和多模态是它的核心优势。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;国产模型、低成本高频任务&lt;/td&gt;&lt;td&gt;DeepSeek、Qwen、GLM、豆包等&lt;/td&gt;&lt;td&gt;适合中文业务、高频调用和成本敏感场景。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h2&gt;四、适用人群：不只是程序员&lt;/h2&gt;&lt;p&gt;很多人以为 AI Agent 只适合程序员，其实不是。程序员只是最早感受到冲击的一批人。测试、售后、产品经理这些岗位同样适合用 AI，而且很多场景见效更快。&lt;/p&gt;&lt;h3&gt;1. 程序员&lt;/h3&gt;&lt;p&gt;程序员最直接的用法是写代码，但不要只让 AI 从零写代码。更好的方式是让它参与完整开发流程：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;读项目结构，整理架构说明。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;解释陌生模块，画出调用链。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;定位 bug，分析日志，提出修复方案。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;按已有风格新增功能。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;重构重复代码，补单元测试。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;生成接口文档、部署文档、升级日志。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;做代码审查，找潜在空指针、并发、权限和边界问题。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;程序员用 AI 的关键是：你不能把判断权交出去。AI 可以写得很快，但你要知道项目边界、数据结构、异常路径和验收标准。&lt;/p&gt;&lt;h3&gt;2. 售后和实施人员&lt;/h3&gt;&lt;p&gt;售后和实施经常面对的是日志、截图、客户描述、环境差异、版本差异和重复问题。AI 很适合做这些事情：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;把客户描述整理成标准问题单。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;根据日志判断可能原因。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;生成排查步骤和客户回复话术。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;把历史问题整理成 FAQ。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;把部署手册改成更容易执行的步骤。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;根据报错截图推测需要检查的配置项。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;售后人员用 AI，不一定要会写很多代码，但要会把上下文给清楚：系统版本、操作步骤、报错时间、日志片段、客户环境、已经尝试过的方法。上下文越清楚，AI 越像一个有经验的二线支持。&lt;/p&gt;&lt;h3&gt;3. 测试人员&lt;/h3&gt;&lt;p&gt;测试岗位非常适合 AI。因为测试本质上需要大量边界思考和重复整理：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;根据 PRD 生成测试点。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;把测试点转成用例表。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;根据接口文档生成 Postman 或自动化脚本。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;根据 bug 描述反推复现步骤。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;根据代码改动分析影响范围。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;生成边界值、异常值和兼容性测试清单。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;测试人员不要只让 AI 写“正常流程”。真正有价值的是让 AI 帮你想异常流程、边界流程、并发流程、权限流程和数据污染场景。&lt;/p&gt;&lt;h3&gt;4. 产品经理&lt;/h3&gt;&lt;p&gt;产品经理用 AI，不能停留在“写 PRD”。AI 更适合做需求整理和结构化：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;把客户原话转成需求背景、目标、范围和验收标准。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;把会议纪要转成任务列表。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;把竞品页面整理成差异分析。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;把开发反馈转成需求调整建议。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;把用户故事转成流程图、状态机和异常分支。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;把版本计划拆成里程碑和优先级。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;产品经理尤其要学会让 AI 输出“可验收”的内容。不要只要一段漂亮文字，而要让它输出字段、流程、状态、权限、异常、接口影响和验收标准。&lt;/p&gt;&lt;h2&gt;五、先理解 Agent 类型：CLI、桌面工具和可视化工具&lt;/h2&gt;&lt;p&gt;2026 年，你至少要理解这几类 AI 工具。&lt;/p&gt;&lt;h3&gt;1. 网页聊天工具&lt;/h3&gt;&lt;p&gt;ChatGPT、Claude、Gemini、豆包、通义、Kimi 这些网页聊天工具适合问答、写作、解释概念、临时分析和轻量内容生产。但它们的问题是：和你的本地项目、命令行、文件系统之间隔了一层。你要复制粘贴代码，它才能分析；你要手动把结果粘回项目，它才能落地。&lt;/p&gt;&lt;h3&gt;2. IDE 插件&lt;/h3&gt;&lt;p&gt;Cursor、Windsurf、GitHub Copilot、各类 VS Code 插件，适合在编辑器内写代码。它们的优势是贴近代码，劣势是有时会被 IDE 的交互方式限制。适合日常补全、局部修改、解释文件。&lt;/p&gt;&lt;h3&gt;3. CLI Agent&lt;/h3&gt;&lt;p&gt;CLI Agent 是我现在最推荐程序员学习的路线。代表工具包括：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://developers.openai.com/codex/cli&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Codex CLI&lt;/a&gt;：OpenAI 官方 coding agent，我当前优选。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://docs.anthropic.com/en/docs/claude-code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code&lt;/a&gt;：Anthropic 官方命令行 coding agent。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/google-gemini/gemini-cli&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Gemini CLI&lt;/a&gt;：Google 官方开源 AI agent。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://opencode.ai/docs/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenCode&lt;/a&gt;：面向终端、IDE、桌面的 AI coding agent。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://openclaw.ai/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenClaw&lt;/a&gt;：本地优先的 agentic coding 平台，2026 年出圈的代表之一。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;CLI Agent 的优势是直接进入项目目录工作。它可以读文件、改文件、运行命令、看测试结果，再继续修改。对于程序员来说，这是最接近真实开发流程的形态。&lt;/p&gt;&lt;h3&gt;4. 桌面和可视化工具&lt;/h3&gt;&lt;p&gt;如果你不喜欢纯命令行，可以使用桌面工具或可视化界面：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://developers.openai.com/codex/app&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Codex App&lt;/a&gt;：OpenAI 官方桌面 App，优先推荐。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://opencode.ai/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenCode Desktop&lt;/a&gt;：OpenCode 的桌面方向。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/zhukunpenglinyutong/desktop-cc-gui&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CCGUI&lt;/a&gt;：Claude Code GUI 桌面工具。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;我的建议是：程序员先学 CLI，再上桌面。CLI 能让你理解 Agent 到底怎么工作；桌面工具可以提升体验，但不要跳过底层逻辑。&lt;/p&gt;&lt;h2&gt;六、如何开始：先装 nvm 和 Node&lt;/h2&gt;&lt;p&gt;很多 AI CLI 工具都是基于 Node.js 生态发布的，所以第一步建议先装 nvm 和 Node。Windows 用户建议使用 nvm-windows，macOS/Linux 用户使用 nvm。&lt;/p&gt;&lt;h3&gt;1. Windows 安装 nvm-windows&lt;/h3&gt;&lt;p&gt;打开官方仓库下载最新版安装包：&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/coreybutler/nvm-windows/releases&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/coreybutler/nvm-windows/releases&lt;/a&gt;&lt;/p&gt;&lt;p&gt;下载 &lt;code&gt;nvm-setup.exe&lt;/code&gt;，一路安装即可。安装完成后，打开 PowerShell 或 Windows Terminal，执行：&lt;/p&gt;&lt;pre&gt;nvm&amp;nbsp;version
nvm&amp;nbsp;list&amp;nbsp;available&lt;/pre&gt;&lt;p&gt;然后选择一个 LTS 版本安装。版本号以你执行 &lt;code&gt;nvm list available&lt;/code&gt; 看到的为准，例如：&lt;/p&gt;&lt;pre&gt;nvm&amp;nbsp;install&amp;nbsp;24.11.1
nvm&amp;nbsp;use&amp;nbsp;24.11.1
node&amp;nbsp;-v
npm&amp;nbsp;-v&lt;/pre&gt;&lt;p&gt;如果 npm 下载很慢，可以临时使用国内镜像：&lt;/p&gt;&lt;pre&gt;npm&amp;nbsp;config&amp;nbsp;set&amp;nbsp;registry&amp;nbsp;https://registry.npmmirror.com
npm&amp;nbsp;config&amp;nbsp;get&amp;nbsp;registry&lt;/pre&gt;&lt;p&gt;如果你要恢复官方源：&lt;/p&gt;&lt;pre&gt;npm&amp;nbsp;config&amp;nbsp;set&amp;nbsp;registry&amp;nbsp;https://registry.npmjs.org/&lt;/pre&gt;&lt;h3&gt;2. macOS/Linux 安装 nvm&lt;/h3&gt;&lt;p&gt;打开 nvm 官方仓库查看最新安装命令：&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/nvm-sh/nvm&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/nvm-sh/nvm&lt;/a&gt;&lt;/p&gt;&lt;p&gt;常见安装方式如下，具体版本号以官方 README 为准：&lt;/p&gt;&lt;pre&gt;curl&amp;nbsp;-o-&amp;nbsp;https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh&amp;nbsp;|&amp;nbsp;bash
source&amp;nbsp;~/.bashrc
nvm&amp;nbsp;install&amp;nbsp;--lts
nvm&amp;nbsp;use&amp;nbsp;--lts
node&amp;nbsp;-v
npm&amp;nbsp;-v&lt;/pre&gt;&lt;h2&gt;七、安装 CLI：我推荐 Codex 和 Claude Code&lt;/h2&gt;&lt;p&gt;我的优先级是：先装 Codex，再装 Claude Code，再装 Gemini CLI。OpenCode、OpenClaw 可以后面按需补。&lt;/p&gt;&lt;h3&gt;1. 安装 Codex CLI&lt;/h3&gt;&lt;p&gt;官方文档：&lt;a href=&quot;https://developers.openai.com/codex/cli&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://developers.openai.com/codex/cli&lt;/a&gt;&lt;/p&gt;&lt;p&gt;使用 npm 安装：&lt;/p&gt;&lt;pre&gt;npm&amp;nbsp;install&amp;nbsp;-g&amp;nbsp;@openai/codex
codex&amp;nbsp;--version
codex&lt;/pre&gt;&lt;p&gt;如果你使用 OpenAI 官方账号，可以按 Codex 提示登录。如果你使用 API Key，可以设置环境变量。Windows 示例：&lt;/p&gt;&lt;pre&gt;setx&amp;nbsp;OPENAI_API_KEY&amp;nbsp;&amp;quot;你的&amp;nbsp;OpenAI&amp;nbsp;API&amp;nbsp;Key&amp;quot;&lt;/pre&gt;&lt;p&gt;设置完 &lt;code&gt;setx&lt;/code&gt; 后，需要重新打开一个终端窗口再执行：&lt;/p&gt;&lt;pre&gt;codex&lt;/pre&gt;&lt;p&gt;macOS/Linux 示例：&lt;/p&gt;&lt;pre&gt;export&amp;nbsp;OPENAI_API_KEY=&amp;quot;你的&amp;nbsp;OpenAI&amp;nbsp;API&amp;nbsp;Key&amp;quot;
codex&lt;/pre&gt;&lt;h3&gt;2. Codex 配置我的中转站&lt;/h3&gt;&lt;p&gt;如果你使用我的中转站，可以先访问：&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://api.zjh336.cn&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://api.zjh336.cn&lt;/a&gt;&lt;/p&gt;&lt;p&gt;拿到 API Key 后，在 Windows 里设置：&lt;/p&gt;&lt;pre&gt;setx&amp;nbsp;ZJH_API_KEY&amp;nbsp;&amp;quot;你的中转&amp;nbsp;API&amp;nbsp;Key&amp;quot;&lt;/pre&gt;&lt;p&gt;然后编辑 Codex 配置文件。Windows 一般在：&lt;/p&gt;&lt;pre&gt;%USERPROFILE%\.codex\config.toml&lt;/pre&gt;&lt;p&gt;macOS/Linux 一般在：&lt;/p&gt;&lt;pre&gt;~/.codex/config.toml&lt;/pre&gt;&lt;p&gt;可以参考下面的配置。注意：不同中转对 Responses API 和 Chat Completions API 的兼容程度不同，如果你的中转后台说明要求使用 Chat 接口，就把 &lt;code&gt;wire_api&lt;/code&gt; 改成 &lt;code&gt;chat&lt;/code&gt;。&lt;/p&gt;&lt;pre&gt;model&amp;nbsp;=&amp;nbsp;&amp;quot;gpt-5.5&amp;quot;
model_provider&amp;nbsp;=&amp;nbsp;&amp;quot;zjh&amp;quot;

[model_providers.zjh]
name&amp;nbsp;=&amp;nbsp;&amp;quot;ZJH&amp;nbsp;API&amp;quot;
base_url&amp;nbsp;=&amp;nbsp;&amp;quot;https://api.zjh336.cn/v1&amp;quot;
env_key&amp;nbsp;=&amp;nbsp;&amp;quot;ZJH_API_KEY&amp;quot;
wire_api&amp;nbsp;=&amp;nbsp;&amp;quot;responses&amp;quot;&lt;/pre&gt;&lt;p&gt;如果遇到不兼容，可以先改成：&lt;/p&gt;&lt;pre&gt;wire_api&amp;nbsp;=&amp;nbsp;&amp;quot;chat&amp;quot;&lt;/pre&gt;&lt;p&gt;第一次测试不要直接拿公司核心项目试，建议新建一个临时目录：&lt;/p&gt;&lt;pre&gt;mkdir&amp;nbsp;ai-test
cd&amp;nbsp;ai-test
codex&lt;/pre&gt;&lt;p&gt;然后输入：&lt;/p&gt;&lt;pre&gt;请帮我创建一个&amp;nbsp;Node.js&amp;nbsp;命令行小工具，功能是读取当前目录下的&amp;nbsp;package.json，并输出项目名称、版本号和&amp;nbsp;scripts&amp;nbsp;列表。完成后请告诉我怎么运行。&lt;/pre&gt;&lt;p&gt;这类小任务最适合测试环境是否可用。&lt;/p&gt;&lt;h3&gt;3. 安装 Claude Code&lt;/h3&gt;&lt;p&gt;官方文档：&lt;a href=&quot;https://docs.anthropic.com/en/docs/claude-code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://docs.anthropic.com/en/docs/claude-code&lt;/a&gt;&lt;/p&gt;&lt;pre&gt;npm&amp;nbsp;install&amp;nbsp;-g&amp;nbsp;@anthropic-ai/claude-code
claude&amp;nbsp;--version
claude&lt;/pre&gt;&lt;p&gt;如果你使用 Anthropic 官方 API：&lt;/p&gt;&lt;pre&gt;setx&amp;nbsp;ANTHROPIC_API_KEY&amp;nbsp;&amp;quot;你的&amp;nbsp;Anthropic&amp;nbsp;API&amp;nbsp;Key&amp;quot;&lt;/pre&gt;&lt;p&gt;如果使用中转，建议优先用后面讲的 ccswitch 管理。你也可以按中转后台说明配置 &lt;code&gt;ANTHROPIC_BASE_URL&lt;/code&gt; 和 &lt;code&gt;ANTHROPIC_API_KEY&lt;/code&gt;，但不同中转的路径和鉴权方式可能不同，以后台说明为准。&lt;/p&gt;&lt;h3&gt;4. 安装 Gemini CLI&lt;/h3&gt;&lt;p&gt;官方仓库：&lt;a href=&quot;https://github.com/google-gemini/gemini-cli&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/google-gemini/gemini-cli&lt;/a&gt;&lt;/p&gt;&lt;pre&gt;npm&amp;nbsp;install&amp;nbsp;-g&amp;nbsp;@google/gemini-cli
gemini&amp;nbsp;--version
gemini&lt;/pre&gt;&lt;p&gt;Gemini 可以走 Google 官方登录或 API Key，按命令行提示操作即可。&lt;/p&gt;&lt;h3&gt;5. 安装 OpenCode&lt;/h3&gt;&lt;p&gt;官方文档：&lt;a href=&quot;https://opencode.ai/docs/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://opencode.ai/docs/&lt;/a&gt;&lt;/p&gt;&lt;pre&gt;npm&amp;nbsp;install&amp;nbsp;-g&amp;nbsp;opencode-ai
opencode&lt;/pre&gt;&lt;p&gt;OpenCode 的价值是支持多模型、多供应商和多种使用形态。你可以把它作为 Codex、Claude Code 之外的补充工具。&lt;/p&gt;&lt;h2&gt;八、安装辅助软件 ccswitch：管理多模型和中转&lt;/h2&gt;&lt;p&gt;当你只用一个模型时，环境变量还能忍。但当你同时用 GPT、Claude、Gemini、DeepSeek、Qwen、GLM、豆包，再加上官方订阅和中转，你会发现配置非常容易乱。这时候就需要 ccswitch。&lt;/p&gt;&lt;p&gt;ccswitch 官方仓库：&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/farion1231/cc-switch&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/farion1231/cc-switch&lt;/a&gt;&lt;/p&gt;&lt;p&gt;下载地址：&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/farion1231/cc-switch/releases&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/farion1231/cc-switch/releases&lt;/a&gt;&lt;/p&gt;&lt;h3&gt;1. ccswitch 适合解决什么问题&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;统一管理多个 API Key。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;在官方 API 和中转 API 之间切换。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;给 Claude Code、Codex、Gemini CLI、OpenCode 等工具切换不同模型。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;避免每次手动改环境变量。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;快速做模型对比测试。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;2. 推荐配置方式&lt;/h3&gt;&lt;p&gt;安装 ccswitch 后，建议按下面思路配置：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;新增一个 Provider，名字写 &lt;code&gt;ZJH API&lt;/code&gt;。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Base URL 填 &lt;code&gt;https://api.zjh336.cn&lt;/code&gt; 或后台要求的完整地址。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;API Key 填你在 &lt;a href=&quot;https://api.zjh336.cn&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://api.zjh336.cn&lt;/a&gt; 获取的 Key。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;按工具类型配置模型映射，比如 GPT 走 Codex，Claude 走 Claude Code，国产模型按兼容协议选择。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;保存后应用配置，重新打开终端测试。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;我建议先建三组配置：&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;配置名&lt;/th&gt;&lt;th&gt;用途&lt;/th&gt;&lt;th&gt;建议模型&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;ZJH-GPT&lt;/td&gt;&lt;td&gt;Codex 主力开发&lt;/td&gt;&lt;td&gt;GPT-5.5 或中转后台可用的 GPT 系列模型&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ZJH-Claude&lt;/td&gt;&lt;td&gt;Claude Code 项目维护&lt;/td&gt;&lt;td&gt;Claude Fable、Opus、Sonnet 等后台可用模型&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ZJH-China&lt;/td&gt;&lt;td&gt;国产模型高频任务&lt;/td&gt;&lt;td&gt;DeepSeek、GLM、Qwen、豆包、MiMo 等&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;配置完成后，拿同一个任务分别跑几次。不要用“你好”这种问题测试模型，没意义。建议用真实任务，比如：&lt;/p&gt;&lt;pre&gt;请阅读当前项目，不要修改文件。输出：
1.&amp;nbsp;项目技术栈
2.&amp;nbsp;启动命令
3.&amp;nbsp;主要目录说明
4.&amp;nbsp;你认为风险最高的&amp;nbsp;5&amp;nbsp;个模块
5.&amp;nbsp;下一步如果要重构，建议从哪里开始&lt;/pre&gt;&lt;p&gt;这种任务能看出模型是否真的会读项目、理解结构、抓重点。&lt;/p&gt;&lt;h2&gt;九、找大模型：官方订阅、中转和我的推荐入口&lt;/h2&gt;&lt;p&gt;模型获取有两条路：官方订阅和中转。&lt;/p&gt;&lt;h3&gt;1. 官方订阅&lt;/h3&gt;&lt;p&gt;官方订阅适合稳定使用某一个生态：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;OpenAI：ChatGPT、OpenAI API、Codex。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Anthropic：Claude、Claude Code、Anthropic API。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Google：Gemini、Gemini API、Gemini CLI。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;国内厂商：DeepSeek、智谱 GLM、通义 Qwen、豆包、MiMo 等。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;官方订阅的优点是稳定、来源明确、文档完整。缺点是不同平台账号、支付、额度、模型权限比较分散。&lt;/p&gt;&lt;h3&gt;2. 中转服务&lt;/h3&gt;&lt;p&gt;中转适合同时测试多个模型，尤其适合程序员做 CLI Agent。你可以用一个入口调用不同厂商模型，方便对比 GPT、Claude、Gemini 和国产模型。&lt;/p&gt;&lt;p&gt;我的中转站入口是：&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://api.zjh336.cn&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://api.zjh336.cn&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;如果你想快速测试多模型，建议优先从这里拿 Key，然后配合 Codex、Claude Code、Gemini CLI、ccswitch 使用。&lt;/p&gt;&lt;p&gt;另外两个入口也可以收藏：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;国内模型和工具导航：&lt;a href=&quot;https://z4crk6mg95.coze.site/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://z4crk6mg95.coze.site/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;国外模型整理和中转说明：&lt;a href=&quot;https://www.kdocs.cn/l/cdodlthJ9CYZ&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.kdocs.cn/l/cdodlthJ9CYZ&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;warning&quot;&gt;&lt;p&gt;&lt;strong&gt;提醒：&lt;/strong&gt;公司代码、客户数据、账号密码、生产日志里如果有敏感信息，一定要按公司制度处理。无论是官方模型还是中转，都不要把不该外发的数据直接丢进去。个人项目和公开项目可以放开测试，公司项目要先脱敏、分级、审批。&lt;/p&gt;&lt;/div&gt;&lt;h2&gt;十、模型和工具怎么对应&lt;/h2&gt;&lt;p&gt;我的推荐对应关系很简单：&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;模型体系&lt;/th&gt;&lt;th&gt;推荐工具&lt;/th&gt;&lt;th&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;GPT&lt;/td&gt;&lt;td&gt;Codex&lt;/td&gt;&lt;td&gt;优先推荐。GPT 做 coding agent，Codex 是最自然的入口。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Claude&lt;/td&gt;&lt;td&gt;Claude Code&lt;/td&gt;&lt;td&gt;Claude Code 是 Anthropic 官方工具，适合维护和重构项目。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Gemini&lt;/td&gt;&lt;td&gt;Gemini CLI&lt;/td&gt;&lt;td&gt;适合长上下文、多模态和 Google 生态任务。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;国产模型&lt;/td&gt;&lt;td&gt;Claude Code、Codex、OpenCode&lt;/td&gt;&lt;td&gt;看中转兼容协议。Claude 协议走 Claude Code，OpenAI 兼容走 Codex 或 OpenCode。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;实际使用时，我建议你先用 CLI 对接。原因是 CLI 最接近真实开发环境，也最容易看出模型是不是能干活。网页聊天可以辅助思考，但不能替代 CLI Agent。&lt;/p&gt;&lt;h2&gt;十一、安装桌面工具：优先 Codex，其次 CCGUI&lt;/h2&gt;&lt;p&gt;如果你不习惯命令行，或者想要更直观地管理任务，可以安装桌面工具。&lt;/p&gt;&lt;h3&gt;1. Codex App&lt;/h3&gt;&lt;p&gt;官方文档：&lt;a href=&quot;https://developers.openai.com/codex/app&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://developers.openai.com/codex/app&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Windows 版本可以看官方 Windows 文档：&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://developers.openai.com/codex/windows&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://developers.openai.com/codex/windows&lt;/a&gt;&lt;/p&gt;&lt;p&gt;我的优先级是：如果你能用 Codex App，就优先用 Codex App。它适合任务管理、代码审查、项目内交互和较复杂的开发流程。&lt;/p&gt;&lt;h3&gt;2. CCGUI&lt;/h3&gt;&lt;p&gt;CCGUI 是 Claude Code 的 GUI 工具，适合不喜欢纯命令行的用户。&lt;/p&gt;&lt;p&gt;仓库和下载地址：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/zhukunpenglinyutong/desktop-cc-gui&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/zhukunpenglinyutong/desktop-cc-gui&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/zhukunpenglinyutong/desktop-cc-gui/releases&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/zhukunpenglinyutong/desktop-cc-gui/releases&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;我的建议是：新手可以先用 CCGUI 感受 Claude Code 的工作方式，但不要完全绕开 CLI。你至少要知道背后调用的是哪个模型、哪个 Key、哪个项目目录、做了哪些文件修改。&lt;/p&gt;&lt;h2&gt;十二、真正开始使用：按场景跑起来&lt;/h2&gt;&lt;p&gt;工具装好以后，不要一直折腾环境。最重要的是把 AI 放进真实场景。下面这些提示词可以直接用。&lt;/p&gt;&lt;h3&gt;1. 第一次让 AI 读项目&lt;/h3&gt;&lt;pre&gt;请先阅读当前项目，不要修改任何文件。
请输出：
1.&amp;nbsp;项目技术栈
2.&amp;nbsp;启动命令和构建命令
3.&amp;nbsp;主要目录和模块说明
4.&amp;nbsp;数据库、缓存、第三方接口等外部依赖
5.&amp;nbsp;你认为代码里风险最高的地方
6.&amp;nbsp;如果我要重构，建议的第一步是什么&lt;/pre&gt;&lt;h3&gt;2. 让 AI 修 bug&lt;/h3&gt;&lt;pre&gt;现在有一个&amp;nbsp;bug：这里写清楚现象。
复现步骤：
1.&amp;nbsp;...
2.&amp;nbsp;...
期望结果：
实际结果：
相关日志：

请先分析原因，不要急着改代码。
给出&amp;nbsp;2&amp;nbsp;到&amp;nbsp;3&amp;nbsp;个可能原因，并说明你要检查哪些文件。
确认后再开始修改。&lt;/pre&gt;&lt;h3&gt;3. 让 AI 做重构&lt;/h3&gt;&lt;pre&gt;请在不改变现有外部行为的前提下，重构这个模块。
要求：
1.&amp;nbsp;不修改接口入参和返回结构
2.&amp;nbsp;保持现有日志关键字段
3.&amp;nbsp;拆分重复逻辑
4.&amp;nbsp;补充必要的单元测试
5.&amp;nbsp;修改完成后说明改动点和验证方式&lt;/pre&gt;&lt;h3&gt;4. 让 AI 写测试&lt;/h3&gt;&lt;pre&gt;请根据这个接口/函数生成测试用例。
重点覆盖：
1.&amp;nbsp;正常流程
2.&amp;nbsp;参数为空
3.&amp;nbsp;参数格式错误
4.&amp;nbsp;权限不足
5.&amp;nbsp;数据不存在
6.&amp;nbsp;并发或重复提交
7.&amp;nbsp;边界值

请输出测试用例表，并在项目中补充自动化测试代码。&lt;/pre&gt;&lt;h3&gt;5. 售后排查问题&lt;/h3&gt;&lt;pre&gt;你现在是一个软件售后工程师。
请根据下面的客户描述和日志，帮我整理：
1.&amp;nbsp;问题摘要
2.&amp;nbsp;可能原因
3.&amp;nbsp;需要客户补充的信息
4.&amp;nbsp;远程排查步骤
5.&amp;nbsp;给客户的回复话术

客户描述：
日志：&lt;/pre&gt;&lt;h3&gt;6. 产品经理整理需求&lt;/h3&gt;&lt;pre&gt;你现在是一个产品经理。
请把下面的客户原话整理成&amp;nbsp;PRD&amp;nbsp;草稿。
要求包含：
1.&amp;nbsp;背景
2.&amp;nbsp;目标
3.&amp;nbsp;用户角色
4.&amp;nbsp;主流程
5.&amp;nbsp;异常流程
6.&amp;nbsp;权限规则
7.&amp;nbsp;字段说明
8.&amp;nbsp;验收标准
9.&amp;nbsp;需要研发确认的问题

客户原话：&lt;/pre&gt;&lt;h2&gt;十三、我的个人工作流：AI 重构工具箱项目&lt;/h2&gt;&lt;p&gt;我现在用 AI 重构工具箱项目时，不会一上来就让 AI “重写整个项目”。那样风险太大，也很容易把项目搞乱。我的做法是小步推进。&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;先让 AI 只读项目，不改文件，输出项目结构和风险清单。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;让 AI 找重复代码、历史包袱、可拆分模块。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;我自己决定重构顺序，不让 AI 自己决定全部路线。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;每次只处理一个模块或一个功能点。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;改完让 AI 自己说明改动点和验证方式。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;我再人工看 diff，跑项目，确认功能。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;最后补文档、补更新日志、补测试。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;这个流程看起来慢，但比一次性大改稳得多。AI 的优势是速度，不是绝对正确。你要用它的速度，同时保留自己的判断。&lt;/p&gt;&lt;p&gt;建议每个项目都加一个 AI 说明文件，比如 &lt;code&gt;AGENTS.md&lt;/code&gt;、&lt;code&gt;CLAUDE.md&lt;/code&gt; 或项目约定文档，内容可以这样写：&lt;/p&gt;&lt;pre&gt;#&amp;nbsp;项目&amp;nbsp;AI&amp;nbsp;协作约定

-&amp;nbsp;修改代码前先阅读相关文件，不要直接大范围重构。
-&amp;nbsp;优先保持现有接口兼容。
-&amp;nbsp;修改后必须说明改动点、风险点和验证方式。
-&amp;nbsp;涉及数据库、权限、支付、删除数据的逻辑，需要先给方案再修改。
-&amp;nbsp;不要引入新的大型依赖，除非明确说明原因。
-&amp;nbsp;代码风格保持和现有项目一致。
-&amp;nbsp;常用命令：
&amp;nbsp;&amp;nbsp;-&amp;nbsp;安装依赖：npm&amp;nbsp;install
&amp;nbsp;&amp;nbsp;-&amp;nbsp;启动开发：npm&amp;nbsp;run&amp;nbsp;dev
&amp;nbsp;&amp;nbsp;-&amp;nbsp;构建：npm&amp;nbsp;run&amp;nbsp;build
&amp;nbsp;&amp;nbsp;-&amp;nbsp;测试：npm&amp;nbsp;test&lt;/pre&gt;&lt;p&gt;这样做的好处是，每次打开 Agent，它都能先读到项目规则，减少重复沟通。&lt;/p&gt;&lt;h2&gt;十四、2026 年不落后的学习路线&lt;/h2&gt;&lt;p&gt;如果你现在刚开始，我建议按 4 周来推进。&lt;/p&gt;&lt;h3&gt;第 1 周：装好工具，完成第一个真实任务&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;安装 nvm、Node、Codex、Claude Code、Gemini CLI。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;注册或配置 &lt;a href=&quot;https://api.zjh336.cn&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://api.zjh336.cn&lt;/a&gt;。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;用 Codex 跑一个小脚本任务。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;用 Claude Code 读一个旧项目。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;记录每个模型的输出质量。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;第 2 周：把 AI 接入你的日常项目&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;让 AI 生成项目结构说明。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;让 AI 解释一个复杂模块。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;让 AI 修一个低风险 bug。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;让 AI 补一组测试。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;把提示词和项目规则沉淀下来。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;第 3 周：做模型对比&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;同一个任务分别用 GPT、Claude、Gemini、DeepSeek、Qwen、GLM 跑。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;记录成功率、速度、修改质量、废话程度、成本。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;不要看单次结果，看连续 5 次任务的稳定性。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;确定你的主力模型、备用模型和低成本模型。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;第 4 周：形成自己的工作流&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;确定日常开发用 Codex 还是 Claude Code。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;用 ccswitch 管理官方和中转配置。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;把常用提示词整理成模板。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;给项目补 AGENTS.md 或 CLAUDE.md。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;建立“AI 输出必须验收”的习惯。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;十五、几个必须避免的坑&lt;/h2&gt;&lt;h3&gt;1. 不要只收藏，不动手&lt;/h3&gt;&lt;p&gt;AI 工具更新很快，收藏链接没有意义。你要拿一个真实项目跑起来。跑一次项目重构，比看十篇评测更有用。&lt;/p&gt;&lt;h3&gt;2. 不要迷信排行榜&lt;/h3&gt;&lt;p&gt;排行榜只能说明某些标准题表现好，不代表你的业务任务表现好。每个人都应该有自己的测试集。程序员就拿自己的项目测试，测试人员拿自己的用例测试，产品拿自己的 PRD 测试，售后拿自己的日志测试。&lt;/p&gt;&lt;h3&gt;3. 不要让 AI 一次性改太多&lt;/h3&gt;&lt;p&gt;AI 很容易越改越大。你要限制范围：只改这个模块，只修这个 bug，不要动公共接口，不要换框架，不要引入新依赖。&lt;/p&gt;&lt;h3&gt;4. 不要忽略安全和隐私&lt;/h3&gt;&lt;p&gt;生产数据库、客户隐私、账号密码、支付数据、公司核心代码，不要随便丢给模型。能脱敏就脱敏，能用最小上下文就不要整包上传。&lt;/p&gt;&lt;h3&gt;5. 不要把 AI 当替代品&lt;/h3&gt;&lt;p&gt;AI 是放大器。你基础越扎实，它越能放大你；你完全不理解项目，它也可能放大你的错误。程序员还是要懂代码，测试还是要懂质量，产品还是要懂业务，售后还是要懂现场。&lt;/p&gt;&lt;h2&gt;十六、我的最终建议&lt;/h2&gt;&lt;p&gt;2026 年学习 AI，不要从“学哪个提示词”开始，而要从“我怎么把 AI 接到工作里”开始。&lt;/p&gt;&lt;p&gt;如果你是程序员，我建议你现在就做这几件事：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;安装 Node 和 nvm。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;安装 Codex、Claude Code、Gemini CLI。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;注册或配置我的中转站：&lt;a href=&quot;https://api.zjh336.cn&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://api.zjh336.cn&lt;/a&gt;。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;安装 ccswitch，管理多模型。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;用 Codex 跑你的第一个真实项目任务。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;用 Claude Code 做一次项目阅读或重构。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;把 GPT、Claude、Gemini、DeepSeek、Qwen、GLM、豆包都用同一任务测试一遍。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;我的当前排序是：编码 Agent 优先 Codex，其次 Claude Code；桌面工具优先 Codex App，其次 CCGUI；模型使用上，高难度任务优先 GPT 和 Claude，长上下文和多模态任务测试 Gemini，中文高频任务大量使用国产模型。&lt;/p&gt;&lt;p&gt;AI 不会让所有人都变强，它只会让愿意改变工作方式的人变强。2026 年，真正会拉开差距的不是“你知不知道 AI”，而是“你有没有把 AI 变成自己的日常生产力”。&lt;/p&gt;&lt;p&gt;我自己从 2026 年 3 月底开始集中使用 AI，到现在最大的感受就是：它不是一个插件，而是一种新的工作方式。以前我做全栈会觉得累，现在反而觉得全栈更适合 AI 时代。因为只要你能把需求、代码、产品和验证串起来，AI 就能帮你把很多中间环节快速跑通。&lt;/p&gt;&lt;p&gt;所以，不要等。先装工具，先跑任务，先用起来。&lt;/p&gt;&lt;h2&gt;参考资料和官方链接&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;我的工具箱项目说明：&lt;a href=&quot;https://www.zjh336.cn/?id=2126&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.zjh336.cn/?id=2126&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;我的中转站：&lt;a href=&quot;https://api.zjh336.cn&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://api.zjh336.cn&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;模型和工具导航：&lt;a href=&quot;https://z4crk6mg95.coze.site/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://z4crk6mg95.coze.site/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;国外模型整理：&lt;a href=&quot;https://www.kdocs.cn/l/cdodlthJ9CYZ&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.kdocs.cn/l/cdodlthJ9CYZ&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;OpenAI Codex CLI：&lt;a href=&quot;https://developers.openai.com/codex/cli&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://developers.openai.com/codex/cli&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;OpenAI Codex App：&lt;a href=&quot;https://developers.openai.com/codex/app&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://developers.openai.com/codex/app&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;OpenAI 最新模型说明：&lt;a href=&quot;https://developers.openai.com/api/docs/guides/latest-model&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://developers.openai.com/api/docs/guides/latest-model&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;ChatGPT 发布说明：&lt;a href=&quot;https://openai.com/index/chatgpt/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://openai.com/index/chatgpt/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;GPT-4 发布说明：&lt;a href=&quot;https://openai.com/index/gpt-4-research/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://openai.com/index/gpt-4-research/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;GPT-4o 发布说明：&lt;a href=&quot;https://openai.com/index/hello-gpt-4o/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://openai.com/index/hello-gpt-4o/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Claude Code 文档：&lt;a href=&quot;https://docs.anthropic.com/en/docs/claude-code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://docs.anthropic.com/en/docs/claude-code&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Anthropic 模型说明：&lt;a href=&quot;https://docs.anthropic.com/en/docs/about-claude/models/overview&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://docs.anthropic.com/en/docs/about-claude/models/overview&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Gemini CLI：&lt;a href=&quot;https://github.com/google-gemini/gemini-cli&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/google-gemini/gemini-cli&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Gemini 模型文档：&lt;a href=&quot;https://ai.google.dev/gemini-api/docs/models&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://ai.google.dev/gemini-api/docs/models&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;nvm-windows：&lt;a href=&quot;https://github.com/coreybutler/nvm-windows&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/coreybutler/nvm-windows&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;nvm：&lt;a href=&quot;https://github.com/nvm-sh/nvm&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/nvm-sh/nvm&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;OpenCode：&lt;a href=&quot;https://opencode.ai/docs/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://opencode.ai/docs/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;OpenClaw：&lt;a href=&quot;https://openclaw.ai/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://openclaw.ai/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;ccswitch：&lt;a href=&quot;https://github.com/farion1231/cc-switch&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/farion1231/cc-switch&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;CCGUI：&lt;a href=&quot;https://github.com/zhukunpenglinyutong/desktop-cc-gui&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/zhukunpenglinyutong/desktop-cc-gui&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;DeepSeek 官方文档：&lt;a href=&quot;https://api-docs.deepseek.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://api-docs.deepseek.com/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;GLM 官方博客：&lt;a href=&quot;https://z.ai/blog/glm-5.1&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://z.ai/blog/glm-5.1&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Qwen 官方博客：&lt;a href=&quot;https://qwen.ai/blog&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://qwen.ai/blog&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;ByteDance Seed：&lt;a href=&quot;https://seed.bytedance.com/en/blog/seed-2-0-official-launch&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://seed.bytedance.com/en/blog/seed-2-0-official-launch&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;小米 MiMo：&lt;a href=&quot;https://mimo.xiaomi.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://mimo.xiaomi.com/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description><pubDate>Sun, 14 Jun 2026 21:20:20 +0800</pubDate></item><item><title>easyPoi多sheet页导出、自定义动态列(ExcelExportEntity)</title><link>https://www.zjh336.cn/?id=2144</link><description>&lt;p style=&quot;box-sizing: inherit; margin-top: 0px; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Luxi Sans&amp;quot;, &amp;quot;DejaVu Sans&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft Yahei&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Android Emoji&amp;quot;, EmojiSymbols; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap;&quot;&gt;easyPoi4.2.0&lt;/p&gt;&lt;p style=&quot;box-sizing: inherit; margin-top: 0px; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Luxi Sans&amp;quot;, &amp;quot;DejaVu Sans&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft Yahei&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Android Emoji&amp;quot;, EmojiSymbols; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap;&quot;&gt;ExcelExportUtil工具类中，提供的&lt;/p&gt;&lt;p style=&quot;box-sizing: inherit; margin-top: 0px; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Luxi Sans&amp;quot;, &amp;quot;DejaVu Sans&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft Yahei&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Android Emoji&amp;quot;, EmojiSymbols; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap;&quot;&gt;①exportExcel(ExportParams entity, List&lt;excelexportentity style=&quot;box-sizing: inherit;&quot;&gt;&amp;nbsp;entityList, Collection&amp;lt;?&amp;gt; dataSet)&lt;br style=&quot;box-sizing: inherit;&quot;/&gt;可以支持ExcelExportEntity动态列，但是只能一个sheet页&lt;/excelexportentity&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: inherit; margin-top: 0px; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Luxi Sans&amp;quot;, &amp;quot;DejaVu Sans&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft Yahei&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Android Emoji&amp;quot;, EmojiSymbols; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap;&quot;&gt;②exportExcel(List&amp;lt;Map&amp;lt;String, Object&amp;gt;&amp;gt; list, ExcelType type)&lt;br style=&quot;box-sizing: inherit;&quot;/&gt;可以支持多个sheet页，但是只能反射实体类取字段&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/03/202603110842362591669.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: inherit; margin-top: 0px; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Luxi Sans&amp;quot;, &amp;quot;DejaVu Sans&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft Yahei&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Android Emoji&amp;quot;, EmojiSymbols; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap;&quot;&gt;为了既支持多sheet页，又可以使用ExcelExportEntity自定义导出列，自行封装方法如下：&lt;/p&gt;&lt;p style=&quot;box-sizing: inherit; margin-top: 0px; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Luxi Sans&amp;quot;, &amp;quot;DejaVu Sans&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft Yahei&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Android Emoji&amp;quot;, EmojiSymbols; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap;&quot;&gt;SheetConfig ：&lt;/p&gt;&lt;pre class=&quot;brush:java;toolbar:false&quot;&gt;package&amp;nbsp;com.hnevol.common.config;



import&amp;nbsp;cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
import&amp;nbsp;lombok.*;
import&amp;nbsp;lombok.experimental.Accessors;

import&amp;nbsp;java.util.List;
import&amp;nbsp;java.util.Map;

@Data
@NoArgsConstructor
@Accessors(chain&amp;nbsp;=&amp;nbsp;true)
@ToString(callSuper&amp;nbsp;=&amp;nbsp;true)
@EqualsAndHashCode(callSuper&amp;nbsp;=&amp;nbsp;false)
public&amp;nbsp;class&amp;nbsp;SheetConfig&amp;nbsp;{
private&amp;nbsp;String&amp;nbsp;sheetName;
private&amp;nbsp;List&amp;lt;Map&amp;lt;String,&amp;nbsp;Object&amp;gt;&amp;gt;&amp;nbsp;data;
private&amp;nbsp;List&amp;lt;ExcelExportEntity&amp;gt;&amp;nbsp;entities;
}&lt;/pre&gt;&lt;p style=&quot;box-sizing: inherit; margin-top: 0px; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Luxi Sans&amp;quot;, &amp;quot;DejaVu Sans&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft Yahei&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Android Emoji&amp;quot;, EmojiSymbols; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap;&quot;&gt;ExcelExportUtils：&lt;/p&gt;&lt;pre class=&quot;brush:java;toolbar:false&quot;&gt;package&amp;nbsp;com.hnevol.common.utils;

import&amp;nbsp;cn.afterturn.easypoi.excel.entity.ExportParams;
import&amp;nbsp;cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import&amp;nbsp;cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
import&amp;nbsp;cn.afterturn.easypoi.excel.export.ExcelExportService;
import&amp;nbsp;com.hnevol.common.config.SheetConfig;
import&amp;nbsp;org.apache.commons.lang3.StringUtils;
import&amp;nbsp;org.apache.poi.ss.usermodel.*;
import&amp;nbsp;org.apache.poi.ss.util.CellRangeAddress;
import&amp;nbsp;org.apache.poi.ss.util.RegionUtil;
import&amp;nbsp;org.apache.poi.xssf.streaming.SXSSFSheet;
import&amp;nbsp;org.apache.poi.xssf.streaming.SXSSFWorkbook;
import&amp;nbsp;org.apache.poi.xssf.usermodel.XSSFWorkbook;

import&amp;nbsp;javax.servlet.http.HttpServletResponse;
import&amp;nbsp;java.io.*;
import&amp;nbsp;java.lang.reflect.Field;
import&amp;nbsp;java.lang.reflect.Method;
import&amp;nbsp;java.lang.reflect.Modifier;
import&amp;nbsp;java.net.URLDecoder;
import&amp;nbsp;java.net.URLEncoder;
import&amp;nbsp;java.text.DateFormat;
import&amp;nbsp;java.text.SimpleDateFormat;
import&amp;nbsp;java.util.*;

public&amp;nbsp;class&amp;nbsp;ExcelExportUtils&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//表头第一行
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;&amp;nbsp;static&amp;nbsp;final&amp;nbsp;String&amp;nbsp;HEADER_FIRST=&amp;quot;HEADER_FIRST&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//表头第二行
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;&amp;nbsp;static&amp;nbsp;final&amp;nbsp;String&amp;nbsp;HEADER_SECOND=&amp;quot;HEADER_SECOND&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//表头第三行
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;&amp;nbsp;static&amp;nbsp;final&amp;nbsp;String&amp;nbsp;HEADER_THIRD=&amp;quot;HEADER_THIRD&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//excel表头ket
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;&amp;nbsp;static&amp;nbsp;final&amp;nbsp;String&amp;nbsp;HEADER=&amp;quot;HEADER&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//对应表头的内容值key
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;&amp;nbsp;static&amp;nbsp;final&amp;nbsp;String&amp;nbsp;MAP_LIST=&amp;quot;mapList&amp;quot;;

&amp;nbsp;&amp;nbsp;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;【通用方法】执行多&amp;nbsp;Sheet&amp;nbsp;Excel&amp;nbsp;导出（支持每页独立列配置）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;lt;p&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;该方法完全解耦业务，每个&amp;nbsp;Sheet&amp;nbsp;的列定义由调用方在&amp;nbsp;Config&amp;nbsp;中单独指定。
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;fileName&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;文件名（不含后缀）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;response&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HTTP&amp;nbsp;响应对象
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;sheetConfigs&amp;nbsp;Sheet&amp;nbsp;配置列表，每个配置包含独立的列定义和数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;exportMultiSheetExcel(String&amp;nbsp;fileName,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HttpServletResponse&amp;nbsp;response,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;SheetConfig&amp;gt;&amp;nbsp;sheetConfigs)&amp;nbsp;throws&amp;nbsp;Exception&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Workbook&amp;nbsp;workbook&amp;nbsp;=&amp;nbsp;new&amp;nbsp;XSSFWorkbook();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ExcelExportService&amp;nbsp;exportService&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ExcelExportService();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;遍历配置列表，为每个配置创建一个独立的&amp;nbsp;Sheet
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(SheetConfig&amp;nbsp;config&amp;nbsp;:&amp;nbsp;sheetConfigs)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;设置&amp;nbsp;Sheet&amp;nbsp;参数
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ExportParams&amp;nbsp;params&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ExportParams(config.getSheetName(),&amp;nbsp;config.getSheetName(),&amp;nbsp;ExcelType.XSSF);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;核心：使用当前配置独有的&amp;nbsp;entities&amp;nbsp;和&amp;nbsp;data&amp;nbsp;创建&amp;nbsp;Sheet
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exportService.createSheetForMap(workbook,&amp;nbsp;params,&amp;nbsp;config.getEntities(),&amp;nbsp;config.getData());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;设置响应头
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;encodedFileName&amp;nbsp;=&amp;nbsp;URLEncoder.encode(fileName,&amp;nbsp;&amp;quot;UTF-8&amp;quot;)&amp;nbsp;+&amp;nbsp;&amp;quot;.xlsx&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.setCharacterEncoding(&amp;quot;UTF-8&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;response.setContentType(&amp;quot;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.setHeader(&amp;quot;Content-Disposition&amp;quot;,&amp;nbsp;&amp;quot;attachment;filename=&amp;quot;&amp;nbsp;+&amp;nbsp;encodedFileName);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;写入输出流
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;(OutputStream&amp;nbsp;outputStream&amp;nbsp;=&amp;nbsp;response.getOutputStream())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;workbook.write(outputStream);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;outputStream.flush();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;finally&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;确保资源关闭
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;workbook.close();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;p style=&quot;box-sizing: inherit; margin-top: 0px; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Luxi Sans&amp;quot;, &amp;quot;DejaVu Sans&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft Yahei&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Android Emoji&amp;quot;, EmojiSymbols; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap;&quot;&gt;使用：&lt;/p&gt;&lt;pre class=&quot;brush:java;toolbar:false&quot;&gt;@ApiOperation(value&amp;nbsp;=&amp;nbsp;&amp;quot;理论考试成绩列表多sheet导出&amp;quot;,&amp;nbsp;notes&amp;nbsp;=&amp;nbsp;&amp;quot;理论考试成绩列表多sheet导出&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@PostMapping(value&amp;nbsp;=&amp;quot;/queryAcademicGradeResultExportSheet&amp;quot;,&amp;nbsp;produces&amp;nbsp;=&amp;nbsp;&amp;quot;application/octet-stream&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;void&amp;nbsp;queryAcademicGradeResultExportSheet(@RequestBody&amp;nbsp;NurseEduAcademicGradeResultDTO&amp;nbsp;data)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(Objects.isNull(data.getQueryPlanId())&amp;nbsp;||&amp;nbsp;data.getQueryPlanId()&amp;nbsp;==&amp;nbsp;0)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;---&amp;nbsp;1.&amp;nbsp;数据查询与准备&amp;nbsp;---
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MyPage&amp;lt;NurseEduAcademicGradeResultDTO&amp;gt;&amp;nbsp;myPage&amp;nbsp;=&amp;nbsp;getMyPage(data);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;myPage.getPage().setCurrent(1);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;myPage.getPage().setSize(9999);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R&amp;lt;Page&amp;lt;NurseEduAcademicGradeResultDTO&amp;gt;&amp;gt;&amp;nbsp;pageR&amp;nbsp;=&amp;nbsp;examEduItemDataApi.queryAcademicGradeResultByParam(getUri(),&amp;nbsp;myPage);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(!ApiReqResultVerifyUtil.verify(pageR))&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NurseEduAcademicPlanService&amp;nbsp;planService&amp;nbsp;=&amp;nbsp;examEduItemDataApi.queryEduPlansPassScore(getUri(),&amp;nbsp;data.getQueryPlanId());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Double&amp;nbsp;passScore&amp;nbsp;=&amp;nbsp;NumberHelper.doubleValueOf0(planService.getPassingScore());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;NurseEduAcademicGradeResultDTO&amp;gt;&amp;nbsp;results&amp;nbsp;=&amp;nbsp;pageR.getData().getRecords();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;---&amp;nbsp;2.&amp;nbsp;数据分组&amp;nbsp;---
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Map&amp;lt;String,&amp;nbsp;List&amp;lt;NurseEduAcademicGradeResultDTO&amp;gt;&amp;gt;&amp;nbsp;rawGroupedData&amp;nbsp;=&amp;nbsp;new&amp;nbsp;LinkedHashMap&amp;lt;&amp;gt;();&amp;nbsp;//&amp;nbsp;使用&amp;nbsp;LinkedHashMap&amp;nbsp;保持顺序
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rawGroupedData.put(&amp;quot;已完成考试&amp;quot;,&amp;nbsp;results.stream().filter(e&amp;nbsp;-&amp;gt;&amp;nbsp;&amp;quot;completed&amp;quot;.equals(e.getExamStatus())).collect(Collectors.toList()));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rawGroupedData.put(&amp;quot;未完成考试&amp;quot;,&amp;nbsp;results.stream().filter(e&amp;nbsp;-&amp;gt;&amp;nbsp;!&amp;quot;completed&amp;quot;.equals(e.getExamStatus())).collect(Collectors.toList()));

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;及格逻辑
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rawGroupedData.put(&amp;quot;及格&amp;quot;,&amp;nbsp;results.stream().filter(e&amp;nbsp;-&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;completed&amp;quot;.equals(e.getExamStatus())&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NumberHelper.getOrDef(e.getScore(),&amp;nbsp;0D)&amp;nbsp;&amp;gt;=&amp;nbsp;passScore&amp;nbsp;||
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(data.getQueryIsMakeUpPlan()&amp;nbsp;==&amp;nbsp;1&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;NumberHelper.getOrDef(e.getMakeUpScore(),&amp;nbsp;0D)&amp;nbsp;&amp;gt;=&amp;nbsp;passScore)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;).collect(Collectors.toList()));

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;未及格逻辑
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rawGroupedData.put(&amp;quot;未及格&amp;quot;,&amp;nbsp;results.stream().filter(e&amp;nbsp;-&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;completed&amp;quot;.equals(e.getExamStatus())&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data.getQueryIsMakeUpPlan()&amp;nbsp;==&amp;nbsp;1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;?&amp;nbsp;(NumberHelper.getOrDef(e.getScore(),&amp;nbsp;0D)&amp;nbsp;&amp;lt;&amp;nbsp;passScore&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;NumberHelper.getOrDef(e.getMakeUpScore(),&amp;nbsp;0D)&amp;nbsp;&amp;lt;&amp;nbsp;passScore)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:&amp;nbsp;NumberHelper.getOrDef(e.getScore(),&amp;nbsp;0D)&amp;nbsp;&amp;lt;&amp;nbsp;passScore
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;).collect(Collectors.toList()));

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;---&amp;nbsp;3.&amp;nbsp;构建&amp;nbsp;Sheet&amp;nbsp;配置列表&amp;nbsp;(核心改动)&amp;nbsp;---
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;SheetConfig&amp;gt;&amp;nbsp;sheetConfigs&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ArrayList&amp;lt;&amp;gt;();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(Map.Entry&amp;lt;String,&amp;nbsp;List&amp;lt;NurseEduAcademicGradeResultDTO&amp;gt;&amp;gt;&amp;nbsp;entry&amp;nbsp;:&amp;nbsp;rawGroupedData.entrySet())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;sheetName&amp;nbsp;=&amp;nbsp;entry.getKey();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;NurseEduAcademicGradeResultDTO&amp;gt;&amp;nbsp;sheetData&amp;nbsp;=&amp;nbsp;entry.getValue();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;A.&amp;nbsp;为当前&amp;nbsp;Sheet&amp;nbsp;构建专属列定义
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;注意：这里目前所有&amp;nbsp;Sheet&amp;nbsp;复用同一个&amp;nbsp;buildDynamicExcelEntities&amp;nbsp;逻辑。
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;【扩展点】如果你需要不同&amp;nbsp;Sheet&amp;nbsp;有不同列（例如“未及格”&amp;nbsp;sheet&amp;nbsp;多一列“原因”），
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;可以在此处根据&amp;nbsp;sheetName&amp;nbsp;判断，调用不同的构建方法或手动添加列。
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;ExcelExportEntity&amp;gt;&amp;nbsp;currentSheetEntities&amp;nbsp;=&amp;nbsp;buildDynamicExcelEntities(planService);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/*&amp;nbsp;//&amp;nbsp;【示例扩展】如果“未及格”&amp;nbsp;sheet&amp;nbsp;需要额外加一列“改进建议”
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(&amp;quot;未及格&amp;quot;.equals(sheetName))&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;currentSheetEntities.add(new&amp;nbsp;ExcelExportEntity(&amp;quot;改进建议&amp;quot;,&amp;nbsp;&amp;quot;improveSuggestion&amp;quot;));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;注意：需要在&amp;nbsp;convertToDynamicMapList&amp;nbsp;中也对应处理这个字段，或者传一个特殊的&amp;nbsp;planService&amp;nbsp;标记
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;B.&amp;nbsp;转换当前&amp;nbsp;Sheet&amp;nbsp;的数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;Map&amp;lt;String,&amp;nbsp;Object&amp;gt;&amp;gt;&amp;nbsp;currentSheetDataMap&amp;nbsp;=&amp;nbsp;convertToDynamicMapList(sheetData,&amp;nbsp;planService);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/*&amp;nbsp;//&amp;nbsp;【示例扩展】如果上面加了“改进建议”列，这里需要给&amp;nbsp;Map&amp;nbsp;填充默认值或实际值
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(&amp;quot;未及格&amp;quot;.equals(sheetName))&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(Map&amp;lt;String,&amp;nbsp;Object&amp;gt;&amp;nbsp;row&amp;nbsp;:&amp;nbsp;currentSheetDataMap)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;row.put(&amp;quot;improveSuggestion&amp;quot;,&amp;nbsp;&amp;quot;请加强复习&amp;quot;);&amp;nbsp;//&amp;nbsp;示例数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SheetConfig&amp;nbsp;config&amp;nbsp;=&amp;nbsp;new&amp;nbsp;SheetConfig();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;config.setSheetName(sheetName)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setData(currentSheetDataMap)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setEntities(currentSheetEntities);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;C.&amp;nbsp;添加到配置列表
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sheetConfigs.add(config);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;---&amp;nbsp;4.&amp;nbsp;调用通用导出方法&amp;nbsp;---
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;fileName&amp;nbsp;=&amp;nbsp;StrHelper.getOrDef(data.getExportTitle(),&amp;nbsp;&amp;quot;考试成绩&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ExcelExportUtils.exportMultiSheetExcel(fileName,&amp;nbsp;response,&amp;nbsp;sheetConfigs);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(Exception&amp;nbsp;e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;log.error(&amp;quot;导出&amp;nbsp;Excel&amp;nbsp;失败&amp;quot;,&amp;nbsp;e);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(!response.isCommitted())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.reset();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.setContentType(&amp;quot;application/json&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.setCharacterEncoding(&amp;quot;UTF-8&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.getWriter().write(&amp;quot;{\&amp;quot;code\&amp;quot;:500,\&amp;quot;msg\&amp;quot;:\&amp;quot;导出失败：&amp;quot;&amp;nbsp;+&amp;nbsp;e.getMessage()&amp;nbsp;+&amp;nbsp;&amp;quot;\&amp;quot;}&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(Exception&amp;nbsp;ex)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;log.error(&amp;quot;写入错误响应失败&amp;quot;,&amp;nbsp;ex);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;动态构建&amp;nbsp;Excel&amp;nbsp;导出列配置
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;根据&amp;nbsp;planService&amp;nbsp;的不同属性组合，动态添加列
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;List&amp;lt;ExcelExportEntity&amp;gt;&amp;nbsp;buildDynamicExcelEntities(NurseEduAcademicPlanService&amp;nbsp;planService)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;ExcelExportEntity&amp;gt;&amp;nbsp;entityList&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ArrayList&amp;lt;&amp;gt;();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;基础列&amp;nbsp;(所有情况都有)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;entityList.add(new&amp;nbsp;ExcelExportEntity(&amp;quot;序号&amp;quot;,&amp;nbsp;&amp;quot;num&amp;quot;));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;entityList.add(new&amp;nbsp;ExcelExportEntity(&amp;quot;人员类型&amp;quot;,&amp;nbsp;&amp;quot;personType&amp;quot;));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;entityList.add(new&amp;nbsp;ExcelExportEntity(&amp;quot;姓名&amp;quot;,&amp;nbsp;&amp;quot;name&amp;quot;));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;entityList.add(new&amp;nbsp;ExcelExportEntity(&amp;quot;工号&amp;quot;,&amp;nbsp;&amp;quot;account&amp;quot;));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;entityList.add(new&amp;nbsp;ExcelExportEntity(&amp;quot;科室&amp;quot;,&amp;nbsp;&amp;quot;deptName&amp;quot;));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;entityList.add(new&amp;nbsp;ExcelExportEntity(&amp;quot;所属批次&amp;quot;,&amp;nbsp;&amp;quot;examBatch&amp;quot;));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;entityList.add(new&amp;nbsp;ExcelExportEntity(&amp;quot;成绩&amp;quot;,&amp;nbsp;&amp;quot;score&amp;quot;));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;entityList.add(new&amp;nbsp;ExcelExportEntity(&amp;quot;备注&amp;quot;,&amp;nbsp;&amp;quot;examDesc&amp;quot;));

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(NumberHelper.getOrDef(planService.getAllowFillExamTarget(),&amp;nbsp;0)&amp;nbsp;==&amp;nbsp;1)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;entityList.add(new&amp;nbsp;ExcelExportEntity(&amp;quot;考试目的&amp;quot;,&amp;nbsp;&amp;quot;examTarget&amp;quot;));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;entityList.add(new&amp;nbsp;ExcelExportEntity(&amp;quot;补考成绩&amp;quot;,&amp;nbsp;&amp;quot;makeUpScore&amp;quot;));

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;动态列:&amp;nbsp;学分与学时
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;逻辑：如果有学分&amp;nbsp;或者&amp;nbsp;有时学，则显示相关列&amp;nbsp;(根据您的原逻辑是两者都为&amp;nbsp;1&amp;nbsp;才显示，这里可根据需求调整)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;原逻辑：if&amp;nbsp;(planService.getHaveCredits()==1&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;planService.getHaveCreditsHour()==1)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(NumberHelper.getOrDef(planService.getHaveCredits(),&amp;nbsp;0)&amp;nbsp;==&amp;nbsp;1&amp;nbsp;&amp;amp;&amp;amp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NumberHelper.getOrDef(planService.getHaveCreditsHour(),&amp;nbsp;0)&amp;nbsp;==&amp;nbsp;1)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;entityList.add(new&amp;nbsp;ExcelExportEntity(&amp;quot;学分类型&amp;quot;,&amp;nbsp;&amp;quot;creditType&amp;quot;));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;entityList.add(new&amp;nbsp;ExcelExportEntity(&amp;quot;学分&amp;quot;,&amp;nbsp;&amp;quot;creditNum&amp;quot;));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;entityList.add(new&amp;nbsp;ExcelExportEntity(&amp;quot;学时&amp;quot;,&amp;nbsp;&amp;quot;classHours&amp;quot;));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;尾部固定列
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;entityList.add(new&amp;nbsp;ExcelExportEntity(&amp;quot;作答开始时间&amp;quot;,&amp;nbsp;&amp;quot;examActualStartTime&amp;quot;));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;entityList.add(new&amp;nbsp;ExcelExportEntity(&amp;quot;作答结束时间&amp;quot;,&amp;nbsp;&amp;quot;examActualEndTime&amp;quot;));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;entityList.add(new&amp;nbsp;ExcelExportEntity(&amp;quot;答题用时&amp;quot;,&amp;nbsp;&amp;quot;answerTime&amp;quot;));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;entityList.add(new&amp;nbsp;ExcelExportEntity(&amp;quot;交卷状态&amp;quot;,&amp;nbsp;&amp;quot;examSubmitStatus&amp;quot;));

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;entityList;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;List&amp;lt;Map&amp;lt;String,&amp;nbsp;Object&amp;gt;&amp;gt;&amp;nbsp;convertToDynamicMapList(List&amp;lt;NurseEduAcademicGradeResultDTO&amp;gt;&amp;nbsp;results,&amp;nbsp;NurseEduAcademicPlanService&amp;nbsp;planService)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;Map&amp;lt;String,&amp;nbsp;Object&amp;gt;&amp;gt;&amp;nbsp;list&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ArrayList&amp;lt;&amp;gt;();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(NurseEduAcademicGradeResultDTO&amp;nbsp;result&amp;nbsp;:&amp;nbsp;results)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i++;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Map&amp;lt;String,&amp;nbsp;Object&amp;gt;&amp;nbsp;map&amp;nbsp;=&amp;nbsp;new&amp;nbsp;HashMap&amp;lt;&amp;gt;();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;map.put(&amp;quot;num&amp;quot;,&amp;nbsp;i);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;map.put(&amp;quot;personType&amp;quot;,&amp;nbsp;getPersonType(result.getPersonType()));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;map.put(&amp;quot;name&amp;quot;,&amp;nbsp;result.getName());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;map.put(&amp;quot;account&amp;quot;,&amp;nbsp;result.getAccount());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;map.put(&amp;quot;deptName&amp;quot;,&amp;nbsp;result.getDeptName());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;map.put(&amp;quot;examBatch&amp;quot;,&amp;nbsp;result.getExamBatch());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;map.put(&amp;quot;score&amp;quot;,&amp;nbsp;result.getScore());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;map.put(&amp;quot;examDesc&amp;quot;,&amp;nbsp;result.getExamDesc());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;map.put(&amp;quot;makeUpScore&amp;quot;,&amp;nbsp;result.getMakeUpScore());

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;动态字段处理：只有当列存在时才放入&amp;nbsp;Map&amp;nbsp;(虽然&amp;nbsp;EasyPoi&amp;nbsp;忽略多余&amp;nbsp;key，但为了严谨)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(NumberHelper.getOrDef(planService.getHaveCredits(),&amp;nbsp;0)&amp;nbsp;==&amp;nbsp;1&amp;nbsp;&amp;amp;&amp;amp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NumberHelper.getOrDef(planService.getHaveCreditsHour(),&amp;nbsp;0)&amp;nbsp;==&amp;nbsp;1)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;map.put(&amp;quot;creditType&amp;quot;,&amp;nbsp;Objects.nonNull(result.getCreditType())&amp;nbsp;?&amp;nbsp;(result.getCreditType()&amp;nbsp;==&amp;nbsp;1&amp;nbsp;?&amp;nbsp;&amp;quot;I&amp;nbsp;类&amp;quot;&amp;nbsp;:&amp;nbsp;&amp;quot;II&amp;nbsp;类&amp;quot;)&amp;nbsp;:&amp;nbsp;&amp;quot;&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;map.put(&amp;quot;creditNum&amp;quot;,&amp;nbsp;result.getCreditNum());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;map.put(&amp;quot;classHours&amp;quot;,&amp;nbsp;result.getClassHours());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(NumberHelper.getOrDef(planService.getAllowFillExamTarget(),&amp;nbsp;0)&amp;nbsp;==&amp;nbsp;1)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;map.put(&amp;quot;examTarget&amp;quot;,&amp;nbsp;result.getExamTarget());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;map.put(&amp;quot;examActualStartTime&amp;quot;,&amp;nbsp;LocalDateTimeUtil.formatNormal(result.getExamActualStartTime()));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;map.put(&amp;quot;examActualEndTime&amp;quot;,&amp;nbsp;LocalDateTimeUtil.formatNormal(result.getExamActualEndTime()));

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(Objects.nonNull(result.getExamActualStartTime())&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;Objects.nonNull(result.getExamActualEndTime()))&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Duration&amp;nbsp;duration&amp;nbsp;=&amp;nbsp;Duration.between(result.getExamActualStartTime(),&amp;nbsp;result.getExamActualEndTime());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;long&amp;nbsp;diffSeconds&amp;nbsp;=&amp;nbsp;duration.getSeconds();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;map.put(&amp;quot;answerTime&amp;quot;,&amp;nbsp;conversionTime(NumberHelper.doubleValueOf0(diffSeconds)));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;map.put(&amp;quot;examSubmitStatus&amp;quot;,&amp;nbsp;conversionStatus(result.getExamSubmitStatus()));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.add(map);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;list;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/pre&gt;&lt;p&gt;导出效果&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2026/03/202603110844251338096.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;</description><pubDate>Wed, 11 Mar 2026 08:41:40 +0800</pubDate></item><item><title>Linux：Java诊断工具-Arthas</title><link>https://www.zjh336.cn/?id=2142</link><description>&lt;p&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.85); font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; &quot;&gt;Arthas 是阿里开源的 Java 诊断工具，无需修改代码 / 重启服务，即可在线排查 Linux 下 Java 服务问题，以下是&lt;/span&gt;&lt;span style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: ; border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-weight: 700; line-height: 28px; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; &quot;&gt;从安装到核心用法的完整教程：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3 class=&quot;header-iWP5WJ auto-hide-last-sibling-br&quot; style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 12px 0px 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-size: 16px; line-height: 24px; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;一、快速安装 &amp;amp; 启动&lt;/h3&gt;&lt;h4 class=&quot;header-iWP5WJ auto-hide-last-sibling-br&quot; style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 24px; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; background-color: rgb(255, 255, 255); margin-top: 20px !important;&quot;&gt;1. 安装（Linux 服务器上操作）&lt;/h4&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;#&amp;nbsp;下载arthas-boot.jar（阿里官方源）
curl&amp;nbsp;-O&amp;nbsp;https://arthas.aliyun.com/arthas-boot.jar&amp;nbsp;

#&amp;nbsp;启动（会列出当前Java进程，选择要监控的PID即可）
java&amp;nbsp;-jar&amp;nbsp;arthas-boot.jar&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.85); font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; &quot;&gt;启动后会显示类似如下列表，输入数字（比如&lt;/span&gt;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px 3.6px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; color: rgb(34, 34, 34); overflow-anchor: auto; text-wrap-mode: wrap;&quot;&gt;1&lt;/code&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.85); font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; &quot;&gt;）选择要诊断的 Java 进程，回车进入 Arthas 控制台：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/12/202512240959526235368.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/12/202512241000416757153.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3 class=&quot;header-iWP5WJ auto-hide-last-sibling-br&quot; style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 12px 0px 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-size: 16px; line-height: 24px; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;二、核心功能：替代 JConsole 的监控能力&lt;/h3&gt;&lt;h4 class=&quot;header-iWP5WJ auto-hide-last-sibling-br&quot; style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 24px; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; background-color: rgb(255, 255, 255); margin-top: 20px !important;&quot;&gt;1. 实时仪表盘（核心！替代 JConsole 的概览面板）&lt;/h4&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;dashboard&lt;/pre&gt;&lt;p&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/12/202512241002058626944.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;h4 class=&quot;header-iWP5WJ auto-hide-last-sibling-br&quot; style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 12px 0px 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 24px; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;2. 内存监控（对应 JConsole “内存”）&lt;/h4&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;jvm&lt;/pre&gt;&lt;p&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/12/202512241007261143371.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;h4 class=&quot;header-iWP5WJ auto-hide-last-sibling-br&quot; style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 12px 0px 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 24px; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;3. 线程监控（对应 JConsole “线程”）&lt;/h4&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;#&amp;nbsp;查看所有线程状态（ID、名称、状态、CPU占用）
thread

#&amp;nbsp;查看阻塞/等待的线程（重点！排查卡顿）
thread&amp;nbsp;-b&amp;nbsp;&amp;nbsp;#&amp;nbsp;找出当前阻塞其他线程的“元凶”线程
thread&amp;nbsp;-w&amp;nbsp;&amp;nbsp;#&amp;nbsp;查看处于WAITING状态的线程

#&amp;nbsp;查看指定线程的栈信息（替换为线程ID/名称）
thread&amp;nbsp;46&amp;nbsp;&amp;nbsp;#&amp;nbsp;查看ID=46的线程栈，对应JConsole“线程→栈跟踪”&lt;/pre&gt;&lt;p&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/12/202512241009146820189.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3 class=&quot;header-iWP5WJ auto-hide-last-sibling-br&quot; style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 12px 0px 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-size: 16px; line-height: 24px; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;三、高频诊断场景（比 JConsole 更强的功能）&lt;/h3&gt;&lt;h4 class=&quot;header-iWP5WJ auto-hide-last-sibling-br&quot; style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 24px; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; background-color: rgb(255, 255, 255); margin-top: 20px !important;&quot;&gt;1. 排查慢接口 / 方法&lt;/h4&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;#&amp;nbsp;监控指定方法的执行耗时（替换为你的类+方法名）
trace&amp;nbsp;com.xxx.Service&amp;nbsp;queryData&amp;nbsp;&amp;nbsp;

#&amp;nbsp;追踪方法调用链路+耗时
watch&amp;nbsp;com.xxx.Service&amp;nbsp;queryData&amp;nbsp;&amp;#39;{cost}&amp;#39;&amp;nbsp;-x&amp;nbsp;2&amp;nbsp;&amp;nbsp;#&amp;nbsp;查看方法执行耗时（单位：ms）&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot; style=&quot;list-style-type: disc;&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;trace&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;trace&lt;span style=&quot;color: rgba(0, 0, 0, 0.85); font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; &quot;&gt;是 Arthas 中&lt;/span&gt;&lt;span style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: ; border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-weight: 700; line-height: 28px; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; &quot;&gt;追踪方法调用链路&lt;/span&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.85); font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; &quot;&gt;的核心命令，能精准输出&lt;/span&gt;&lt;/p&gt;&lt;p&gt;①目标方法的&lt;span style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: ; border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-weight: 700; line-height: 28px; overflow-anchor: auto;&quot;&gt;总执行耗时&lt;/span&gt;；&lt;/p&gt;&lt;p&gt;②方法内部调用的&lt;span style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: ; border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-weight: 700; line-height: 28px; overflow-anchor: auto; color: #000000 !important;&quot;&gt;所有子方法&lt;/span&gt;（包括第三方库、JDK 内置方法）；&lt;/p&gt;&lt;p&gt;③每个子方法的&lt;span style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: ; border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-weight: 700; line-height: 28px; overflow-anchor: auto; color: #000000 !important;&quot;&gt;执行耗时&lt;/span&gt;和&lt;span style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: ; border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-weight: 700; line-height: 28px; overflow-anchor: auto; color: #000000 !important;&quot;&gt;占比&lt;/span&gt;；&lt;/p&gt;&lt;p&gt;④甚至能捕获方法执行中的异常。&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; color: #222222; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif;&quot;&gt;简单说：&lt;/span&gt;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px 4px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 4px; overflow-anchor: auto; line-height: 28px; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;trace&lt;/code&gt;&lt;span style=&quot; color: #222222; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif;&quot;&gt;&amp;nbsp;是 “追根溯源”，告诉你目标方法慢在&lt;/span&gt;&lt;span style=&quot;font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: ; border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-weight: 700; line-height: 28px; overflow-anchor: auto;&quot;&gt;哪个子步骤&lt;/span&gt;&lt;span style=&quot; color: #222222; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif;&quot;&gt;。&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;#&amp;nbsp;基础语法
trace&amp;nbsp;类全限定名&amp;nbsp;方法名&amp;nbsp;[可选参数]

#&amp;nbsp;示例：追踪&amp;nbsp;com.xxx.Service&amp;nbsp;类的&amp;nbsp;queryData&amp;nbsp;方法
trace&amp;nbsp;com.xxx.Service&amp;nbsp;queryData&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;先找到接口的路径，执行命令，开始监听&lt;/p&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;trace&amp;nbsp;com.hnevol.client.bases.controller.org.LibDeptController&amp;nbsp;getBasicDeptTree&lt;/pre&gt;&lt;p&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/12/202512241023544558643.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;程序页面访问接口，输出过程&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/12/202512241024369845166.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;更进一步分析接口&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/12/202512241027332563080.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;查询耗时27%和48%分别属于查询和转换两个步骤&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h4 class=&quot;header-iWP5WJ auto-hide-last-sibling-br&quot; style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 12px 0px 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 24px; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;关键参数 &amp;amp; 进阶用法&lt;/h4&gt;&lt;div class=&quot;auto-hide-last-sibling-br mdbox-table-root table-container-cYf_5N&quot; data-scroll-inline-overflow=&quot;true&quot; data-scroll-inline-at-start=&quot;true&quot; data-scroll-inline-start-overflow=&quot;false&quot; data-scroll-inline-at-end=&quot;false&quot; data-scroll-inline-end-overflow=&quot;true&quot; style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 0px 0px 8px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; max-width: 100%; width: fit-content; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div class=&quot;table-scroll-container-Gyf4hQ mdbox-table-scroll-container&quot; style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; max-width: 100%; width: fit-content; overflow: auto; scrollbar-color: rgb(204, 204, 204) rgba(0, 0, 0, 0); overflow-anchor: auto;&quot;&gt;&lt;table width=&quot;NaN&quot;&gt;&lt;thead style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto;&quot;&gt;&lt;tr style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px; border-top-style: initial; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-color: initial; border-image: initial; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto; background-color: rgb(242, 242, 242); font-weight: 600; line-height: normal;&quot; class=&quot;firstRow&quot;&gt;&lt;th style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto;&quot;&gt;参数 / 写法&lt;/th&gt;&lt;th style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px; border-style: initial; border-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto;&quot;&gt;作用&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto;&quot;&gt;&lt;tr style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0.888889px 0px 0px; border-style: solid; border-top-color: rgba(0, 0, 0, 0.08); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; border-image: initial; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto; line-height: normal;&quot;&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px 3.6px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; color: rgb(34, 34, 34); overflow-anchor: auto;&quot;&gt;trace com.xxx.Service queryData&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px; border-style: initial; border-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;基础用法：追踪该方法所有调用，输出全链路耗时&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0.888889px 0px 0px; border-style: solid; border-top-color: rgba(0, 0, 0, 0.08); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; border-image: initial; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto; line-height: normal;&quot;&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px 3.6px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; color: rgb(34, 34, 34); overflow-anchor: auto;&quot;&gt;trace com.xxx.Service queryData -n 5&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px; border-style: initial; border-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;只追踪前 5 次调用（避免刷屏，生产环境必加）&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0.888889px 0px 0px; border-style: solid; border-top-color: rgba(0, 0, 0, 0.08); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; border-image: initial; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto; line-height: normal;&quot;&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px 3.6px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; color: rgb(34, 34, 34); overflow-anchor: auto;&quot;&gt;trace com.xxx.Service queryData &amp;#39;#cost &amp;gt; 100&amp;#39;&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px; border-style: initial; border-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;只追踪耗时超过 100ms 的调用（精准定位慢调用）&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0.888889px 0px 0px; border-style: solid; border-top-color: rgba(0, 0, 0, 0.08); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; border-image: initial; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto; line-height: normal;&quot;&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px 3.6px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; color: rgb(34, 34, 34); overflow-anchor: auto;&quot;&gt;trace com.xxx.Service queryData -e&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px; border-style: initial; border-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;只追踪抛出异常的调用（排查方法执行失败场景）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot; style=&quot;list-style-type: disc;&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;watch&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 24px; overflow-anchor: auto; color: rgb(34, 34, 34); font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;watch是 Arthas 中&lt;span style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: ; border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-weight: 700; line-height: 28px; overflow-anchor: auto; color: #000000 !important;&quot;&gt;灵活的方法数据观测命令&lt;/span&gt;，可以：&lt;/p&gt;&lt;p style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 24px; overflow-anchor: auto; color: rgb(34, 34, 34); font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-family: 微软雅黑, &amp;quot;Microsoft YaHei&amp;quot;;&quot;&gt;①监控方法的&lt;/span&gt;&lt;span style=&quot;font-family: 微软雅黑, &amp;quot;Microsoft YaHei&amp;quot;; outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: ; border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-weight: 700; line-height: 28px; overflow-anchor: auto; color: #000000 !important;&quot;&gt;入参、返回值、异常、执行耗时&lt;/span&gt;&lt;span style=&quot;font-family: 微软雅黑, &amp;quot;Microsoft YaHei&amp;quot;;&quot;&gt;；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;②按条件过滤（如只看耗时 &amp;gt; 500ms 的调用）；&lt;/p&gt;&lt;p&gt;③自定义输出格式（只看你关心的字段）。&lt;/p&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;#&amp;nbsp;基础语法
watch&amp;nbsp;类全限定名&amp;nbsp;方法名&amp;nbsp;观测表达式&amp;nbsp;[可选参数]

#&amp;nbsp;示例：观测&amp;nbsp;queryData&amp;nbsp;方法的执行耗时
watch&amp;nbsp;com.xxx.Service&amp;nbsp;queryData&amp;nbsp;&amp;#39;{cost}&amp;#39;&amp;nbsp;-x&amp;nbsp;2&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3 class=&quot;header-iWP5WJ auto-hide-last-sibling-br&quot; style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 12px 0px 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-size: 16px; line-height: 24px; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;内置变量（直接可用）&lt;/h3&gt;&lt;div class=&quot;auto-hide-last-sibling-br mdbox-table-root table-container-cYf_5N&quot; data-scroll-inline-overflow=&quot;false&quot; data-scroll-inline-at-start=&quot;true&quot; data-scroll-inline-start-overflow=&quot;false&quot; data-scroll-inline-at-end=&quot;true&quot; data-scroll-inline-end-overflow=&quot;false&quot; style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 0px 0px 8px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; max-width: 100%; width: fit-content; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;p style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; max-width: 100%; width: fit-content; overflow: auto; scrollbar-color: rgb(204, 204, 204) rgba(0, 0, 0, 0); overflow-anchor: auto;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;table width=&quot;NaN&quot;&gt;&lt;thead style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto;&quot;&gt;&lt;tr style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px; border-top-style: initial; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-color: initial; border-image: initial; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto; background-color: rgb(242, 242, 242); font-weight: 600; line-height: normal;&quot; class=&quot;firstRow&quot;&gt;&lt;th style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto;&quot;&gt;变量名&lt;/th&gt;&lt;th style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px; border-style: initial; border-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto;&quot;&gt;含义&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto;&quot;&gt;&lt;tr style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0.888889px 0px 0px; border-style: solid; border-top-color: rgba(0, 0, 0, 0.08); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; border-image: initial; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto; line-height: normal;&quot;&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px 3.6px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; color: rgb(34, 34, 34); overflow-anchor: auto;&quot;&gt;params&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px; border-style: initial; border-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;方法的入参列表（数组形式，&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px 3.6px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; color: rgb(34, 34, 34); overflow-anchor: auto;&quot;&gt;params[0]&lt;/code&gt;表示第一个入参）&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0.888889px 0px 0px; border-style: solid; border-top-color: rgba(0, 0, 0, 0.08); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; border-image: initial; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto; line-height: normal;&quot;&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px 3.6px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; color: rgb(34, 34, 34); overflow-anchor: auto;&quot;&gt;returnObj&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px; border-style: initial; border-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;方法的返回值（方法执行成功时有效）&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0.888889px 0px 0px; border-style: solid; border-top-color: rgba(0, 0, 0, 0.08); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; border-image: initial; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto; line-height: normal;&quot;&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px 3.6px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; color: rgb(34, 34, 34); overflow-anchor: auto;&quot;&gt;throwExp&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px; border-style: initial; border-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;方法抛出的异常（方法执行失败时有效）&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0.888889px 0px 0px; border-style: solid; border-top-color: rgba(0, 0, 0, 0.08); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; border-image: initial; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto; line-height: normal;&quot;&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px 3.6px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; color: rgb(34, 34, 34); overflow-anchor: auto;&quot;&gt;cost&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px; border-style: initial; border-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;方法的执行耗时（单位：毫秒）&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0.888889px 0px 0px; border-style: solid; border-top-color: rgba(0, 0, 0, 0.08); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; border-image: initial; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto; line-height: normal;&quot;&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px 3.6px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; color: rgb(34, 34, 34); overflow-anchor: auto;&quot;&gt;target&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px; border-style: initial; border-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;当前方法所属的对象实例（可调用对象的其他方法 / 属性）&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0.888889px 0px 0px; border-style: solid; border-top-color: rgba(0, 0, 0, 0.08); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; border-image: initial; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto; line-height: normal;&quot;&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px 3.6px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; color: rgb(34, 34, 34); overflow-anchor: auto;&quot;&gt;clazz&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px; border-style: initial; border-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;当前方法所属的类（Class 对象）&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0.888889px 0px 0px; border-style: solid; border-top-color: rgba(0, 0, 0, 0.08); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; border-image: initial; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto; line-height: normal;&quot;&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px 3.6px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; color: rgb(34, 34, 34); overflow-anchor: auto;&quot;&gt;method&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px; border-style: initial; border-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;当前方法的 Method 对象（可获取方法名、参数类型等）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h4 class=&quot;header-iWP5WJ auto-hide-last-sibling-br&quot; style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 24px; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; background-color: rgb(255, 255, 255); margin-top: 20px !important;&quot;&gt;基础数据观测&lt;/h4&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;#&amp;nbsp;观测耗时
watch&amp;nbsp;com.xxx.Service&amp;nbsp;query&amp;nbsp;&amp;#39;{cost}&amp;#39;&amp;nbsp;-x&amp;nbsp;2

#&amp;nbsp;观测入参+返回值
watch&amp;nbsp;com.xxx.Service&amp;nbsp;query&amp;nbsp;&amp;#39;{params,&amp;nbsp;returnObj}&amp;#39;&amp;nbsp;-x&amp;nbsp;2

#&amp;nbsp;观测入参（仅第一个入参）+耗时
watch&amp;nbsp;com.xxx.Service&amp;nbsp;query&amp;nbsp;&amp;#39;{params[0],&amp;nbsp;cost}&amp;#39;&amp;nbsp;-x&amp;nbsp;2

#&amp;nbsp;观测异常信息（仅方法抛出异常时输出）
watch&amp;nbsp;com.xxx.Service&amp;nbsp;query&amp;nbsp;&amp;#39;{throwExp,&amp;nbsp;cost}&amp;#39;&amp;nbsp;-x&amp;nbsp;2&amp;nbsp;-e&lt;/pre&gt;&lt;p style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; max-width: 100%; width: fit-content; overflow: auto; scrollbar-color: rgb(204, 204, 204) rgba(0, 0, 0, 0); overflow-anchor: auto;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;h4 class=&quot;header-iWP5WJ auto-hide-last-sibling-br&quot; style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 12px 0px 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 24px; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;复杂数据提取（结合对象属性）&lt;/h4&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;#&amp;nbsp;观测入参的某个属性（如入参是User对象，提取其name属性）
watch&amp;nbsp;com.xxx.Service&amp;nbsp;query&amp;nbsp;&amp;#39;{params[0].name,&amp;nbsp;returnObj.data}&amp;#39;&amp;nbsp;-x&amp;nbsp;3

#&amp;nbsp;观测对象实例的属性（如target是Service实例，提取其成员变量config）
watch&amp;nbsp;com.xxx.Service&amp;nbsp;query&amp;nbsp;&amp;#39;{target.config,&amp;nbsp;cost}&amp;#39;&amp;nbsp;-x&amp;nbsp;2&lt;/pre&gt;&lt;p style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; max-width: 100%; width: fit-content; overflow: auto; scrollbar-color: rgb(204, 204, 204) rgba(0, 0, 0, 0); overflow-anchor: auto;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;h4 class=&quot;header-iWP5WJ auto-hide-last-sibling-br&quot; style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 12px 0px 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 24px; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;条件过滤观测&lt;/h4&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;#&amp;nbsp;仅观测耗时&amp;gt;500ms的调用
watch&amp;nbsp;com.xxx.Service&amp;nbsp;query&amp;nbsp;&amp;#39;{params,&amp;nbsp;cost}&amp;#39;&amp;nbsp;-x&amp;nbsp;2&amp;nbsp;&amp;#39;#cost&amp;nbsp;&amp;gt;&amp;nbsp;500&amp;#39;

#&amp;nbsp;仅观测入参中id=1001的调用
watch&amp;nbsp;com.xxx.Service&amp;nbsp;query&amp;nbsp;&amp;#39;{params,&amp;nbsp;returnObj}&amp;#39;&amp;nbsp;-x&amp;nbsp;2&amp;nbsp;&amp;#39;#params[0].id&amp;nbsp;==&amp;nbsp;1001&amp;#39;&lt;/pre&gt;&lt;p style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; max-width: 100%; width: fit-content; overflow: auto; scrollbar-color: rgb(204, 204, 204) rgba(0, 0, 0, 0); overflow-anchor: auto;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;/div&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;watch&amp;nbsp;com.hnevol.client.bases.service.org.impl.LibDeptServiceImpl&amp;nbsp;getBasicDeptTree&amp;nbsp;&amp;#39;{params,&amp;nbsp;returnObj}&amp;#39;&amp;nbsp;-x&amp;nbsp;2&lt;/pre&gt;&lt;p&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/12/202512241043489632924.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3 class=&quot;header-iWP5WJ auto-hide-last-sibling-br&quot; style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 12px 0px 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-size: 16px; line-height: 24px; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;trace vs watch：核心区别（怎么选？）&lt;/h3&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;table width=&quot;NaN&quot;&gt;&lt;thead style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto;&quot;&gt;&lt;tr style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px; border-top-style: initial; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-color: initial; border-image: initial; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto; background-color: rgb(242, 242, 242); font-weight: 600; line-height: normal;&quot; class=&quot;firstRow&quot;&gt;&lt;th style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto;&quot;&gt;维度&lt;/th&gt;&lt;th style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto;&quot;&gt;trace 命令&lt;/th&gt;&lt;th style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px; border-style: initial; border-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto;&quot;&gt;watch 命令&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto;&quot;&gt;&lt;tr style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0.888889px 0px 0px; border-style: solid; border-top-color: rgba(0, 0, 0, 0.08); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; border-image: initial; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto; line-height: normal;&quot;&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;核心能力&lt;/td&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;追踪方法&lt;span style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: ; border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-weight: 700; line-height: 28px; overflow-anchor: auto; color: #000000 !important;&quot;&gt;内部调用链路&lt;/span&gt;，定位慢子方法&lt;/td&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px; border-style: initial; border-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;观测方法&lt;span style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: ; border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-weight: 700; line-height: 28px; overflow-anchor: auto; color: #000000 !important;&quot;&gt;单次执行的关键数据&lt;/span&gt;（耗时 / 入参 / 返回值）&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0.888889px 0px 0px; border-style: solid; border-top-color: rgba(0, 0, 0, 0.08); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; border-image: initial; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto; line-height: normal;&quot;&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;耗时展示&lt;/td&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;全链路（总耗时 + 子方法耗时）&lt;/td&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px; border-style: initial; border-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;仅目标方法的总耗时&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0.888889px 0px 0px; border-style: solid; border-top-color: rgba(0, 0, 0, 0.08); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; border-image: initial; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto; line-height: normal;&quot;&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;适用场景&lt;/td&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;排查 “方法慢，但不知道慢在哪”&lt;/td&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px; border-style: initial; border-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;排查 “方法耗时波动大 / 偶尔慢”，或验证入参 / 返回值是否异常&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0.888889px 0px 0px; border-style: solid; border-top-color: rgba(0, 0, 0, 0.08); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; border-image: initial; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; overflow-anchor: auto; line-height: normal;&quot;&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;性能开销&lt;/td&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px 0.888889px 0px 0px; border-top-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: initial; border-right-color: rgba(0, 0, 0, 0.08); border-bottom-color: initial; border-left-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;稍高（需追踪子方法）&lt;/td&gt;&lt;td style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-width: 0px; border-style: initial; border-color: initial; margin: 0px; padding: 12px 18px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 28px; max-width: 448px; overflow-anchor: auto; color: rgba(0, 0, 0, 0.85) !important;&quot;&gt;极低（仅观测目标方法）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h4 class=&quot;header-iWP5WJ auto-hide-last-sibling-br&quot; style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 12px 0px 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 24px; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;2. 反编译类（排查代码是否生效）&lt;/h4&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;jad&amp;nbsp;com.xxx.Service&amp;nbsp;&amp;nbsp;#&amp;nbsp;反编译指定类，查看运行时的实际代码&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;jad&amp;nbsp;com.hnevol.client.bases.service.org.impl.LibDeptServiceImpl&lt;/pre&gt;&lt;p&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/12/202512241053088505158.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h4 class=&quot;header-iWP5WJ auto-hide-last-sibling-br&quot; style=&quot;text-wrap-mode: wrap; outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 12px 0px 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 24px; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; background-color: rgb(255, 255, 255);&quot;&gt;3. monitor: 方法执行频率 / 成功率监控（长期观测）&lt;/h4&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;#&amp;nbsp;每5秒统计一次，监控queryData方法的执行情况
monitor&amp;nbsp;-c&amp;nbsp;5&amp;nbsp;com.xxx.Service&amp;nbsp;queryData&lt;/pre&gt;&lt;p&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/12/202512241102246318959.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h4 class=&quot;header-iWP5WJ auto-hide-last-sibling-br&quot; style=&quot;text-wrap-mode: wrap; outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 12px 0px 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 24px; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; background-color: rgb(255, 255, 255);&quot;&gt;4. stack: 查看方法调用栈 （定位方法被谁调用）&lt;/h4&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;#&amp;nbsp;查看queryData方法的调用栈（只输出前5次）
stack&amp;nbsp;com.xxx.Service&amp;nbsp;queryData&amp;nbsp;-n&amp;nbsp;5

#&amp;nbsp;只查看耗时&amp;gt;100ms的调用栈
stack&amp;nbsp;com.xxx.Service&amp;nbsp;queryData&amp;nbsp;&amp;#39;#cost&amp;nbsp;&amp;gt;&amp;nbsp;100&amp;#39;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/12/202512241107482434925.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h4 class=&quot;header-iWP5WJ auto-hide-last-sibling-br&quot; style=&quot;text-wrap-mode: wrap; outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 12px 0px 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; line-height: 24px; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; background-color: rgb(255, 255, 255);&quot;&gt;5. tt: 方法执行数据录制 (回放问题)&lt;/h4&gt;&lt;p&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.85); font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; &quot;&gt;录制方法的入参、返回值、耗时等数据，支持回放调用（复现偶发问题）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.85); font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; &quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;brush:bash;toolbar:false&quot;&gt;#&amp;nbsp;录制queryData方法的执行数据（记录前10次调用）
tt&amp;nbsp;-t&amp;nbsp;com.xxx.Service&amp;nbsp;queryData&amp;nbsp;-n&amp;nbsp;10

#&amp;nbsp;查看录制的记录（会生成index编号）
tt&amp;nbsp;-l

#&amp;nbsp;回放指定index的调用（复现问题，无实际业务影响）
tt&amp;nbsp;-p&amp;nbsp;-i&amp;nbsp;1000&amp;nbsp;&amp;nbsp;#&amp;nbsp;1000是录制的index编号&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.85); font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; &quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.85); font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; &quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.85); font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif;&quot;&gt;总结：&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.85); font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; &quot;&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.85); font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; &quot;&gt;接口慢，定位慢子方法：trace -&amp;gt; stack&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color:rgba(0, 0, 0, 0.85);font-family:Inter, -apple-system, BlinkMacSystemFont, Segoe UI, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Helvetica Neue, Helvetica, Arial, sans-serif&quot;&gt;&lt;span style=&quot;&quot;&gt;接口偶发失败/ 耗时波动：watch -&amp;gt; monitor -&amp;gt; tt&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color:rgba(0, 0, 0, 0.85);font-family:Inter, -apple-system, BlinkMacSystemFont, Segoe UI, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Helvetica Neue, Helvetica, Arial, sans-serif&quot;&gt;&lt;span style=&quot;&quot;&gt;验证线上代码：jad&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color:rgba(0, 0, 0, 0.85);font-family:Inter, -apple-system, BlinkMacSystemFont, Segoe UI, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Helvetica Neue, Helvetica, Arial, sans-serif&quot;&gt;&lt;span style=&quot;&quot;&gt;内存占用高：dashboard -&amp;gt; jvm&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color:rgba(0, 0, 0, 0.85);font-family:Inter, -apple-system, BlinkMacSystemFont, Segoe UI, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Helvetica Neue, Helvetica, Arial, sans-serif&quot;&gt;&lt;span style=&quot;&quot;&gt;线程监控：dashboard -&amp;gt; thread&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3 class=&quot;header-iWP5WJ auto-hide-last-sibling-br&quot; style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 12px 0px 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-size: 16px; line-height: 24px; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;四、生产环境使用建议&lt;/h3&gt;&lt;p&gt;&lt;span style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: ; border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-weight: 700; line-height: 28px; overflow-anchor: auto; color: #000000 !important;&quot;&gt;1、必加 -n 参数&lt;/span&gt;：避免命令一直运行刷屏，比如&amp;nbsp;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px 3.6px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; overflow-anchor: auto;&quot;&gt;trace com.xxx.Service queryData -n 5&lt;/code&gt;（只看 5 次调用）；&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: ; border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-weight: 700; line-height: 28px; overflow-anchor: auto; color: #000000 !important;&quot;&gt;2、按耗时过滤&lt;/span&gt;：优先用&amp;nbsp;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px 3.6px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; overflow-anchor: auto;&quot;&gt;#cost &amp;gt; 阈值&lt;/code&gt;&amp;nbsp;筛选慢调用，比如&amp;nbsp;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px 3.6px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; overflow-anchor: auto;&quot;&gt;watch ... &amp;#39;#cost &amp;gt; 500&amp;#39;&lt;/code&gt;（只看超过 500ms 的调用）；&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: ; border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-weight: 700; line-height: 28px; overflow-anchor: auto; color: #000000 !important;&quot;&gt;3、权限一致&lt;/span&gt;：启动 Arthas 的用户需和 Java 进程运行用户一致（否则无权限监控）；&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: ; border: 0px solid; margin: 0px; padding: 0px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-weight: 700; line-height: 28px; overflow-anchor: auto; color: #000000 !important;&quot;&gt;4、低峰期测试&lt;/span&gt;：&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px 3.6px; --desktop-home-page-background-color: #f4f4f4; --desktop-home-card-background-color: #fdfdfd; --desktop-home-card-background-color-hover: #fff; --desktop-home-popup-background-color: #f6f5f5; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; overflow-anchor: auto;&quot;&gt;trace&lt;/code&gt;&amp;nbsp;命令有轻微性能开销，生产环境建议在低峰期使用。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Wed, 24 Dec 2025 09:52:53 +0800</pubDate></item><item><title>Mysql存储过程：列式数据转行式数据</title><link>https://www.zjh336.cn/?id=2141</link><description>&lt;p&gt;很久没搞开发了，试试手生没有。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;1、现有需求如下：需要将列式数据，转成行式数据，且具有一定的规则&lt;br/&gt;&lt;/p&gt;&lt;p&gt;①record_date、patient_id相同的，至少有一条数据，包含固定血糖的所有列，且一天每个项目只会有一条。&lt;/p&gt;&lt;p&gt;②随机字段包括两组，随机血糖组、随机床旁血酮组，每组都有三个字段，对应值、时间、签名。&lt;/p&gt;&lt;p&gt;③随机字段按照日期算，每天可能包含多条数据，每条数据都要独占一行，且按时间顺序。&lt;/p&gt;&lt;p&gt;④&lt;span style=&quot;text-wrap-mode: wrap;&quot;&gt;多组&lt;/span&gt;随机字段，需要合并到一行里面，不管时间点是不是一样的。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/10/202510201134216443924.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/10/202510201134376105475.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;2、拟采用方案，直接通过存储过程，对数据进行转换处理&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/10/202510201132024296089.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;3、模拟原始数据&lt;/p&gt;&lt;pre class=&quot;brush:sql;toolbar:false&quot;&gt;DROP&amp;nbsp;TABLE&amp;nbsp;IF&amp;nbsp;EXISTS&amp;nbsp;`source_blood_record`;
CREATE&amp;nbsp;TABLE&amp;nbsp;`source_blood_record`&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;`PATIENT_ID`&amp;nbsp;varchar(50)&amp;nbsp;CHARACTER&amp;nbsp;SET&amp;nbsp;utf8mb4&amp;nbsp;COLLATE&amp;nbsp;utf8mb4_general_ci&amp;nbsp;NULL&amp;nbsp;DEFAULT&amp;nbsp;NULL,
&amp;nbsp;&amp;nbsp;`VISIT_ID`&amp;nbsp;varchar(50)&amp;nbsp;CHARACTER&amp;nbsp;SET&amp;nbsp;utf8mb4&amp;nbsp;COLLATE&amp;nbsp;utf8mb4_general_ci&amp;nbsp;NULL&amp;nbsp;DEFAULT&amp;nbsp;NULL,
&amp;nbsp;&amp;nbsp;`SUB_ID`&amp;nbsp;varchar(50)&amp;nbsp;CHARACTER&amp;nbsp;SET&amp;nbsp;utf8mb4&amp;nbsp;COLLATE&amp;nbsp;utf8mb4_general_ci&amp;nbsp;NULL&amp;nbsp;DEFAULT&amp;nbsp;NULL,
&amp;nbsp;&amp;nbsp;`RECORD_DATE`&amp;nbsp;date&amp;nbsp;NULL&amp;nbsp;DEFAULT&amp;nbsp;NULL,
&amp;nbsp;&amp;nbsp;`RECORD_TIME`&amp;nbsp;datetime(0)&amp;nbsp;NULL&amp;nbsp;DEFAULT&amp;nbsp;NULL,
&amp;nbsp;&amp;nbsp;`RECORD_NAME`&amp;nbsp;varchar(100)&amp;nbsp;CHARACTER&amp;nbsp;SET&amp;nbsp;utf8mb4&amp;nbsp;COLLATE&amp;nbsp;utf8mb4_general_ci&amp;nbsp;NULL&amp;nbsp;DEFAULT&amp;nbsp;NULL,
&amp;nbsp;&amp;nbsp;`RECORD_DATA`&amp;nbsp;varchar(50)&amp;nbsp;CHARACTER&amp;nbsp;SET&amp;nbsp;utf8mb4&amp;nbsp;COLLATE&amp;nbsp;utf8mb4_general_ci&amp;nbsp;NULL&amp;nbsp;DEFAULT&amp;nbsp;NULL,
&amp;nbsp;&amp;nbsp;`DATA_TYPE`&amp;nbsp;varchar(20)&amp;nbsp;CHARACTER&amp;nbsp;SET&amp;nbsp;utf8mb4&amp;nbsp;COLLATE&amp;nbsp;utf8mb4_general_ci&amp;nbsp;NULL&amp;nbsp;DEFAULT&amp;nbsp;NULL,
&amp;nbsp;&amp;nbsp;`DATA_UNIT`&amp;nbsp;varchar(20)&amp;nbsp;CHARACTER&amp;nbsp;SET&amp;nbsp;utf8mb4&amp;nbsp;COLLATE&amp;nbsp;utf8mb4_general_ci&amp;nbsp;NULL&amp;nbsp;DEFAULT&amp;nbsp;NULL,
&amp;nbsp;&amp;nbsp;`CATEGORY`&amp;nbsp;varchar(20)&amp;nbsp;CHARACTER&amp;nbsp;SET&amp;nbsp;utf8mb4&amp;nbsp;COLLATE&amp;nbsp;utf8mb4_general_ci&amp;nbsp;NULL&amp;nbsp;DEFAULT&amp;nbsp;NULL,
&amp;nbsp;&amp;nbsp;`REMARK`&amp;nbsp;varchar(200)&amp;nbsp;CHARACTER&amp;nbsp;SET&amp;nbsp;utf8mb4&amp;nbsp;COLLATE&amp;nbsp;utf8mb4_general_ci&amp;nbsp;NULL&amp;nbsp;DEFAULT&amp;nbsp;NULL,
&amp;nbsp;&amp;nbsp;`SOURCE_TAG`&amp;nbsp;varchar(50)&amp;nbsp;CHARACTER&amp;nbsp;SET&amp;nbsp;utf8mb4&amp;nbsp;COLLATE&amp;nbsp;utf8mb4_general_ci&amp;nbsp;NULL&amp;nbsp;DEFAULT&amp;nbsp;NULL,
&amp;nbsp;&amp;nbsp;`SOURCE_TYPE`&amp;nbsp;varchar(50)&amp;nbsp;CHARACTER&amp;nbsp;SET&amp;nbsp;utf8mb4&amp;nbsp;COLLATE&amp;nbsp;utf8mb4_general_ci&amp;nbsp;NULL&amp;nbsp;DEFAULT&amp;nbsp;NULL,
&amp;nbsp;&amp;nbsp;`DATA_SOURCE`&amp;nbsp;varchar(50)&amp;nbsp;CHARACTER&amp;nbsp;SET&amp;nbsp;utf8mb4&amp;nbsp;COLLATE&amp;nbsp;utf8mb4_general_ci&amp;nbsp;NULL&amp;nbsp;DEFAULT&amp;nbsp;NULL,
&amp;nbsp;&amp;nbsp;`DATA_SOURCE_ID`&amp;nbsp;varchar(50)&amp;nbsp;CHARACTER&amp;nbsp;SET&amp;nbsp;utf8mb4&amp;nbsp;COLLATE&amp;nbsp;utf8mb4_general_ci&amp;nbsp;NULL&amp;nbsp;DEFAULT&amp;nbsp;NULL,
&amp;nbsp;&amp;nbsp;`UPLOAD_TIME`&amp;nbsp;datetime(0)&amp;nbsp;NULL&amp;nbsp;DEFAULT&amp;nbsp;NULL
)&amp;nbsp;ENGINE&amp;nbsp;=&amp;nbsp;InnoDB&amp;nbsp;CHARACTER&amp;nbsp;SET&amp;nbsp;=&amp;nbsp;utf8mb4&amp;nbsp;COLLATE&amp;nbsp;=&amp;nbsp;utf8mb4_general_ci&amp;nbsp;ROW_FORMAT&amp;nbsp;=&amp;nbsp;Dynamic;

--&amp;nbsp;----------------------------
--&amp;nbsp;Records&amp;nbsp;of&amp;nbsp;source_blood_record
--&amp;nbsp;----------------------------
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;11.9&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444522&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;nbsp;19:45:02&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444522&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;nbsp;19:45:02&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444460&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;nbsp;17:12:08&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444460&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;nbsp;17:12:08&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;nbsp;15:04:09&amp;#39;,&amp;nbsp;&amp;#39;随机血糖血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.0&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444427&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;nbsp;15:06:02&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;nbsp;15:04:09&amp;#39;,&amp;nbsp;&amp;#39;随机血糖血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444427&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;nbsp;15:06:02&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;nbsp;15:04:09&amp;#39;,&amp;nbsp;&amp;#39;随机血糖血糖值时间&amp;#39;,&amp;nbsp;&amp;#39;15:04&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444427&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;nbsp;15:06:02&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;nbsp;21:57:14&amp;#39;,&amp;nbsp;&amp;#39;随机血糖血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444562&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;nbsp;22:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;nbsp;21:57:14&amp;#39;,&amp;nbsp;&amp;#39;随机血糖血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444562&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;nbsp;22:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;nbsp;21:57:14&amp;#39;,&amp;nbsp;&amp;#39;随机血糖血糖值时间&amp;#39;,&amp;nbsp;&amp;#39;21:57&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444562&amp;#39;,&amp;nbsp;&amp;#39;2025-09-12&amp;nbsp;22:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;睡前血糖血糖值&amp;#39;,&amp;nbsp;&amp;#39;拒绝&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444950&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;22:00:06&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;睡前血糖血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444950&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;22:00:06&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;10.0&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444894&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;19:36:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444894&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;19:36:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;拒绝&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444872&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;17:18:02&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;钟莉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444872&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;17:18:02&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;13.2&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444711&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;10:03:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;钟莉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444711&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;10:03:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.2&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444610&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;06:15:09&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;钟莉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444610&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;06:15:09&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.1&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444785&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;14:18:08&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;钟莉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444785&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;14:18:08&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;10.2&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444735&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;11:21:10&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;钟莉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600444735&amp;#39;,&amp;nbsp;&amp;#39;2025-09-13&amp;nbsp;11:21:10&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;睡前血糖血糖值&amp;#39;,&amp;nbsp;&amp;#39;拒绝&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445361&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;21:57:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;睡前血糖血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;李馨怡&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445361&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;21:57:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.5&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445307&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;19:33:08&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;李馨怡&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445307&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;19:33:08&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;拒绝&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445253&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;17:09:16&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;李馨怡&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445253&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;17:09:16&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;10.5&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445078&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;09:18:10&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;李馨怡&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445078&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;09:18:10&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.4&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445024&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;06:33:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;李馨怡&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445024&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;06:33:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;4.8&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445192&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;14:12:13&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;李馨怡&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445192&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;14:12:13&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;拒绝&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445133&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;11:30:10&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;李馨怡&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445133&amp;#39;,&amp;nbsp;&amp;#39;2025-09-14&amp;nbsp;11:30:10&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;睡前血糖血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445775&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;22:09:14&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;睡前血糖血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445775&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;22:09:14&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;10.2&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445723&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;19:54:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445723&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;19:54:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;检查&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445514&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;09:54:12&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445514&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;09:54:12&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.8&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445406&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;05:57:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445406&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;05:57:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.2&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445610&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;14:15:14&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445610&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;14:15:14&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;拒绝&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445571&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;11:51:09&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445571&amp;#39;,&amp;nbsp;&amp;#39;2025-09-15&amp;nbsp;11:51:09&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;睡前血糖血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.4&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446152&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;21:30:08&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;睡前血糖血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;肖霞&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446152&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;21:30:08&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.7&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446110&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;19:51:08&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;肖霞&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446110&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;19:51:08&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.2&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446058&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;17:09:15&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446058&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;17:09:15&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.8&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445880&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;09:15:17&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445880&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;09:15:17&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.0&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445831&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;06:12:14&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;杨黎娟&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445831&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;06:12:14&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.8&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445984&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;13:48:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;樊新旭&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445984&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;13:48:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;拒绝&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445942&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;11:24:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600445942&amp;#39;,&amp;nbsp;&amp;#39;2025-09-16&amp;nbsp;11:24:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;睡前血糖血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446544&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;21:51:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;睡前血糖血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446544&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;21:51:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.7&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446487&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;19:45:01&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446487&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;19:45:01&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.1&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446442&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;16:57:11&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446442&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;16:57:11&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;10.9&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446265&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;09:03:11&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446265&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;09:03:11&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.0&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446225&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;06:30:10&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;李馨怡&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446225&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;06:30:10&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.5&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446380&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;14:09:02&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446380&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;14:09:02&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;拒绝&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446326&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;11:09:18&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446326&amp;#39;,&amp;nbsp;&amp;#39;2025-09-17&amp;nbsp;11:09:18&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;睡前血糖血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.2&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17582048550992192&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;睡前血糖血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;潘安连&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17582048550992192&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;11.0&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446910&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;19:57:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;潘安连&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446910&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;19:57:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446855&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;17:18:08&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446855&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;17:18:08&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.5&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446665&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;09:00:06&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446665&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;09:00:06&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.0&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446593&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;06:12:13&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446593&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;06:12:13&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446795&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;14:12:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;樊新旭&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446795&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;14:12:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.8&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446730&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;11:12:11&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600446730&amp;#39;,&amp;nbsp;&amp;#39;2025-09-18&amp;nbsp;11:12:11&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;睡前血糖血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.9&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447332&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;21:39:01&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;睡前血糖血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;赵蓉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447332&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;21:39:01&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;11.4&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447286&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;19:39:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;赵蓉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447286&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;19:39:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.7&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447231&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;17:00:15&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;赵蓉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447231&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;17:00:15&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;10.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447058&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;09:18:11&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;赵蓉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447058&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;09:18:11&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.4&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447022&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;06:36:06&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;钟莉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447022&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;06:36:06&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;11.0&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447153&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;13:51:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;刘照还&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447153&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;13:51:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;12.5&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447115&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;11:18:18&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;赵蓉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447115&amp;#39;,&amp;nbsp;&amp;#39;2025-09-19&amp;nbsp;11:18:18&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;睡前血糖血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.5&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447762&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;21:57:02&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;睡前血糖血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447762&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;21:57:02&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.9&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447700&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;19:30:10&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;李馨怡&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447700&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;19:30:10&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.9&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447472&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;09:24:09&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;潘安连&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447472&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;09:24:09&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.0&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447400&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;06:24:09&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447400&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;06:24:09&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447579&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;13:57:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;刘照还&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447579&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;13:57:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;外出&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447537&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;11:18:18&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;潘安连&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447537&amp;#39;,&amp;nbsp;&amp;#39;2025-09-20&amp;nbsp;11:18:18&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;睡前血糖血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.5&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448181&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;21:45:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;睡前血糖血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448181&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;21:45:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.6&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448116&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;19:33:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448116&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;19:33:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;外出&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448065&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;16:51:16&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448065&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;16:51:16&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.4&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447895&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;09:12:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447895&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;09:12:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.8&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447809&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;05:33:06&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;刘维&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447809&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;05:33:06&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.0&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448026&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;14:12:09&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;刘照还&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448026&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;14:12:09&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;拒绝&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447960&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;11:30:16&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600447960&amp;#39;,&amp;nbsp;&amp;#39;2025-09-21&amp;nbsp;11:30:16&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.2&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448503&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;19:39:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;刘照还&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448503&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;19:39:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.9&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448453&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;17:06:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448453&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;17:06:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.6&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448269&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;09:03:01&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;杨黎娟&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448269&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;09:03:01&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.4&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448213&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;06:12:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;杨黎娟&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448213&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;06:12:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.9&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448391&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;14:06:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448391&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;14:06:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;拒绝&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448343&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;11:30:10&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;杨黎娟&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448343&amp;#39;,&amp;nbsp;&amp;#39;2025-09-22&amp;nbsp;11:30:10&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.2&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448879&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;nbsp;19:45:08&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448879&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;nbsp;19:45:08&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.8&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448672&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;nbsp;09:03:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448672&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;nbsp;09:03:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.7&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448605&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;nbsp;06:12:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;唐诗琦&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448605&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;nbsp;06:12:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.0&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448766&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;nbsp;13:30:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;钟莉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448766&amp;#39;,&amp;nbsp;&amp;#39;2025-09-23&amp;nbsp;13:30:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;10.4&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600449198&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;nbsp;19:39:06&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600449198&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;nbsp;19:39:06&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.0&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448971&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;nbsp;08:54:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600448971&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;nbsp;08:54:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17586652112367765&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;肖霞&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17586652112367765&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.7&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600449092&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;nbsp;14:18:06&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600449092&amp;#39;,&amp;nbsp;&amp;#39;2025-09-24&amp;nbsp;14:18:06&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.5&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600449566&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;nbsp;19:27:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;钟莉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600449566&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;nbsp;19:27:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.7&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600449379&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;nbsp;09:39:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600449379&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;nbsp;09:39:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.5&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600449304&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;nbsp;06:27:10&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600449304&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;nbsp;06:27:10&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.7&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600449484&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;nbsp;14:21:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600449484&amp;#39;,&amp;nbsp;&amp;#39;2025-09-25&amp;nbsp;14:21:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;11.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600449946&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;nbsp;19:24:01&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600449946&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;nbsp;19:24:01&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.1&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600449743&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;nbsp;09:18:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;唐诗琦&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600449743&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;nbsp;09:18:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;5.5&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600449695&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;nbsp;06:30:09&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600449695&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;nbsp;06:30:09&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.2&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600449841&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;nbsp;14:03:10&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;唐诗琦&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600449841&amp;#39;,&amp;nbsp;&amp;#39;2025-09-26&amp;nbsp;14:03:10&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.5&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600450310&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;nbsp;19:42:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600450310&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;nbsp;19:42:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600450156&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;nbsp;10:45:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;唐诗琦&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600450156&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;nbsp;10:45:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;5.5&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600450046&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;nbsp;05:51:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;钟莉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600450046&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;nbsp;05:51:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.4&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600450254&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;nbsp;14:33:10&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;唐诗琦&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600450254&amp;#39;,&amp;nbsp;&amp;#39;2025-09-27&amp;nbsp;14:33:10&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.4&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600450693&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;nbsp;19:45:14&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;李馨怡&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600450693&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;nbsp;19:45:14&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.9&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600450496&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;nbsp;09:30:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600450496&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;nbsp;09:30:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;5.8&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600450427&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;nbsp;06:12:09&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600450427&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;nbsp;06:12:09&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.4&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600450606&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;nbsp;14:12:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600450606&amp;#39;,&amp;nbsp;&amp;#39;2025-09-28&amp;nbsp;14:12:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.2&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451050&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;nbsp;19:30:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;唐诗琦&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451050&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;nbsp;19:30:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.5&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600450856&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;nbsp;08:57:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600450856&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;nbsp;08:57:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.1&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600450827&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;nbsp;06:27:24&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600450827&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;nbsp;06:27:24&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;5.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600450980&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;nbsp;14:12:10&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600450980&amp;#39;,&amp;nbsp;&amp;#39;2025-09-29&amp;nbsp;14:12:10&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.5&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451360&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;nbsp;19:21:01&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451360&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;nbsp;19:21:01&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.2&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451209&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;nbsp;09:09:06&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451209&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;nbsp;09:09:06&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.2&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451155&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;nbsp;06:18:12&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;唐诗琦&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451155&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;nbsp;06:18:12&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.6&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451286&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;nbsp;13:57:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451286&amp;#39;,&amp;nbsp;&amp;#39;2025-09-30&amp;nbsp;13:57:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.7&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451556&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;nbsp;19:36:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;李馨怡&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451556&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;nbsp;19:36:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.0&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451446&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;nbsp;09:30:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451446&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;nbsp;09:30:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.7&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17592709677220831&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;唐诗琦&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17592709677220831&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.7&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451508&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;nbsp;14:12:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;樊新旭&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451508&amp;#39;,&amp;nbsp;&amp;#39;2025-10-01&amp;nbsp;14:12:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;5.9&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451792&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;nbsp;19:42:01&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;钟莉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451792&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;nbsp;19:42:01&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.9&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451652&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;nbsp;09:33:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451652&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;nbsp;09:33:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.6&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17593567665233339&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;肖霞&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17593567665233339&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;5.2&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451724&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;nbsp;14:30:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;杨黎娟&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451724&amp;#39;,&amp;nbsp;&amp;#39;2025-10-02&amp;nbsp;14:30:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.8&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600452030&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;nbsp;19:27:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600452030&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;nbsp;19:27:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.6&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451904&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;nbsp;09:27:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;杨黎娟&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451904&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;nbsp;09:27:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;5.6&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451884&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;nbsp;06:57:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451884&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;nbsp;06:57:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;11.9&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451983&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;nbsp;14:24:09&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;杨黎娟&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451983&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;nbsp;14:24:09&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;nbsp;02:53:20&amp;#39;,&amp;nbsp;&amp;#39;随机血糖血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.0&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451851&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;nbsp;02:54:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;nbsp;02:53:20&amp;#39;,&amp;nbsp;&amp;#39;随机血糖血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451851&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;nbsp;02:54:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;nbsp;02:53:20&amp;#39;,&amp;nbsp;&amp;#39;随机血糖血糖值时间&amp;#39;,&amp;nbsp;&amp;#39;02:53&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600451851&amp;#39;,&amp;nbsp;&amp;#39;2025-10-03&amp;nbsp;02:54:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.7&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17595779197954390&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;潘安连&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17595779197954390&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.5&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600452142&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;nbsp;09:51:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;杨黎娟&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600452142&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;nbsp;09:51:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.8&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600452090&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;nbsp;05:12:09&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;钟莉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600452090&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;nbsp;05:12:09&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.5&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600452191&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;nbsp;13:33:01&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;刘照还&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600452191&amp;#39;,&amp;nbsp;&amp;#39;2025-10-04&amp;nbsp;13:33:01&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;10.4&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600452482&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;nbsp;20:21:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;李馨怡&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600452482&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;nbsp;20:21:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.9&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600452351&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;nbsp;09:54:09&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;杨黎娟&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600452351&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;nbsp;09:54:09&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600452299&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;nbsp;06:09:02&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600452299&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;nbsp;06:09:02&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.5&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600452420&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;nbsp;14:33:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;刘照还&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600452420&amp;#39;,&amp;nbsp;&amp;#39;2025-10-05&amp;nbsp;14:33:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;12.1&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17597534099688412&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17597534099688412&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;10.9&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17597124186727285&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;潘安连&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17597124186727285&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.5&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17597035108215536&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;潘安连&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17597035108215536&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.6&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17597301634392642&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;潘安连&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17597301634392642&amp;#39;,&amp;nbsp;&amp;#39;2025-10-06&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;11.0&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17598351034996781&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;樊新旭&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17598351034996781&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.2&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17597995000278283&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;赵蓉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17597995000278283&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.6&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17597873120449342&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;李馨怡&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17597873120449342&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.4&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600452629&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;nbsp;14:09:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;肖雪&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600452629&amp;#39;,&amp;nbsp;&amp;#39;2025-10-07&amp;nbsp;14:09:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;12.7&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17599224692280504&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;刘照还&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17599224692280504&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;12.1&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17598866866410347&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;唐诗琦&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17598866866410347&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17598760001323054&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17598760001323054&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17599044951692104&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;杨黎娟&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17599044951692104&amp;#39;,&amp;nbsp;&amp;#39;2025-10-08&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;睡前血糖血糖值&amp;#39;,&amp;nbsp;&amp;#39;17.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17600076264368938&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;睡前血糖血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;李馨怡&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17600076264368938&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;17.1&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17600114486829981&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;李馨怡&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17600114486829981&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;11.7&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17599722905938888&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;钟莉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17599722905938888&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17599640022827015&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;樊新旭&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17599640022827015&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;12.4&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17599896716709164&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;钟莉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17599896716709164&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;22:16:36&amp;#39;,&amp;nbsp;&amp;#39;随机血糖血糖值&amp;#39;,&amp;nbsp;&amp;#39;13.0&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17600194254205332&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;22:17:15&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;22:16:36&amp;#39;,&amp;nbsp;&amp;#39;随机血糖血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;李馨怡&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17600194254205332&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;22:17:15&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;22:16:36&amp;#39;,&amp;nbsp;&amp;#39;随机血糖血糖值时间&amp;#39;,&amp;nbsp;&amp;#39;22:16:36&amp;#39;,&amp;nbsp;&amp;#39;日期&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17600194254205332&amp;#39;,&amp;nbsp;&amp;#39;2025-10-09&amp;nbsp;22:17:15&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;12.5&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600453205&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;nbsp;19:21:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;钟莉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600453205&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;nbsp;19:21:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.4&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600452987&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;nbsp;09:00:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;刘照还&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600452987&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;nbsp;09:00:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.1&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600452923&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;nbsp;05:51:06&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;刘照还&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600452923&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;nbsp;05:51:06&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600453110&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;nbsp;14:06:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600453110&amp;#39;,&amp;nbsp;&amp;#39;2025-10-10&amp;nbsp;14:06:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;10.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600453699&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;nbsp;20:33:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600453699&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;nbsp;20:33:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600453409&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;nbsp;09:12:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600453409&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;nbsp;09:12:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.9&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600453357&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;nbsp;06:36:12&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;唐诗琦&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600453357&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;nbsp;06:36:12&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.5&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600453541&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;nbsp;14:00:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600453541&amp;#39;,&amp;nbsp;&amp;#39;2025-10-11&amp;nbsp;14:00:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;10.7&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600454143&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;nbsp;20:33:01&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600454143&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;nbsp;20:33:01&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.0&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600453854&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;nbsp;09:18:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600453854&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;nbsp;09:18:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.4&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600453776&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;nbsp;06:15:08&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;钟莉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600453776&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;nbsp;06:15:08&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600454000&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;nbsp;14:27:06&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;戴文静&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600454000&amp;#39;,&amp;nbsp;&amp;#39;2025-10-12&amp;nbsp;14:27:06&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.5&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600454531&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;nbsp;19:45:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;潘安连&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600454531&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;nbsp;19:45:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.0&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600454283&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;nbsp;09:06:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600454283&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;nbsp;09:06:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.2&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600454227&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;nbsp;06:27:11&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;李馨怡&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600454227&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;nbsp;06:27:11&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.4&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600454414&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;nbsp;14:12:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;樊新旭&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600454414&amp;#39;,&amp;nbsp;&amp;#39;2025-10-13&amp;nbsp;14:12:04&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.5&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600454914&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;nbsp;19:33:11&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600454914&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;nbsp;19:33:11&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.9&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600454707&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;nbsp;09:12:01&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600454707&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;nbsp;09:12:01&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;6.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600454647&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;nbsp;06:09:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;彭蓉芬&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600454647&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;nbsp;06:09:07&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.3&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600454812&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;nbsp;14:15:08&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;杨黎娟&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600454812&amp;#39;,&amp;nbsp;&amp;#39;2025-10-14&amp;nbsp;14:15:08&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;9.9&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17605284124938996&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;杨黎娟&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;17605284124938996&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;nbsp;00:00:00&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;8.0&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600455104&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;nbsp;09:12:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;潘安连&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600455104&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;nbsp;09:12:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;5.7&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600455054&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;nbsp;06:45:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;潘安连&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600455054&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;nbsp;06:45:05&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.7&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600455195&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;nbsp;13:39:06&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;钟莉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600455195&amp;#39;,&amp;nbsp;&amp;#39;2025-10-15&amp;nbsp;13:39:06&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-16&amp;#39;,&amp;nbsp;&amp;#39;2025-10-16&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;7.7&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600455365&amp;#39;,&amp;nbsp;&amp;#39;2025-10-16&amp;nbsp;09:30:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-16&amp;#39;,&amp;nbsp;&amp;#39;2025-10-16&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;钟莉&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600455365&amp;#39;,&amp;nbsp;&amp;#39;2025-10-16&amp;nbsp;09:30:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-16&amp;#39;,&amp;nbsp;&amp;#39;2025-10-16&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;5.6&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600455303&amp;#39;,&amp;nbsp;&amp;#39;2025-10-16&amp;nbsp;06:09:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-16&amp;#39;,&amp;nbsp;&amp;#39;2025-10-16&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,&amp;nbsp;&amp;#39;廖玲&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Baier&amp;#39;,&amp;nbsp;&amp;#39;479600455303&amp;#39;,&amp;nbsp;&amp;#39;2025-10-16&amp;nbsp;06:09:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-16&amp;#39;,&amp;nbsp;&amp;#39;2025-10-16&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;随机床旁血酮值&amp;#39;,&amp;nbsp;&amp;#39;2.66&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;11221445211&amp;#39;,&amp;nbsp;&amp;#39;2025-10-16&amp;nbsp;06:09:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-16&amp;#39;,&amp;nbsp;&amp;#39;2025-10-16&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;随机床旁血酮时间&amp;#39;,&amp;nbsp;&amp;#39;11:50&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;11221445211&amp;#39;,&amp;nbsp;&amp;#39;2025-10-16&amp;nbsp;06:09:03&amp;#39;);
INSERT&amp;nbsp;INTO&amp;nbsp;`source_blood_record`&amp;nbsp;VALUES&amp;nbsp;(&amp;#39;985887&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;&amp;#39;0&amp;#39;,&amp;nbsp;&amp;#39;2025-10-16&amp;#39;,&amp;nbsp;&amp;#39;2025-10-16&amp;nbsp;00:00:00&amp;#39;,&amp;nbsp;&amp;#39;随机床旁血酮签名&amp;#39;,&amp;nbsp;&amp;#39;姚丽萍&amp;#39;,&amp;nbsp;&amp;#39;字符&amp;#39;,&amp;nbsp;&amp;#39;mmol/L&amp;#39;,&amp;nbsp;&amp;#39;1&amp;#39;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&amp;#39;Sinocare&amp;#39;,&amp;nbsp;&amp;#39;11221445211&amp;#39;,&amp;nbsp;&amp;#39;2025-10-16&amp;nbsp;06:09:03&amp;#39;);&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;4、编写存储过程&lt;/p&gt;&lt;pre class=&quot;brush:sql;toolbar:false&quot;&gt;CREATE&amp;nbsp;DEFINER=`root`@`%`&amp;nbsp;PROCEDURE&amp;nbsp;`convert_specified_patient_blood_glucoseV3`(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IN&amp;nbsp;p_patient_id&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;--&amp;nbsp;患者ID，可为NULL表示处理所有患者
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IN&amp;nbsp;p_session_id&amp;nbsp;CHAR(36)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;会话UUID，用于标识同一批次数据处理，长度符合标准UUID格式
)
BEGIN
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;==================================================
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;【核心问题与优化方案说明】
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;本存储过程在迭代中解决了以下关键问题，优化点如下：
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;1.&amp;nbsp;临时表不适用，存储过程不能查询多次&amp;nbsp;→&amp;nbsp;采用物理表储存计算变量
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;解决思路：用物理表（如glucose_random_data、glucose_ketone_merged）替代临时表，支持多步骤数据传递
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;2.&amp;nbsp;纯物理表存在并发问题&amp;nbsp;→&amp;nbsp;引入会话ID（session_id）机制
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;解决思路：通过唯一UUID作为session_id，人为隔离不同批次处理数据，避免并发冲突
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;3.&amp;nbsp;物理表+时间戳后缀方案性能差&amp;nbsp;→&amp;nbsp;固定表结构+session_id过滤
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;解决思路：放弃动态生成表名（如加时间戳后缀），复用固定表结构，通过session_id筛选当前批次数据，减少建表删表开销
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;4.&amp;nbsp;随机血糖的三组关联字段（值/时间/签名）需统一处理&amp;nbsp;→&amp;nbsp;按data_source_id分组关联
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;解决思路：以data_source_id为唯一标识，将同一次测量的三个字段绑定处理，确保数据完整性
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;5.&amp;nbsp;随机血酮的三组关联字段需统一处理&amp;nbsp;→&amp;nbsp;同随机血糖的处理逻辑
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;解决思路：保持与血糖一致的处理范式，通过data_source_id关联字段，保证数据一致性
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;6.&amp;nbsp;两组随机数据需按日期合并排序&amp;nbsp;→&amp;nbsp;新增合并中间表+全局排序号
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;解决思路：用glucose_ketone_merged表合并数据，生成sortNo排序号，同日期数据按顺序排列，不同日期独立成行
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;7.&amp;nbsp;随机数据与固定血糖数据合并&amp;nbsp;→&amp;nbsp;基准行更新+剩余行插入
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;解决思路：以固定血糖数据行为基准，匹配日期的第一行随机数据更新；剩余随机数据单独插入，确保数据完整
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;==================================================

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;==================================================
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;1.&amp;nbsp;定义结果表结构（存储最终合并的血糖数据）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;新增session_id用于隔离不同会话数据，temp_sort_no用于随机数据排序标记
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;==================================================
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CREATE&amp;nbsp;TABLE&amp;nbsp;IF&amp;nbsp;NOT&amp;nbsp;EXISTS&amp;nbsp;`merged_glucose_result`&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;session_id&amp;nbsp;CHAR(36)&amp;nbsp;NOT&amp;nbsp;NULL,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;会话ID，区分不同批次处理
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;patient_id&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;患者ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;record_date&amp;nbsp;DATE,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;记录日期
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;固定时间点血糖字段组
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;早餐前血糖值&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;早餐前血糖测量值
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;早餐前血糖值签名&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;早餐前血糖记录签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;早餐后2H血糖值&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;早餐后2小时血糖测量值
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;早餐后2H血糖值签名&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;早餐后2小时血糖记录签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;中餐前血糖值&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;中餐前血糖测量值
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;中餐前血糖值签名&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;中餐前血糖记录签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;中餐后2H血糖值&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;中餐后2小时血糖测量值
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;中餐后2H血糖值签名&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;中餐后2小时血糖记录签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;晚餐前血糖值&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;晚餐前血糖测量值
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;晚餐前血糖值签名&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;晚餐前血糖记录签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;晚餐后2H血糖值&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;晚餐后2小时血糖测量值
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;晚餐后2H血糖值签名&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;晚餐后2小时血糖记录签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;睡前血糖血糖值&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;睡前血糖测量值
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;睡前血糖血糖值时间&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;睡前血糖测量时间
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;睡前血糖血糖值签名&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;睡前血糖记录签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;随机血糖与血酮字段组
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;随机血糖血糖值&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;随机血糖测量值
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;随机血糖血糖值时间&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;随机血糖测量时间
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;随机血糖血糖值签名&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;随机血糖记录签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;随机床旁血酮值&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;随机床旁血酮测量值
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;随机床旁血酮时间&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;随机床旁血酮测量时间
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;随机床旁血酮签名&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;随机床旁血酮记录签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;temp_sort_no&amp;nbsp;INT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;临时排序编号，用于匹配随机数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;ENGINE=InnoDB&amp;nbsp;DEFAULT&amp;nbsp;CHARSET=utf8mb4;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;==================================================
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;2.&amp;nbsp;定义中间表结构（用于分步处理数据，避免重复计算）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;==================================================
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;存储行号序列的中间表
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CREATE&amp;nbsp;TABLE&amp;nbsp;IF&amp;nbsp;NOT&amp;nbsp;EXISTS&amp;nbsp;`glucose_numbers`&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;session_id&amp;nbsp;CHAR(36)&amp;nbsp;NOT&amp;nbsp;NULL,&amp;nbsp;&amp;nbsp;--&amp;nbsp;会话ID，关联当前处理批次
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;n&amp;nbsp;INT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;行号，用于随机数据排序
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;ENGINE=InnoDB&amp;nbsp;DEFAULT&amp;nbsp;CHARSET=utf8mb4;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;存储随机血糖数据的中间表
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CREATE&amp;nbsp;TABLE&amp;nbsp;IF&amp;nbsp;NOT&amp;nbsp;EXISTS&amp;nbsp;`glucose_random_data`&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;session_id&amp;nbsp;CHAR(36)&amp;nbsp;NOT&amp;nbsp;NULL,&amp;nbsp;&amp;nbsp;--&amp;nbsp;会话ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;patient_id&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;患者ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;record_date&amp;nbsp;DATE,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;记录日期
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rn&amp;nbsp;INT,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;排序行号（按测量时间升序）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;随机血糖血糖值&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;随机血糖测量值
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;随机血糖血糖值时间&amp;nbsp;VARCHAR(50),--&amp;nbsp;随机血糖测量时间
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;随机血糖血糖值签名&amp;nbsp;VARCHAR(50)&amp;nbsp;--&amp;nbsp;随机血糖记录签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;ENGINE=InnoDB&amp;nbsp;DEFAULT&amp;nbsp;CHARSET=utf8mb4;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;存储随机血酮数据的中间表
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CREATE&amp;nbsp;TABLE&amp;nbsp;IF&amp;nbsp;NOT&amp;nbsp;EXISTS&amp;nbsp;`glucose_ketone_data`&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;session_id&amp;nbsp;CHAR(36)&amp;nbsp;NOT&amp;nbsp;NULL,&amp;nbsp;&amp;nbsp;--&amp;nbsp;会话ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;patient_id&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;患者ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;record_date&amp;nbsp;DATE,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;记录日期
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rn&amp;nbsp;INT,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;排序行号（按测量时间升序）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;随机床旁血酮值&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;随机床旁血酮测量值
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;随机床旁血酮时间&amp;nbsp;VARCHAR(50),&amp;nbsp;&amp;nbsp;--&amp;nbsp;随机床旁血酮测量时间
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;随机床旁血酮签名&amp;nbsp;VARCHAR(50)&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;随机床旁血酮记录签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;ENGINE=InnoDB&amp;nbsp;DEFAULT&amp;nbsp;CHARSET=utf8mb4;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;==================================================
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;3.&amp;nbsp;插入固定时间点的血糖数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;从源表提取并转换为宽表结构，相同日期数据聚合
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;==================================================
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;INSERT&amp;nbsp;INTO&amp;nbsp;`merged_glucose_result`
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;session_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;patient_id,&amp;nbsp;record_date,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;早餐前血糖值,&amp;nbsp;早餐前血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;早餐后2H血糖值,&amp;nbsp;早餐后2H血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;中餐前血糖值,&amp;nbsp;中餐前血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;中餐后2H血糖值,&amp;nbsp;中餐后2H血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;晚餐前血糖值,&amp;nbsp;晚餐前血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;晚餐后2H血糖值,&amp;nbsp;晚餐后2H血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;睡前血糖血糖值,&amp;nbsp;睡前血糖血糖值时间,&amp;nbsp;睡前血糖血糖值签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SELECT&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p_session_id,&amp;nbsp;&amp;nbsp;--&amp;nbsp;绑定当前会话ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;patient_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;record_date,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;提取固定时间点血糖值（转换为数值型）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAX(CASE&amp;nbsp;WHEN&amp;nbsp;record_name&amp;nbsp;=&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;&amp;nbsp;THEN&amp;nbsp;record_data&amp;nbsp;END)&amp;nbsp;AS&amp;nbsp;早餐前血糖值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAX(CASE&amp;nbsp;WHEN&amp;nbsp;record_name&amp;nbsp;=&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;&amp;nbsp;THEN&amp;nbsp;record_data&amp;nbsp;END)&amp;nbsp;AS&amp;nbsp;早餐前血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAX(CASE&amp;nbsp;WHEN&amp;nbsp;record_name&amp;nbsp;=&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;&amp;nbsp;THEN&amp;nbsp;record_data&amp;nbsp;END)&amp;nbsp;AS&amp;nbsp;早餐后2H血糖值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAX(CASE&amp;nbsp;WHEN&amp;nbsp;record_name&amp;nbsp;=&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;&amp;nbsp;THEN&amp;nbsp;record_data&amp;nbsp;END)&amp;nbsp;AS&amp;nbsp;早餐后2H血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAX(CASE&amp;nbsp;WHEN&amp;nbsp;record_name&amp;nbsp;=&amp;nbsp;&amp;#39;中餐前血糖值&amp;#39;&amp;nbsp;THEN&amp;nbsp;record_data&amp;nbsp;END)&amp;nbsp;AS&amp;nbsp;中餐前血糖值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAX(CASE&amp;nbsp;WHEN&amp;nbsp;record_name&amp;nbsp;=&amp;nbsp;&amp;#39;中餐前血糖值签名&amp;#39;&amp;nbsp;THEN&amp;nbsp;record_data&amp;nbsp;END)&amp;nbsp;AS&amp;nbsp;中餐前血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAX(CASE&amp;nbsp;WHEN&amp;nbsp;record_name&amp;nbsp;=&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;&amp;nbsp;THEN&amp;nbsp;record_data&amp;nbsp;END)&amp;nbsp;AS&amp;nbsp;中餐后2H血糖值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAX(CASE&amp;nbsp;WHEN&amp;nbsp;record_name&amp;nbsp;=&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;&amp;nbsp;THEN&amp;nbsp;record_data&amp;nbsp;END)&amp;nbsp;AS&amp;nbsp;中餐后2H血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAX(CASE&amp;nbsp;WHEN&amp;nbsp;record_name&amp;nbsp;=&amp;nbsp;&amp;#39;晚餐前血糖值&amp;#39;&amp;nbsp;THEN&amp;nbsp;record_data&amp;nbsp;END)&amp;nbsp;AS&amp;nbsp;晚餐前血糖值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAX(CASE&amp;nbsp;WHEN&amp;nbsp;record_name&amp;nbsp;=&amp;nbsp;&amp;#39;晚餐前血糖值签名&amp;#39;&amp;nbsp;THEN&amp;nbsp;record_data&amp;nbsp;END)&amp;nbsp;AS&amp;nbsp;晚餐前血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAX(CASE&amp;nbsp;WHEN&amp;nbsp;record_name&amp;nbsp;=&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;&amp;nbsp;THEN&amp;nbsp;record_data&amp;nbsp;END)&amp;nbsp;AS&amp;nbsp;晚餐后2H血糖值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAX(CASE&amp;nbsp;WHEN&amp;nbsp;record_name&amp;nbsp;=&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;&amp;nbsp;THEN&amp;nbsp;record_data&amp;nbsp;END)&amp;nbsp;AS&amp;nbsp;晚餐后2H血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAX(CASE&amp;nbsp;WHEN&amp;nbsp;record_name&amp;nbsp;=&amp;nbsp;&amp;#39;睡前血糖血糖值&amp;#39;&amp;nbsp;THEN&amp;nbsp;record_data&amp;nbsp;END)&amp;nbsp;AS&amp;nbsp;睡前血糖血糖值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAX(CASE&amp;nbsp;WHEN&amp;nbsp;record_name&amp;nbsp;=&amp;nbsp;&amp;#39;睡前血糖血糖值时间&amp;#39;&amp;nbsp;THEN&amp;nbsp;record_time&amp;nbsp;END)&amp;nbsp;AS&amp;nbsp;睡前血糖血糖值时间,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAX(CASE&amp;nbsp;WHEN&amp;nbsp;record_name&amp;nbsp;=&amp;nbsp;&amp;#39;睡前血糖血糖值签名&amp;#39;&amp;nbsp;THEN&amp;nbsp;record_data&amp;nbsp;END)&amp;nbsp;AS&amp;nbsp;睡前血糖血糖值签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FROM&amp;nbsp;source_blood_record
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(p_patient_id&amp;nbsp;IS&amp;nbsp;NULL&amp;nbsp;OR&amp;nbsp;patient_id&amp;nbsp;=&amp;nbsp;p_patient_id)&amp;nbsp;&amp;nbsp;--&amp;nbsp;支持单患者或全量患者处理
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;record_name&amp;nbsp;IN&amp;nbsp;(&amp;nbsp;&amp;nbsp;--&amp;nbsp;筛选固定时间点血糖相关记录
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;早餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;早餐前血糖值签名&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;早餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;早餐后2H血糖值签名&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;中餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;中餐前血糖值签名&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;中餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;中餐后2H血糖值签名&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;晚餐前血糖值&amp;#39;,&amp;nbsp;&amp;#39;晚餐前血糖值签名&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;晚餐后2H血糖值&amp;#39;,&amp;nbsp;&amp;#39;晚餐后2H血糖值签名&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;睡前血糖血糖值&amp;#39;,&amp;nbsp;&amp;#39;睡前血糖血糖值时间&amp;#39;,&amp;nbsp;&amp;#39;睡前血糖血糖值签名&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;patient_id,&amp;nbsp;record_date&amp;nbsp;&amp;nbsp;--&amp;nbsp;按患者和日期聚合
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ON&amp;nbsp;DUPLICATE&amp;nbsp;KEY&amp;nbsp;UPDATE&amp;nbsp;&amp;nbsp;--&amp;nbsp;重复数据处理：保留非空新值
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;早餐前血糖值&amp;nbsp;=&amp;nbsp;COALESCE(VALUES(早餐前血糖值),&amp;nbsp;早餐前血糖值),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;早餐前血糖值签名&amp;nbsp;=&amp;nbsp;COALESCE(VALUES(早餐前血糖值签名),&amp;nbsp;早餐前血糖值签名),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;早餐后2H血糖值&amp;nbsp;=&amp;nbsp;COALESCE(VALUES(早餐后2H血糖值),&amp;nbsp;早餐后2H血糖值),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;早餐后2H血糖值签名&amp;nbsp;=&amp;nbsp;COALESCE(VALUES(早餐后2H血糖值签名),&amp;nbsp;早餐后2H血糖值签名),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;中餐前血糖值&amp;nbsp;=&amp;nbsp;COALESCE(VALUES(中餐前血糖值),&amp;nbsp;中餐前血糖值),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;中餐前血糖值签名&amp;nbsp;=&amp;nbsp;COALESCE(VALUES(中餐前血糖值签名),&amp;nbsp;中餐前血糖值签名),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;中餐后2H血糖值&amp;nbsp;=&amp;nbsp;COALESCE(VALUES(中餐后2H血糖值),&amp;nbsp;中餐后2H血糖值),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;中餐后2H血糖值签名&amp;nbsp;=&amp;nbsp;COALESCE(VALUES(中餐后2H血糖值签名),&amp;nbsp;中餐后2H血糖值签名),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;晚餐前血糖值&amp;nbsp;=&amp;nbsp;COALESCE(VALUES(晚餐前血糖值),&amp;nbsp;晚餐前血糖值),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;晚餐前血糖值签名&amp;nbsp;=&amp;nbsp;COALESCE(VALUES(晚餐前血糖值签名),&amp;nbsp;晚餐前血糖值签名),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;晚餐后2H血糖值&amp;nbsp;=&amp;nbsp;COALESCE(VALUES(晚餐后2H血糖值),&amp;nbsp;晚餐后2H血糖值),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;晚餐后2H血糖值签名&amp;nbsp;=&amp;nbsp;COALESCE(VALUES(晚餐后2H血糖值签名),&amp;nbsp;晚餐后2H血糖值签名),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;睡前血糖血糖值&amp;nbsp;=&amp;nbsp;COALESCE(VALUES(睡前血糖血糖值),&amp;nbsp;睡前血糖血糖值),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;睡前血糖血糖值时间&amp;nbsp;=&amp;nbsp;COALESCE(VALUES(睡前血糖血糖值时间),&amp;nbsp;睡前血糖血糖值时间),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;睡前血糖血糖值签名&amp;nbsp;=&amp;nbsp;COALESCE(VALUES(睡前血糖血糖值签名),&amp;nbsp;睡前血糖血糖值签名);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;==================================================
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;4.&amp;nbsp;处理随机血糖和血酮数据（核心逻辑）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;==================================================
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;4.1&amp;nbsp;清空当前会话的中间表历史数据，避免干扰
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DELETE&amp;nbsp;FROM&amp;nbsp;`glucose_random_data`&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;session_id&amp;nbsp;=&amp;nbsp;p_session_id&amp;nbsp;AND&amp;nbsp;(p_patient_id&amp;nbsp;IS&amp;nbsp;NULL&amp;nbsp;OR&amp;nbsp;patient_id&amp;nbsp;=&amp;nbsp;p_patient_id);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DELETE&amp;nbsp;FROM&amp;nbsp;`glucose_ketone_data`&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;session_id&amp;nbsp;=&amp;nbsp;p_session_id&amp;nbsp;AND&amp;nbsp;(p_patient_id&amp;nbsp;IS&amp;nbsp;NULL&amp;nbsp;OR&amp;nbsp;patient_id&amp;nbsp;=&amp;nbsp;p_patient_id);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DELETE&amp;nbsp;FROM&amp;nbsp;`glucose_numbers`&amp;nbsp;WHERE&amp;nbsp;session_id&amp;nbsp;=&amp;nbsp;p_session_id;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;4.2&amp;nbsp;处理随机血糖数据：提取并关联时间和签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;INSERT&amp;nbsp;INTO&amp;nbsp;`glucose_random_data`
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(session_id,&amp;nbsp;patient_id,&amp;nbsp;record_date,&amp;nbsp;rn,&amp;nbsp;随机血糖血糖值,&amp;nbsp;随机血糖血糖值时间,&amp;nbsp;随机血糖血糖值签名)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SELECT&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p_session_id,&amp;nbsp;&amp;nbsp;--&amp;nbsp;绑定当前会话ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rg_base.patient_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rg_base.record_date,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rg_base.rn,&amp;nbsp;&amp;nbsp;--&amp;nbsp;排序行号
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rg_base.随机血糖血糖值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAX(CASE&amp;nbsp;WHEN&amp;nbsp;rg_sub.record_name&amp;nbsp;=&amp;nbsp;&amp;#39;随机血糖血糖值时间&amp;#39;&amp;nbsp;THEN&amp;nbsp;rg_sub.record_data&amp;nbsp;END)&amp;nbsp;AS&amp;nbsp;随机血糖血糖值时间,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAX(CASE&amp;nbsp;WHEN&amp;nbsp;rg_sub.record_name&amp;nbsp;=&amp;nbsp;&amp;#39;随机血糖血糖值签名&amp;#39;&amp;nbsp;THEN&amp;nbsp;rg_sub.record_data&amp;nbsp;END)&amp;nbsp;AS&amp;nbsp;随机血糖血糖值签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FROM&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;子查询：对随机血糖值按时间排序并生成行号
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SELECT&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;patient_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;record_date,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data_source_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;record_time,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;record_data&amp;nbsp;AS&amp;nbsp;随机血糖血糖值,&amp;nbsp;&amp;nbsp;--&amp;nbsp;转换为数值型
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;按患者和日期分组生成自增行号
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@rn1&amp;nbsp;:=&amp;nbsp;IF(@pid1&amp;nbsp;=&amp;nbsp;patient_id&amp;nbsp;AND&amp;nbsp;@dt1&amp;nbsp;=&amp;nbsp;record_date,&amp;nbsp;@rn1&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;1)&amp;nbsp;AS&amp;nbsp;rn,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@pid1&amp;nbsp;:=&amp;nbsp;patient_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@dt1&amp;nbsp;:=&amp;nbsp;record_date
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FROM&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;基础数据：筛选有效随机血糖记录并排序
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SELECT&amp;nbsp;patient_id,&amp;nbsp;record_date,&amp;nbsp;data_source_id,&amp;nbsp;record_time,&amp;nbsp;record_data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FROM&amp;nbsp;source_blood_record
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;(p_patient_id&amp;nbsp;IS&amp;nbsp;NULL&amp;nbsp;OR&amp;nbsp;patient_id&amp;nbsp;=&amp;nbsp;p_patient_id)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;record_name&amp;nbsp;=&amp;nbsp;&amp;#39;随机血糖血糖值&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;record_data&amp;nbsp;IS&amp;nbsp;NOT&amp;nbsp;NULL
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ORDER&amp;nbsp;BY&amp;nbsp;patient_id,&amp;nbsp;record_date,&amp;nbsp;record_time&amp;nbsp;&amp;nbsp;--&amp;nbsp;按时间升序
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;AS&amp;nbsp;sorted_rg
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JOIN&amp;nbsp;(SELECT&amp;nbsp;@rn1&amp;nbsp;:=&amp;nbsp;0,&amp;nbsp;@pid1&amp;nbsp;:=&amp;nbsp;&amp;#39;&amp;#39;,&amp;nbsp;@dt1&amp;nbsp;:=&amp;nbsp;&amp;#39;0000-00-00&amp;#39;)&amp;nbsp;AS&amp;nbsp;vars_rg&amp;nbsp;&amp;nbsp;--&amp;nbsp;初始化变量
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;AS&amp;nbsp;rg_base
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;关联随机血糖的时间和签名信息
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SELECT&amp;nbsp;patient_id,&amp;nbsp;record_date,&amp;nbsp;data_source_id,&amp;nbsp;record_time,&amp;nbsp;record_name,&amp;nbsp;record_data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FROM&amp;nbsp;source_blood_record
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;(p_patient_id&amp;nbsp;IS&amp;nbsp;NULL&amp;nbsp;OR&amp;nbsp;patient_id&amp;nbsp;=&amp;nbsp;p_patient_id)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;record_name&amp;nbsp;IN&amp;nbsp;(&amp;#39;随机血糖血糖值时间&amp;#39;,&amp;nbsp;&amp;#39;随机血糖血糖值签名&amp;#39;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;AS&amp;nbsp;rg_sub&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ON&amp;nbsp;rg_base.patient_id&amp;nbsp;=&amp;nbsp;rg_sub.patient_id
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;rg_base.record_date&amp;nbsp;=&amp;nbsp;rg_sub.record_date
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;(rg_base.data_source_id&amp;nbsp;=&amp;nbsp;rg_sub.data_source_id&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OR&amp;nbsp;(rg_base.data_source_id&amp;nbsp;IS&amp;nbsp;NULL&amp;nbsp;AND&amp;nbsp;rg_base.record_time&amp;nbsp;=&amp;nbsp;rg_sub.record_time))&amp;nbsp;&amp;nbsp;--&amp;nbsp;兼容无数据源ID的情况
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;rg_base.patient_id,&amp;nbsp;rg_base.record_date,&amp;nbsp;rg_base.rn,&amp;nbsp;rg_base.随机血糖血糖值;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;4.3&amp;nbsp;处理随机床旁血酮数据：提取并关联时间和签名（逻辑同随机血糖）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;INSERT&amp;nbsp;INTO&amp;nbsp;`glucose_ketone_data`
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(session_id,&amp;nbsp;patient_id,&amp;nbsp;record_date,&amp;nbsp;rn,&amp;nbsp;随机床旁血酮值,&amp;nbsp;随机床旁血酮时间,&amp;nbsp;随机床旁血酮签名)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SELECT&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p_session_id,&amp;nbsp;&amp;nbsp;--&amp;nbsp;绑定当前会话ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rk_base.patient_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rk_base.record_date,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rk_base.rn,&amp;nbsp;&amp;nbsp;--&amp;nbsp;排序行号
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rk_base.随机床旁血酮值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAX(CASE&amp;nbsp;WHEN&amp;nbsp;rk_sub.record_name&amp;nbsp;=&amp;nbsp;&amp;#39;随机床旁血酮时间&amp;#39;&amp;nbsp;THEN&amp;nbsp;rk_sub.record_data&amp;nbsp;END)&amp;nbsp;AS&amp;nbsp;随机床旁血酮时间,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAX(CASE&amp;nbsp;WHEN&amp;nbsp;rk_sub.record_name&amp;nbsp;=&amp;nbsp;&amp;#39;随机床旁血酮签名&amp;#39;&amp;nbsp;THEN&amp;nbsp;rk_sub.record_data&amp;nbsp;END)&amp;nbsp;AS&amp;nbsp;随机床旁血酮签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FROM&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;子查询：对随机血酮值按时间排序并生成行号
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SELECT&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;patient_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;record_date,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data_source_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;record_time,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;record_data&amp;nbsp;AS&amp;nbsp;随机床旁血酮值,&amp;nbsp;&amp;nbsp;--&amp;nbsp;转换为数值型
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;按患者和日期分组生成自增行号
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@rn2&amp;nbsp;:=&amp;nbsp;IF(@pid2&amp;nbsp;=&amp;nbsp;patient_id&amp;nbsp;AND&amp;nbsp;@dt2&amp;nbsp;=&amp;nbsp;record_date,&amp;nbsp;@rn2&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;1)&amp;nbsp;AS&amp;nbsp;rn,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@pid2&amp;nbsp;:=&amp;nbsp;patient_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@dt2&amp;nbsp;:=&amp;nbsp;record_date
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FROM&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;基础数据：筛选有效随机血酮记录并排序
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SELECT&amp;nbsp;patient_id,&amp;nbsp;record_date,&amp;nbsp;data_source_id,&amp;nbsp;record_time,&amp;nbsp;record_data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FROM&amp;nbsp;source_blood_record
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;(p_patient_id&amp;nbsp;IS&amp;nbsp;NULL&amp;nbsp;OR&amp;nbsp;patient_id&amp;nbsp;=&amp;nbsp;p_patient_id)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;record_name&amp;nbsp;=&amp;nbsp;&amp;#39;随机床旁血酮值&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;record_data&amp;nbsp;IS&amp;nbsp;NOT&amp;nbsp;NULL
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ORDER&amp;nbsp;BY&amp;nbsp;patient_id,&amp;nbsp;record_date,&amp;nbsp;record_time&amp;nbsp;&amp;nbsp;--&amp;nbsp;按时间升序
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;AS&amp;nbsp;sorted_rk
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JOIN&amp;nbsp;(SELECT&amp;nbsp;@rn2&amp;nbsp;:=&amp;nbsp;0,&amp;nbsp;@pid2&amp;nbsp;:=&amp;nbsp;&amp;#39;&amp;#39;,&amp;nbsp;@dt2&amp;nbsp;:=&amp;nbsp;&amp;#39;0000-00-00&amp;#39;)&amp;nbsp;AS&amp;nbsp;vars_rk&amp;nbsp;&amp;nbsp;--&amp;nbsp;初始化变量
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;AS&amp;nbsp;rk_base
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;关联随机血酮的时间和签名信息
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SELECT&amp;nbsp;patient_id,&amp;nbsp;record_date,&amp;nbsp;data_source_id,&amp;nbsp;record_time,&amp;nbsp;record_name,&amp;nbsp;record_data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FROM&amp;nbsp;source_blood_record
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;(p_patient_id&amp;nbsp;IS&amp;nbsp;NULL&amp;nbsp;OR&amp;nbsp;patient_id&amp;nbsp;=&amp;nbsp;p_patient_id)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;record_name&amp;nbsp;IN&amp;nbsp;(&amp;#39;随机床旁血酮时间&amp;#39;,&amp;nbsp;&amp;#39;随机床旁血酮签名&amp;#39;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;AS&amp;nbsp;rk_sub&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ON&amp;nbsp;rk_base.patient_id&amp;nbsp;=&amp;nbsp;rk_sub.patient_id
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;rk_base.record_date&amp;nbsp;=&amp;nbsp;rk_sub.record_date
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;(rk_base.data_source_id&amp;nbsp;=&amp;nbsp;rk_sub.data_source_id&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OR&amp;nbsp;(rk_base.data_source_id&amp;nbsp;IS&amp;nbsp;NULL&amp;nbsp;AND&amp;nbsp;rk_base.record_time&amp;nbsp;=&amp;nbsp;rk_sub.record_time))&amp;nbsp;&amp;nbsp;--&amp;nbsp;兼容无数据源ID的情况
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;rk_base.patient_id,&amp;nbsp;rk_base.record_date,&amp;nbsp;rk_base.rn,&amp;nbsp;rk_base.随机床旁血酮值;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;==================================================
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;5.&amp;nbsp;合并随机血糖和血酮数据到统一中间表
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;生成全局排序号，解决多表关联时的匹配问题
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;==================================================
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;创建合并中间表（若不存在）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CREATE&amp;nbsp;TABLE&amp;nbsp;IF&amp;nbsp;NOT&amp;nbsp;EXISTS&amp;nbsp;`glucose_ketone_merged`&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;`sortNo`&amp;nbsp;INT&amp;nbsp;NOT&amp;nbsp;NULL,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;全局排序号
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;`session_id`&amp;nbsp;VARCHAR(50)&amp;nbsp;NOT&amp;nbsp;NULL,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;会话ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;`patient_id`&amp;nbsp;VARCHAR(20)&amp;nbsp;NOT&amp;nbsp;NULL,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;患者ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;`record_date`&amp;nbsp;DATE&amp;nbsp;NOT&amp;nbsp;NULL,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;记录日期
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;`随机血糖血糖值`&amp;nbsp;VARCHAR(50)&amp;nbsp;NULL,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;随机血糖值
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;`随机血糖血糖值时间`&amp;nbsp;VARCHAR(50)&amp;nbsp;NULL,&amp;nbsp;&amp;nbsp;--&amp;nbsp;随机血糖时间
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;`随机血糖血糖值签名`&amp;nbsp;VARCHAR(100)&amp;nbsp;NULL,&amp;nbsp;--&amp;nbsp;随机血糖签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;`随机床旁血酮值`&amp;nbsp;VARCHAR(50)&amp;nbsp;NULL,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;随机血酮值
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;`随机床旁血酮时间`&amp;nbsp;VARCHAR(50)&amp;nbsp;NULL,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;随机血酮时间
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;`随机床旁血酮签名`&amp;nbsp;VARCHAR(100)&amp;nbsp;NULL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;随机血酮签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;ENGINE=InnoDB&amp;nbsp;DEFAULT&amp;nbsp;CHARSET=utf8mb4;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;清空合并表历史数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TRUNCATE&amp;nbsp;TABLE&amp;nbsp;`glucose_ketone_merged`;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;插入合并数据并生成排序号
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;INSERT&amp;nbsp;INTO&amp;nbsp;`glucose_ketone_merged`&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;`sortNo`,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;`session_id`,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;`patient_id`,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;`record_date`,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;`随机血糖血糖值`,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;`随机血糖血糖值时间`,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;`随机血糖血糖值签名`,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;`随机床旁血酮值`,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;`随机床旁血酮时间`,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;`随机床旁血酮签名`
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SELECT&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@sortNo&amp;nbsp;:=&amp;nbsp;@sortNo&amp;nbsp;+&amp;nbsp;1&amp;nbsp;AS&amp;nbsp;sortNo,&amp;nbsp;&amp;nbsp;--&amp;nbsp;生成自增排序号
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;t.*
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FROM&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;合并逻辑：先关联血酮和血糖，再补充单独存在的血糖数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SELECT&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;COALESCE(rg.session_id,&amp;nbsp;rk.session_id)&amp;nbsp;AS&amp;nbsp;session_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;COALESCE(rg.patient_id,&amp;nbsp;rk.patient_id)&amp;nbsp;AS&amp;nbsp;patient_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;COALESCE(rg.record_date,&amp;nbsp;rk.record_date)&amp;nbsp;AS&amp;nbsp;record_date,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rg.随机血糖血糖值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rg.随机血糖血糖值时间,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rg.随机血糖血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rk.随机床旁血酮值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rk.随机床旁血酮时间,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rk.随机床旁血酮签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FROM&amp;nbsp;`glucose_ketone_data`&amp;nbsp;rk
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;`glucose_random_data`&amp;nbsp;rg&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ON&amp;nbsp;rk.session_id&amp;nbsp;=&amp;nbsp;rg.session_id
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;rk.patient_id&amp;nbsp;=&amp;nbsp;rg.patient_id
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;rk.record_date&amp;nbsp;=&amp;nbsp;rg.record_date
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;rk.session_id&amp;nbsp;=&amp;nbsp;p_session_id
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UNION&amp;nbsp;ALL&amp;nbsp;&amp;nbsp;--&amp;nbsp;补充无对应血酮的血糖数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SELECT&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rg.session_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rg.patient_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rg.record_date,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rg.随机血糖血糖值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rg.随机血糖血糖值时间,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rg.随机血糖血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NULL&amp;nbsp;AS&amp;nbsp;随机床旁血酮值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NULL&amp;nbsp;AS&amp;nbsp;随机床旁血酮时间,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NULL&amp;nbsp;AS&amp;nbsp;随机床旁血酮签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FROM&amp;nbsp;`glucose_random_data`&amp;nbsp;rg
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;rg.session_id&amp;nbsp;=&amp;nbsp;p_session_id
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;NOT&amp;nbsp;EXISTS&amp;nbsp;(&amp;nbsp;&amp;nbsp;--&amp;nbsp;筛选无对应血酮的数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SELECT&amp;nbsp;1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FROM&amp;nbsp;`glucose_ketone_data`&amp;nbsp;rk_sub
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;rk_sub.session_id&amp;nbsp;=&amp;nbsp;rg.session_id
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;rk_sub.patient_id&amp;nbsp;=&amp;nbsp;rg.patient_id
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;rk_sub.record_date&amp;nbsp;=&amp;nbsp;rg.record_date
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;AS&amp;nbsp;t,&amp;nbsp;(SELECT&amp;nbsp;@sortNo&amp;nbsp;:=&amp;nbsp;0)&amp;nbsp;AS&amp;nbsp;init&amp;nbsp;&amp;nbsp;--&amp;nbsp;初始化排序号变量
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ORDER&amp;nbsp;BY&amp;nbsp;t.record_date;&amp;nbsp;&amp;nbsp;--&amp;nbsp;按日期排序

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;==================================================
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;6.&amp;nbsp;生成行号序列表（用于后续数据关联）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;==================================================
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SET&amp;nbsp;@i&amp;nbsp;=&amp;nbsp;0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHILE&amp;nbsp;@i&amp;nbsp;&amp;lt;&amp;nbsp;@sortNo&amp;nbsp;DO
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;INSERT&amp;nbsp;INTO&amp;nbsp;`glucose_numbers`&amp;nbsp;(session_id,&amp;nbsp;n)&amp;nbsp;VALUES&amp;nbsp;(p_session_id,&amp;nbsp;@i&amp;nbsp;+&amp;nbsp;1);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SET&amp;nbsp;@i&amp;nbsp;=&amp;nbsp;@i&amp;nbsp;+&amp;nbsp;1;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;END&amp;nbsp;WHILE;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;==================================================
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;7.&amp;nbsp;将合并后的随机数据更新到结果表
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;==================================================
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UPDATE&amp;nbsp;`merged_glucose_result`&amp;nbsp;mg
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JOIN&amp;nbsp;glucose_ketone_merged&amp;nbsp;AS&amp;nbsp;merged_random&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ON&amp;nbsp;mg.session_id&amp;nbsp;=&amp;nbsp;merged_random.session_id
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;mg.patient_id&amp;nbsp;=&amp;nbsp;merged_random.patient_id&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;mg.record_date&amp;nbsp;=&amp;nbsp;merged_random.record_date
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SET&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mg.temp_sort_no&amp;nbsp;=&amp;nbsp;COALESCE(merged_random.sortNo,&amp;nbsp;mg.temp_sort_no),&amp;nbsp;&amp;nbsp;--&amp;nbsp;更新排序标记
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mg.随机血糖血糖值&amp;nbsp;=&amp;nbsp;COALESCE(merged_random.随机血糖血糖值,&amp;nbsp;mg.随机血糖血糖值),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mg.随机血糖血糖值时间&amp;nbsp;=&amp;nbsp;COALESCE(merged_random.随机血糖血糖值时间,&amp;nbsp;mg.随机血糖血糖值时间),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mg.随机血糖血糖值签名&amp;nbsp;=&amp;nbsp;COALESCE(merged_random.随机血糖血糖值签名,&amp;nbsp;mg.随机血糖血糖值签名),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mg.随机床旁血酮值&amp;nbsp;=&amp;nbsp;COALESCE(merged_random.随机床旁血酮值,&amp;nbsp;mg.随机床旁血酮值),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mg.随机床旁血酮时间&amp;nbsp;=&amp;nbsp;COALESCE(merged_random.随机床旁血酮时间,&amp;nbsp;mg.随机床旁血酮时间),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mg.随机床旁血酮签名&amp;nbsp;=&amp;nbsp;COALESCE(merged_random.随机床旁血酮签名,&amp;nbsp;mg.随机床旁血酮签名);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;==================================================
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;8.&amp;nbsp;插入无固定血糖记录的随机数据行
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;确保仅新增未匹配的随机数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;==================================================
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;INSERT&amp;nbsp;INTO&amp;nbsp;`merged_glucose_result`
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;session_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;patient_id,&amp;nbsp;record_date,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;随机血糖血糖值,&amp;nbsp;随机血糖血糖值时间,&amp;nbsp;随机血糖血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;随机床旁血酮值,&amp;nbsp;随机床旁血酮时间,&amp;nbsp;随机床旁血酮签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SELECT&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;merged_random.session_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;merged_random.patient_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;merged_random.record_date,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;merged_random.随机血糖血糖值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;merged_random.随机血糖血糖值时间,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;merged_random.随机血糖血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;merged_random.随机床旁血酮值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;merged_random.随机床旁血酮时间,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;merged_random.随机床旁血酮签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FROM&amp;nbsp;glucose_ketone_merged&amp;nbsp;AS&amp;nbsp;merged_random
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;`merged_glucose_result`&amp;nbsp;mg&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ON&amp;nbsp;merged_random.session_id&amp;nbsp;=&amp;nbsp;mg.session_id
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;merged_random.patient_id&amp;nbsp;=&amp;nbsp;mg.patient_id&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;merged_random.record_date&amp;nbsp;=&amp;nbsp;mg.record_date
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;merged_random.sortNo&amp;nbsp;!=&amp;nbsp;mg.temp_sort_no;&amp;nbsp;&amp;nbsp;--&amp;nbsp;筛选未匹配的随机数据

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;==================================================
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;9.&amp;nbsp;查询当前会话的处理结果
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;格式化输出字段，适配外部系统需求
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;==================================================
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SELECT&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;patient_id&amp;nbsp;as&amp;nbsp;patientId,&amp;nbsp;&amp;nbsp;--&amp;nbsp;字段重命名（驼峰式）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DATE_FORMAT(record_date,&amp;nbsp;&amp;#39;%Y-%m-%d&amp;#39;)&amp;nbsp;as&amp;nbsp;recordDate,&amp;nbsp;&amp;nbsp;--&amp;nbsp;日期格式化
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;固定血糖字段
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;早餐前血糖值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;早餐前血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;早餐后2H血糖值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;早餐后2H血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;中餐前血糖值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;中餐前血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;中餐后2H血糖值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;中餐后2H血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;晚餐前血糖值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;晚餐前血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;晚餐后2H血糖值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;晚餐后2H血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;睡前血糖血糖值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;睡前血糖血糖值时间,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;睡前血糖血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;随机数据字段
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;随机血糖血糖值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;随机血糖血糖值时间,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;随机血糖血糖值签名,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;随机床旁血酮值,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;随机床旁血酮时间,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;随机床旁血酮签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FROM&amp;nbsp;`merged_glucose_result`
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;session_id&amp;nbsp;=&amp;nbsp;p_session_id
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;(p_patient_id&amp;nbsp;IS&amp;nbsp;NULL&amp;nbsp;OR&amp;nbsp;patient_id&amp;nbsp;=&amp;nbsp;p_patient_id)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ORDER&amp;nbsp;BY&amp;nbsp;patient_id,&amp;nbsp;record_date;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;==================================================
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;10.&amp;nbsp;清理当前会话的临时数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;避免占用存储空间，防止数据干扰
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;nbsp;==================================================
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DELETE&amp;nbsp;FROM&amp;nbsp;merged_glucose_result&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;patient_id&amp;nbsp;=&amp;nbsp;p_patient_id&amp;nbsp;AND&amp;nbsp;session_id&amp;nbsp;=&amp;nbsp;p_session_id;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DELETE&amp;nbsp;FROM&amp;nbsp;glucose_numbers&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;session_id&amp;nbsp;=&amp;nbsp;p_session_id;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DELETE&amp;nbsp;FROM&amp;nbsp;glucose_random_data&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;patient_id&amp;nbsp;=&amp;nbsp;p_patient_id&amp;nbsp;AND&amp;nbsp;session_id&amp;nbsp;=&amp;nbsp;p_session_id;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DELETE&amp;nbsp;FROM&amp;nbsp;glucose_ketone_data&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;patient_id&amp;nbsp;=&amp;nbsp;p_patient_id&amp;nbsp;AND&amp;nbsp;session_id&amp;nbsp;=&amp;nbsp;p_session_id;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DELETE&amp;nbsp;FROM&amp;nbsp;glucose_ketone_merged&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;patient_id&amp;nbsp;=&amp;nbsp;p_patient_id&amp;nbsp;AND&amp;nbsp;session_id&amp;nbsp;=&amp;nbsp;p_session_id;
END&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;4、测试存储过程&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/10/202510201140042694662.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/10/202510201140188180149.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/10/202510201153008092798.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;</description><pubDate>Mon, 20 Oct 2025 11:30:00 +0800</pubDate></item><item><title>小生命，小幸运，小欢喜</title><link>https://www.zjh336.cn/?id=2139</link><description>&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;为了迎接小宝宝的到来，我们提前做了准备，12月15日，接了丈母娘过来帮忙，还带来了充足的物资，心里美的很。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/04/202504010932259398619.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;时间一天一天近了，老婆的肚子越来越鼓，也就意味着，很快就能和宝宝见面了。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;天气渐冷，我们出门都开始裹着厚厚的衣服。大南瓜、小兔子。&lt;br/&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/10/202510112221266942314.png&quot; alt=&quot;image.png&quot; style=&quot;float: left;&quot;/&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/10/202510112222194034451.png&quot; alt=&quot;image.png&quot;/&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;直到2024年的倒数第二天，老婆在公司偶感心慌，心率加速，于是就赶紧回家休息了。原本还想坚持到元旦之后，没成想第二天就见红了，还没来得及吃口饭，就直奔医院。于是我提前开始休假，马不停蹄往医院赶，忙中出错，来来回回好几趟才把所有事情处理好。&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/10/202510112225131793583.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;怀着紧张而激动的心情，迎来了一个小男宝宝，这是又高兴，又担忧。希望他能健健康康长大。希望幸运伴他一生，取名 “郑星运&lt;span style=&quot;text-wrap-mode: wrap;&quot;&gt;”&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/10/202510112217184072144.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;老婆躺在床上，麻药劲还没过，一直发抖，受了不少苦。&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/10/202510112227514850058.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; 其实，更难受的，还是后面这几天，硬扛着疼痛下床走路。&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/10/202510112229364816431.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;宝宝还是还可爱的。&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2025/10/202510112231219552790.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;</description><pubDate>Sat, 01 Feb 2025 09:27:25 +0800</pubDate></item><item><title>2024,生活会越来越好吗</title><link>https://www.zjh336.cn/?id=2138</link><description>&lt;h1 style=&quot;text-wrap-mode: wrap;&quot;&gt;前言&lt;/h1&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2024年，已经接近了尾声，去年设立的目标实现了吗？而今年又发生了哪些有趣的事情呢？&lt;/p&gt;&lt;p&gt;1、国际局势动荡不安，普通人的生活也受到了很大影响，经济形势还在下行。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;2、房价的泡沫破了，比起2021年，房价不知道掉了多少。&lt;/p&gt;&lt;p&gt;3、工具箱迭代，止步于3.10.0版本，短期内不会再更新了。&lt;/p&gt;&lt;p&gt;4、养了一只捡的小狸花猫，取名为“核宝”。&lt;/p&gt;&lt;p&gt;5、老婆的亲人去世了。&lt;/p&gt;&lt;p&gt;6、老婆怀孕了。&lt;/p&gt;&lt;p&gt;7、我从程序员转行做产品了。&lt;/p&gt;&lt;p&gt;8、房子基本装修完成了，就差部分电器和软装装饰了。&lt;/p&gt;&lt;p&gt;9、妹妹上大学去了。&lt;/p&gt;&lt;p&gt;10、宝宝应该会在过年前出生。&lt;/p&gt;&lt;h1 style=&quot;text-wrap-mode: wrap;&quot;&gt;工作&lt;/h1&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;今年年初，由于公司发展需要，我毅然决定，从开发转行做产品了。虽然我做开发的时候，就想了很多做产品要考虑的事情，但是做产品并不仅仅是这些事情，所以还有很多东西是要学习的。在初期阶段，不熟悉的东西太多了，不可避免的经历了一段痛苦的加班。每一个蜕变过程都是痛苦的，产品经理要做的事情太多了，调研需求，沟通客户，协调实施开发，考虑产品走向，等等。产品做的好不好，直接影响的就是生产部门的工作。是困难，也是机遇，毕竟不能一辈子做程序员。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;近一年的磨合，工作越发熟练，基本工作已经能够应付。为了公司的可持续发展，为了自己职业的发展，还是要进行更深层次的学习，沟通协作方面也不能放松。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;然而，经过这一年的工作，关于经济形式越来越严峻的情况，体会的愈发明显。相比往年，钱更难赚了，工资更不好拿了。同样的收入，甚至可能有所降低，而要做的事情变得更多了。这样的日子何时才是结束呀。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h1 style=&quot;text-wrap-mode: wrap;&quot;&gt;生活&lt;/h1&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;这年春节还是在安乡过的，在回去的第二天就开始降温下雪。将近一周的时间里，都是大雪封路。后来，我带老婆回了隆回，这些年也总算是回了一趟老家了。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;回到长沙后，就开始装修的前期准备工作了。我们没有打算请设计师，决定自己设计，然而这仅仅只是一个开始。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;三月份，办了装修手续，初步确定设计方案，就请人拆了墙，简简单单就这样动工了。磕磕绊绊，一个月搞完了水电部分。每个周末都有很多事情，买材料，找工人，办手续，申请装修贷。忙里偷闲，逛逛公园，吹吹风。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;四月份，装修进行时，这个月的主题是泥工砌筑、贴砖、厕所刷防水等。不懂就要多问，向有经验的邻居学习，在抖音知乎学习装修知识，日子过得很充实。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;正当我们沉迷在各种装修设计方案之中时，老婆的爷爷去世了。可惜的是，前些天，最后一个视频电话没有接上。那天我们忙完事情之后，在外面店里休息。也许我老婆她也会感到遗憾吧。过年的时候，一大家人一起拍了全家福，也算是给亲人们留下了一点慰藉。接到电话的晚上，我们就往回家赶了。请了假，连着五一假期，我们就回到了安乡。天气渐冷，后面几天甚至下起了小雨，也许是老天也在悼念亲人的逝去。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;假期尾声，我们去了她外婆那边，在那里，我们遇到了一只活泼的小猫咪，一只小狸花猫。听说这只小猫是外公在大街上捡来的，看上去也就两三个月大小样子。非常可爱的一只小猫，自从这一眼看上后，我就生出来带回去的念头。在与老婆眼神交流后，我毅然决定带回长沙去。于是，我捡来了一个装水果的篓子，在水池洗刷干净，给它准备一个临时居所。由于小猫看起来笨笨的，也不怕生人。我们给它取了一个响亮的名字“核宝”。哈哈哈，听得懂常德话应该知道是什么意思。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;五月份，核宝跟着我们来到了长沙的家里，小家伙好奇的探索着新奇的环境。也许是小家伙在陌生的环境比较胆小，每次抚摸它的时候，它总是用小爪子回应。随着越来越熟悉，开始满屋子乱跑。似乎回到了正常的生活轨迹来，每天上上班，回家之后逗逗小猫。工作压力大，生活也要放松放松，偶然下个馆子改善一下伙食，生活过得有滋有味。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; 10号，这一天，我老婆跟我吐槽，最近身体有些难受，于是我们计划出去放松一下。到了晚上还是没有多少缓解，老婆跟我讨论，要不要买个验孕棒测一下，还问我如果有小宝宝了怎么办。我看似轻松的说，那我就多一个小宝贝咯。直到2天后，老婆给我发了一张图片，两道杠，中了。第二天去医院做了检查，明确下来了这个事情，真的怀孕了，我要当爸爸了。老婆也后知后觉，难怪最近感觉那么累，身体还不舒服。&lt;span style=&quot;text-wrap-mode: wrap;&quot;&gt;终于还是怀孕了，心情犹如过山车一般，上上下下不停起伏。又是惊喜，又是担心。惊喜自不必说，担心的接下来应该怎么保护好她。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; 我老婆原本是骑自行车上班的，现在肯定是不合适了，而且现在住的是6楼的楼梯房，上上下下爬楼梯也终究是不方便，动了搬家的心思。老婆公司对面就有一个小区，她的同事也住在这边，上班过个马路就5分钟的事情，于是我们就把目光投向了这边。方便以后照顾她和宝宝，肯定得选一个大一点的房子。经过多番寻找，我们选定了一户一室两厅，木地板。为了让她更方便的上班，我们很快就定下来了。即使搬家再累，再不想搬家，为了她以后轻松，这件事情也还是得做。比起之前，自己搬家，磨个好几天慢慢来。这次请了搬家公司，提前打包好，一下就搬完了。于是我决定了，以后，专业的事情，还是请专业的人来做吧。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;小猫刚熟悉了环境，又跟着我们搬了家，又是一个新的环境。没过多久，意外发生了。天气逐渐回暖，那被藏起来的气味挥发出来了。每天我们回到家里，打开门的一瞬间，扑面而来的气味。连续几天之后，我老婆终究是扛不住了。也不知道是早期的怀孕反应，还是因为这个气味，她总是觉得身体不舒服。经过与房东的交涉，我们要退租，押金是退不了，但是为了身体健康，又懒得与之争论，影响心情，最终还是又换了房子。两室一厅，虽然什么东西都没有，但是胜在空间大。缺的东西自己添置也不是什么大问题，反正新房也能用得上。至此，生活总算是安定下来了。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;装修也在同步进行，正是搞的火热的时候，隔三差五缺个什么东西要买过去，设计方案有啥问题，师傅施工要确认。每个周末，甚至工作日的中午都要跑过去一趟处理事情。处理完泥工的事情，又要着手厨房美缝先进场。等美缝做完，台盆买了，燃气灶尺寸定了，才能安排打瓷砖橱柜的师傅。全屋定制定金也交了，还没进场设计。一环套一环，没搞装修之前真是不清楚这里面的门道。本以为不做全屋吊顶，就没有木工多少事情，结果部分遗漏的水管吊顶，走廊吊顶，门套安装木工打板，各种小活都要木工参与。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; 六月份，老婆孕反很严重，每天各种不舒服，特别是孕吐，经常晚上要吐到很晚才能睡觉。而我除了能拍拍背，按按摩转移转移注意力，准备一点牛奶，苏打饼干之类的东西，其实什么事情都做不了，只能靠她硬熬。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;装修上，厨房厕所的门窗定制找了一个河东的厂家，全屋定制也准备上面设计了。这一个月，每天都有忧心各种各样的问题。不是改设计，就是要求泥工、木工补活，或者是催促定制门窗进度。协调沟通各工种的工作，希望尽快完成这个装修的事情，早点搞完，早点空着散气味。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; 七月份，丈母娘来了。正值暑假期间，她带着小女儿一起过来玩，也照顾一下大女儿。我的忙碌的生活，终于有了喘息的机会。家中有人照料，就可以更轻松一些，也能多分一些精力在工作和装修上面。这个月，定制柜子搞完了，定制门窗安好了，油工施工完成了，下一步就是水电返场了。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;八月份，孕吐反应渐渐变小了，相对舒适的孕中期要来了。这个月我们去逛了家具，定了卫浴，网购了很多灯。水电师傅做完后，就是家具进场。软装不着急了，硬装告一段落。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;九月份，日子过得也舒服起来了，不用忙着去搞装修，工作也稳定下来，周末就去公园逛逛，偶尔过去新房通通风。然而九月底，快乐消失了，糖耐没过。接下来进入控糖生活，青菜、肉沫、蒸鸡蛋、蒸排骨、荞麦面，什么健康吃什么，什么低升糖就吃什么。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;十月份，回了一趟安乡，一方面考虑到生宝宝后实在没有精力，另一方面也是出于安全考虑，还是把核宝带回去了。听说后来在家里的日子过得非常滋润，深感欣慰。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;双十一到了，老婆购置了很多东西，为接下来生宝宝做了充足的准备。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;接下来，就是静待宝宝的降生了。希望宝宝能够健健康康的来到我们身边。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;&lt;/p&gt;&lt;h1&gt;业余&lt;br/&gt;&lt;/h1&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;年初时，还尚有余力更新我的工具箱版本，只出来了一个3.9.0版本。随着后来工作转型，生活中的事情越来越多，真是不足以支撑继续钻研下去了，可能这些事情得慢慢停下来了。只能偶尔抽点时间玩耍一下。毕竟工具本身的迭代已经停滞，工具箱做的再好也失去了意义，只要服务器还在运行，服务就还会一直保持。也许，如果还有新的机会，应该还会继续探索的。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h1&gt;结语&lt;/h1&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;这一年，我看到了生活的艰难，肩上的担子越发沉重。再难的形势，也不能阻挡我前进的脚步。回看22年写的《2022虎年春节纪事》，人生这趟列车已进入第6站，未来可期。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;我只希望，来年工作顺利，家人身体健康，生活越来越好。&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sat, 07 Dec 2024 23:59:52 +0800</pubDate></item></channel></rss>