<?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>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><item><title>Java后端模拟sql实现多条件匹配,短路运算提高运算效率</title><link>https://www.zjh336.cn/?id=2136</link><description>&lt;p&gt;在程序开发中，遇到需要在后端动态过滤数据的情况，使用逻辑运算and和or针对多个条件进行匹配。在初始设计版本中，只使用了简单的and和or单层结构。实现A并且B或者C没有问题，但是(A并且B)或者(C并且D)就没有办法了。&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2024/03/202403071718591333423.png&quot; alt=&quot;image.png&quot; width=&quot;1224&quot; height=&quot;320&quot; style=&quot;width: 1224px; height: 320px;&quot;/&gt;&lt;/p&gt;&lt;p&gt;针对这种状况，需要进行程序升级，实现类似sql的写法，可以加括号提升运算优先级，并且尽量优化算法，提高匹配效率。&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2024/03/202403071725209241265.png&quot; alt=&quot;image.png&quot; width=&quot;1159&quot; height=&quot;181&quot; style=&quot;width: 1159px; height: 181px;&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;1、在原来的基础上，增加规则名称，用于说明这条规则的用途。&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;2、去除单层的连接符。&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;3、增加多层规则配置界面。&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2024/03/202403071726526227789.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;灵感来源与navicat的筛选条件&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/2024/03/202403071727487914712.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;数据使用json字符串来存储&lt;/p&gt;&lt;pre class=&quot;brush:js;toolbar:false&quot;&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;quot;type&amp;quot;:&amp;nbsp;&amp;quot;rule&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;name&amp;quot;:&amp;nbsp;&amp;quot;规则1&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;index&amp;quot;:&amp;nbsp;0,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;operator&amp;quot;:&amp;nbsp;&amp;quot;and&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;quot;type&amp;quot;:&amp;nbsp;&amp;quot;group&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;data&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;quot;type&amp;quot;:&amp;nbsp;&amp;quot;rule&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;quot;name&amp;quot;:&amp;nbsp;&amp;quot;规则2&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;quot;index&amp;quot;:&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;quot;operator&amp;quot;:&amp;nbsp;&amp;quot;and&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;quot;type&amp;quot;:&amp;nbsp;&amp;quot;rule&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;quot;name&amp;quot;:&amp;nbsp;&amp;quot;规则3&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;quot;index&amp;quot;:&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;&amp;nbsp;&amp;quot;operator&amp;quot;:&amp;nbsp;&amp;quot;or&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;quot;type&amp;quot;:&amp;nbsp;&amp;quot;group&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;quot;data&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;quot;type&amp;quot;:&amp;nbsp;&amp;quot;rule&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;quot;name&amp;quot;:&amp;nbsp;&amp;quot;规则4&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;quot;index&amp;quot;:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;operator&amp;quot;:&amp;nbsp;&amp;quot;or&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;type&amp;quot;:&amp;nbsp;&amp;quot;rule&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;quot;name&amp;quot;:&amp;nbsp;&amp;quot;规则5&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;quot;index&amp;quot;:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;operator&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;quot;operator&amp;quot;:&amp;nbsp;&amp;quot;and&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;quot;type&amp;quot;:&amp;nbsp;&amp;quot;rule&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;quot;name&amp;quot;:&amp;nbsp;&amp;quot;规则6&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;quot;index&amp;quot;:&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;quot;operator&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;quot;operator&amp;quot;:&amp;nbsp;&amp;quot;and&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;quot;type&amp;quot;:&amp;nbsp;&amp;quot;rule&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;name&amp;quot;:&amp;nbsp;&amp;quot;规则7&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;index&amp;quot;:&amp;nbsp;6,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;operator&amp;quot;:&amp;nbsp;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
]&lt;/pre&gt;&lt;p&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;/p&gt;&lt;pre class=&quot;brush:java;toolbar:false&quot;&gt;public&amp;nbsp;static&amp;nbsp;Boolean&amp;nbsp;cacluateSingle(JSONObject&amp;nbsp;single,Map&amp;nbsp;obj,List&amp;lt;Map&amp;gt;&amp;nbsp;materialOrderExecuteItemRules){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;单个条件计算结果
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Boolean&amp;nbsp;conditionResult&amp;nbsp;=&amp;nbsp;false;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;获取规则类型&amp;nbsp;&amp;nbsp;rule规则&amp;nbsp;group分组
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;ruleType&amp;nbsp;=&amp;nbsp;single.getString(&amp;quot;type&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;分组
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(&amp;quot;group&amp;quot;.equals(ruleType)){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;获取分组数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JSONArray&amp;nbsp;groupData&amp;nbsp;=&amp;nbsp;single.getJSONArray(&amp;quot;data&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;conditionResult&amp;nbsp;=&amp;nbsp;calculateRulesMatchingResultTest(groupData,obj,materialOrderExecuteItemRules);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;规则
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;if(&amp;quot;rule&amp;quot;.equals(ruleType))&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;获取规则下标
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Integer&amp;nbsp;ruleIndex&amp;nbsp;=&amp;nbsp;single.getInteger(&amp;quot;index&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;Map&amp;nbsp;itemRule&amp;nbsp;=&amp;nbsp;&amp;nbsp;ruleIndex&amp;nbsp;&amp;lt;&amp;nbsp;materialOrderExecuteItemRules.size()&amp;nbsp;?&amp;nbsp;materialOrderExecuteItemRules.get(ruleIndex)&amp;nbsp;:&amp;nbsp;null;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(Objects.nonNull(itemRule)){
&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;targetVal&amp;nbsp;=&amp;nbsp;StrHelper.getObjectValue(itemRule.get(&amp;quot;targetVal&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;conditionResult&amp;nbsp;=&amp;nbsp;StrHelper.getObjectValue(obj.get(&amp;quot;targetVal&amp;quot;)).equals(targetVal);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(ruleIndex+&amp;quot;[&amp;quot;+single.getString(&amp;quot;name&amp;quot;)+&amp;quot;]进行了一次计算&amp;quot;+conditionResult);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;conditionResult;
}

/**
&amp;nbsp;*&amp;nbsp;计算规则匹配结果
&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;conditionArr
&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;materialOrderExecuteItemRules
&amp;nbsp;*&amp;nbsp;@return
&amp;nbsp;*/
public&amp;nbsp;static&amp;nbsp;Boolean&amp;nbsp;calculateRulesMatchingResultTest(JSONArray&amp;nbsp;conditionArr,Map&amp;nbsp;obj,List&amp;lt;Map&amp;gt;&amp;nbsp;materialOrderExecuteItemRules){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;boolean&amp;nbsp;result&amp;nbsp;=&amp;nbsp;false;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(CollectionUtils.isEmpty(conditionArr)){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;false;
&amp;nbsp;&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;(int&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;conditionArr.size();&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JSONObject&amp;nbsp;single&amp;nbsp;=&amp;nbsp;conditionArr.getJSONObject(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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;lastOperator&amp;nbsp;=&amp;nbsp;i&amp;nbsp;==&amp;nbsp;0&amp;nbsp;&amp;nbsp;?&amp;nbsp;&amp;quot;&amp;quot;:&amp;nbsp;conditionArr.getJSONObject(i-1).getString(&amp;quot;operator&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;if(StringUtils.isBlank(lastOperator)){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;直接计算结果
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;cacluateSingle(single,obj,materialOrderExecuteItemRules);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(lastOperator.equals(&amp;quot;and&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;result&amp;nbsp;=&amp;nbsp;result&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;cacluateSingle(single,obj,materialOrderExecuteItemRules);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;if&amp;nbsp;(lastOperator.equals(&amp;quot;or&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;result&amp;nbsp;=&amp;nbsp;result&amp;nbsp;||&amp;nbsp;cacluateSingle(single,obj,materialOrderExecuteItemRules);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;result;
}

public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;multilayerConditionJson&amp;nbsp;=&amp;nbsp;&amp;quot;[\n&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;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{\n&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;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\&amp;quot;type\&amp;quot;:&amp;nbsp;\&amp;quot;rule\&amp;quot;,\n&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;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\&amp;quot;name\&amp;quot;:&amp;nbsp;\&amp;quot;规则1\&amp;quot;,\n&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;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\&amp;quot;index\&amp;quot;:&amp;nbsp;0,\n&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;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\&amp;quot;operator\&amp;quot;:&amp;nbsp;\&amp;quot;and\&amp;quot;\n&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;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},\n&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;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{\n&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;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\&amp;quot;type\&amp;quot;:&amp;nbsp;\&amp;quot;group\&amp;quot;,\n&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;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\&amp;quot;data\&amp;quot;:&amp;nbsp;[\n&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;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;{\n&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;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;quot;type\&amp;quot;:&amp;nbsp;\&amp;quot;rule\&amp;quot;,\n&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;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;quot;name\&amp;quot;:&amp;nbsp;\&amp;quot;规则2\&amp;quot;,\n&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;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;quot;index\&amp;quot;:&amp;nbsp;1,\n&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;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;quot;operator\&amp;quot;:&amp;nbsp;\&amp;quot;and\&amp;quot;\n&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;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;},\n&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;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;{\n&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;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;quot;type\&amp;quot;:&amp;nbsp;\&amp;quot;rule\&amp;quot;,\n&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;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;quot;name\&amp;quot;:&amp;nbsp;\&amp;quot;规则3\&amp;quot;,\n&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;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;quot;index\&amp;quot;:&amp;nbsp;2,\n&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;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;quot;operator\&amp;quot;:&amp;nbsp;\&amp;quot;or\&amp;quot;\n&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;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;},\n&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;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;{\n&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;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;quot;type\&amp;quot;:&amp;nbsp;\&amp;quot;group\&amp;quot;,\n&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;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;quot;data\&amp;quot;:&amp;nbsp;[\n&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;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;{\n&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;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;quot;type\&amp;quot;:&amp;nbsp;\&amp;quot;rule\&amp;quot;,\n&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;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;quot;name\&amp;quot;:&amp;nbsp;\&amp;quot;规则4\&amp;quot;,\n&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;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;quot;index\&amp;quot;:&amp;nbsp;3,\n&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;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;quot;operator\&amp;quot;:&amp;nbsp;\&amp;quot;or\&amp;quot;\n&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;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;},\n&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;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;{\n&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;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;quot;type\&amp;quot;:&amp;nbsp;\&amp;quot;rule\&amp;quot;,\n&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;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;quot;name\&amp;quot;:&amp;nbsp;\&amp;quot;规则5\&amp;quot;,\n&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;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;quot;index\&amp;quot;:&amp;nbsp;4,\n&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;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;quot;operator\&amp;quot;:&amp;nbsp;\&amp;quot;\&amp;quot;\n&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;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;}\n&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;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;],\n&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;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;quot;operator\&amp;quot;:&amp;nbsp;\&amp;quot;and\&amp;quot;\n&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;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;},\n&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;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;{\n&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;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;quot;type\&amp;quot;:&amp;nbsp;\&amp;quot;rule\&amp;quot;,\n&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;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;quot;name\&amp;quot;:&amp;nbsp;\&amp;quot;规则6\&amp;quot;,\n&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;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;quot;index\&amp;quot;:&amp;nbsp;5,\n&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;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;quot;operator\&amp;quot;:&amp;nbsp;\&amp;quot;\&amp;quot;\n&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;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;}\n&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;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;],\n&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;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\&amp;quot;operator\&amp;quot;:&amp;nbsp;\&amp;quot;and\&amp;quot;\n&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;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},\n&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;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{\n&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;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\&amp;quot;type\&amp;quot;:&amp;nbsp;\&amp;quot;rule\&amp;quot;,\n&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;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\&amp;quot;name\&amp;quot;:&amp;nbsp;\&amp;quot;规则7\&amp;quot;,\n&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;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\&amp;quot;index\&amp;quot;:&amp;nbsp;6,\n&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;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\&amp;quot;operator\&amp;quot;:&amp;nbsp;\&amp;quot;\&amp;quot;\n&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;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}\n&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;quot;]&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;条件数组
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JSONArray&amp;nbsp;conditionArr&amp;nbsp;=&amp;nbsp;new&amp;nbsp;JSONArray();
&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;conditionArr&amp;nbsp;&amp;nbsp;=&amp;nbsp;JSONArray.parseArray(multilayerConditionJson);
&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;log.error(&amp;quot;参数[&amp;quot;+multilayerConditionJson+&amp;quot;]转换JSONArray失败！&amp;quot;+e.getMessage(),e);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JSONArray&amp;nbsp;finalConditionArr&amp;nbsp;=&amp;nbsp;conditionArr;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;Map&amp;gt;&amp;nbsp;rules&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ArrayList&amp;lt;&amp;gt;();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Map&amp;nbsp;rule1&amp;nbsp;=&amp;nbsp;new&amp;nbsp;HashMap();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rule1.put(&amp;quot;targetVal&amp;quot;,&amp;quot;1&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rules.add(rule1);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Map&amp;nbsp;rule2&amp;nbsp;=&amp;nbsp;new&amp;nbsp;HashMap();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rule2.put(&amp;quot;targetVal&amp;quot;,&amp;quot;0&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rules.add(rule2);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Map&amp;nbsp;rule3&amp;nbsp;=&amp;nbsp;new&amp;nbsp;HashMap();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rule3.put(&amp;quot;targetVal&amp;quot;,&amp;quot;1&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rules.add(rule3);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Map&amp;nbsp;rule4&amp;nbsp;=&amp;nbsp;new&amp;nbsp;HashMap();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rule4.put(&amp;quot;targetVal&amp;quot;,&amp;quot;1&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rules.add(rule4);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Map&amp;nbsp;rule5&amp;nbsp;=&amp;nbsp;new&amp;nbsp;HashMap();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rule5.put(&amp;quot;targetVal&amp;quot;,&amp;quot;1&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rules.add(rule5);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Map&amp;nbsp;rule6&amp;nbsp;=&amp;nbsp;new&amp;nbsp;HashMap();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rule6.put(&amp;quot;targetVal&amp;quot;,&amp;quot;1&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rules.add(rule6);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Map&amp;nbsp;rule7&amp;nbsp;=&amp;nbsp;new&amp;nbsp;HashMap();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rule7.put(&amp;quot;targetVal&amp;quot;,&amp;quot;1&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rules.add(rule7);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Map&amp;nbsp;obj&amp;nbsp;=new&amp;nbsp;HashMap();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;obj.put(&amp;quot;targetVal&amp;quot;,&amp;quot;1&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Boolean&amp;nbsp;reulst&amp;nbsp;=&amp;nbsp;calculateRulesMatchingResultTest(finalConditionArr,obj,rules);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(reulst);

}&lt;/pre&gt;&lt;p&gt;模拟参数&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2024/03/202403071732498636629.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/2024/03/202403071733028190408.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;代码详解&lt;/p&gt;&lt;p&gt;1、使用简单的List&amp;lt;Map&amp;gt;模拟多条规则，实际内容更丰富，示例代码中仅存储一个targetVal值，用作简单的匹配返回结果。&lt;/p&gt;&lt;p&gt;2、使用简单的Map模拟单条数据，实际场景为List&amp;lt;Map&amp;gt;多条目标数据，根据多条规则进行过滤，提取满足全部条件的数据。&lt;/p&gt;&lt;p&gt;3、cacluateSingle方法为单条规则的匹配计算，其中针对单个规则与分组分情况处理，使用递归方法调用多条规则的方法calculateRulesMatchingResultTest。&lt;/p&gt;&lt;p&gt;4、&lt;span style=&quot;text-wrap: wrap;&quot;&gt;calculateRulesMatchingResultTest为多条规则的匹配计算，同一层级中，第一条直接计算，后面的每一条都与上一条进行短路计算。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;5、&amp;amp;与&amp;amp;&amp;amp;，|与||的效果是不一样的。写两个的称为短路运算，运算符之前的满足条件了后面的就不会运算了。使用短路运算，可以减少运算，提高效率。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;举例：&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;a||b，a短路或b，当a为真，b就不会再运算了，整个表达式已经为真，不管b是真是假&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;a&amp;amp;&amp;amp;b，a短路与b，当a为假，b就不会再运算了，整个表达已经为假，不管b是真是假&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;6、短路计算，必须提取单条的方法写在逻辑运算表达式中，才能触发短路操作。以下两种写法，其二，无论result的值是什么，下一次的运算都会触发。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;要这样写&lt;/p&gt;&lt;pre class=&quot;brush:java;toolbar:false&quot;&gt;result&amp;nbsp;=&amp;nbsp;result&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;cacluateSingle(single,obj,materialOrderExecuteItemRules);&lt;/pre&gt;&lt;p&gt;而不能这样写&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;brush:java;toolbar:false&quot;&gt;boolean&amp;nbsp;singleResult&amp;nbsp;=&amp;nbsp;cacluateSingle(single,obj,materialOrderExecuteItemRules);
result&amp;nbsp;=&amp;nbsp;result&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;singleResult;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Thu, 07 Mar 2024 17:15:04 +0800</pubDate></item><item><title>2023,迈向新的人生篇章</title><link>https://www.zjh336.cn/?id=2135</link><description>&lt;h1&gt;前言&lt;/h1&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;一年的时间过得真快，去年的今天，我写下了《告别2022&lt;span style=&quot;text-wrap: wrap;&quot;&gt;》&lt;/span&gt;。今天，我同样要对2023年做一个总结。这一年同样很精彩，值得纪念。&lt;/p&gt;&lt;p&gt;1、疫情似乎悄悄离去了，大家恢复到了往日的生活。&lt;/p&gt;&lt;p&gt;2、后疫情时代，经济形势并没有想象中的那么好，医疗行业整顿贪腐乱象，我们的行业也受到波及，很多公司都是求生存。&lt;/p&gt;&lt;p&gt;3、&lt;span style=&quot;text-wrap: wrap;&quot;&gt;ChartGPT3.5爆火，国内竞相推出AI大模型，人工智能时代来临。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;4、3.15晚会曝光群控水军乱象，AutoJsPro更新戛然而止，无限期关服停更整改。&lt;/p&gt;&lt;p&gt;5、缅北诈骗猖獗，《孤注一掷》爆火，国家大力打击诈骗活动。&lt;/p&gt;&lt;p&gt;6、&lt;span style=&quot;text-wrap: wrap;&quot;&gt;淄博烧烤大火，遗憾没有机会去体验。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;7、&lt;span style=&quot;text-wrap: wrap;&quot;&gt;华为Mate60自研芯片反制裁，华为&lt;/span&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;智界智能驾驶遥遥领先。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;8、云服务器到期，几经波折，从硅云换到了Ucloud，4C8G5M三年2000多，全站迁移新服务器。&lt;/p&gt;&lt;p&gt;9、&lt;span style=&quot;text-wrap: wrap;&quot;&gt;工具箱web端，从V1.9.0迭代升级到了V3.8.0版本。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;10、拍了婚纱照，5月19日领了结婚证。&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;11、学会了许多新菜。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;12、房子如期交付。&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;h1&gt;工作&lt;/h1&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;今年组织了部门内部团建，&lt;span style=&quot;text-wrap: wrap;&quot;&gt;终于吃上了烤全羊。下半年&lt;span style=&quot;text-wrap: wrap;&quot;&gt;公司&lt;/span&gt;还组织了全体团建，多了许多陌生面孔。&lt;/span&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;h1&gt;生活&lt;/h1&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;五月十九号，我们领证了，从2019.5.19号，我们相识，到这一天，整整四年。我们就此踏入了人生新篇章，从此我们就是合法夫妻了，互相称呼老公老婆，一起过一辈子。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;八月份，我们拍了婚纱照。拍照果然是一件很累人的事情，脸都笑僵硬了。不过和爱的人一起，做什么事情都是有意义的。拍的照片还挺好的，就是和P图的沟通有些费劲，有些初步效果还没手机P图软件效果好。好在最终成品还是能够接受的。&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;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;/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;ChartGPT3.5于三月份发布，一经问世，引起了轩然大波。也许这就是下一个风口吧。AI大模型，当然我们普通人想要做些什么还是有些难度的，希望能够早点出现划时代的产品。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AutoJsPro在今年2月14号的时候发布了《重要更新公告&lt;span style=&quot;text-wrap: wrap;&quot;&gt;》&lt;/span&gt;，全部下架自动化功能，发布强制更新版本。在此期间，大伙还能通过各种手段登录旧版APP。再到后来服务器停止提供服务，旧版APP也不能使用了。原计划是要学习nodejs版本的，也因此搁浅。为了能够更好的使用autoJs，我决定好好维护工具箱，争取能在一定程度上替代autojs来使用。、&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;不知不觉，工具箱web已经从V1.9.0版本升级到了V3.8.0版本。主要升级了以下这些大功能:&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1、手机端文件管理，支持代码编辑，脚本运行功能。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2、exe一键部署功能。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3、项目打包功能。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4、UI风格升级，布局结构优化。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5、悬浮窗预览、悬浮窗日志支持。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6、vscode开发支持。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7、基于adb的预览设备模式。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; 除了这些重要功能升级，还部署了&lt;a href=&quot;http://doc.zjh336.cn/#/integrate/hz_autojs_tools_box&quot; target=&quot;_blank&quot;&gt;《工具箱Web操作文档》&lt;/a&gt;，录制的&lt;a href=&quot;https://space.bilibili.com/69729485/channel/collectiondetail?sid=964283&amp;ctype=0&quot; target=&quot;_blank&quot;&gt;《更新视频》&lt;/a&gt;。&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;2023年过去了，2024年要来了&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;/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;</description><pubDate>Sat, 30 Dec 2023 15:39:29 +0800</pubDate></item><item><title>记一次sql优化(Mysql)</title><link>https://www.zjh336.cn/?id=2133</link><description>&lt;p&gt;今天发现了之前的一段sql，查询起来特别慢，于是决定优化一番，最终调整效果显著(4.6s-0.25s)，现在来看看吧。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;原始sql，一共599条数据，查询用时4.6s&lt;/h2&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2023/11/202311061954348510149.png&quot; alt=&quot;image.png&quot; width=&quot;1239&quot; height=&quot;718&quot; style=&quot;width: 1239px; height: 718px;&quot;/&gt;&lt;/p&gt;&lt;pre class=&quot;brush:sql;toolbar:false&quot;&gt;select&amp;nbsp;xx.*
&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;select&amp;nbsp;m.*,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(case&amp;nbsp;when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;academic&amp;#39;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;count(1)&amp;nbsp;from&amp;nbsp;nurse_edu_academic_plan_service_member&amp;nbsp;apsm&amp;nbsp;where&amp;nbsp;apsm.plan_id&amp;nbsp;=&amp;nbsp;m.id&amp;nbsp;and&amp;nbsp;apsm.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;operate&amp;#39;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;count(1)&amp;nbsp;from&amp;nbsp;nurse_edu_operate_plan_service_member&amp;nbsp;opsm&amp;nbsp;where&amp;nbsp;opsm.plan_id&amp;nbsp;=&amp;nbsp;m.id&amp;nbsp;and&amp;nbsp;opsm.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;practice&amp;#39;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;count(1)&amp;nbsp;from&amp;nbsp;nurse_edu_practice_plan_service_member&amp;nbsp;ppsm&amp;nbsp;where&amp;nbsp;ppsm.plan_id&amp;nbsp;=&amp;nbsp;m.id&amp;nbsp;and&amp;nbsp;ppsm.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;training&amp;#39;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;count(1)&amp;nbsp;from&amp;nbsp;nurse_edu_training_plan_service_member&amp;nbsp;tpsm&amp;nbsp;where&amp;nbsp;tpsm.plan_id&amp;nbsp;=&amp;nbsp;m.id&amp;nbsp;and&amp;nbsp;tpsm.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;course&amp;#39;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;count(1)&amp;nbsp;FROM&amp;nbsp;`nurse_edu_course_plan_service_member`&amp;nbsp;AS&amp;nbsp;cpsm&amp;nbsp;where&amp;nbsp;cpsm.plan_id&amp;nbsp;=&amp;nbsp;m.id&amp;nbsp;and&amp;nbsp;cpsm.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;courseware&amp;#39;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;count(1)&amp;nbsp;FROM&amp;nbsp;`nurse_edu_courseware_plan_service_member`&amp;nbsp;AS&amp;nbsp;cpsm&amp;nbsp;where&amp;nbsp;cpsm.plan_id&amp;nbsp;=&amp;nbsp;m.id&amp;nbsp;and&amp;nbsp;cpsm.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&amp;nbsp;0&amp;nbsp;end
&amp;nbsp;&amp;nbsp;&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;personCount,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(case&amp;nbsp;when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;academic&amp;#39;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;count(1)&amp;nbsp;from&amp;nbsp;nurse_edu_academic_plan_service_member&amp;nbsp;apsm&amp;nbsp;where&amp;nbsp;apsm.plan_id&amp;nbsp;=&amp;nbsp;m.id&amp;nbsp;and&amp;nbsp;(apsm.exam_status&amp;nbsp;=&amp;nbsp;&amp;#39;completed&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;apsm.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;operate&amp;#39;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;count(1)&amp;nbsp;from&amp;nbsp;nurse_edu_operate_plan_service_member&amp;nbsp;opsm&amp;nbsp;where&amp;nbsp;opsm.plan_id&amp;nbsp;=&amp;nbsp;m.id&amp;nbsp;and&amp;nbsp;(opsm.exam_status&amp;nbsp;=&amp;nbsp;&amp;#39;completed&amp;#39;&amp;nbsp;or&amp;nbsp;opsm.exam_status&amp;nbsp;=&amp;nbsp;&amp;#39;doing&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;opsm.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;practice&amp;#39;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ifnull(n.practiceActualNum,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;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;training&amp;#39;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;when&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;sign_in&amp;#39;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;count(1)&amp;nbsp;from&amp;nbsp;nurse_edu_training_plan_service_member&amp;nbsp;tpsm&amp;nbsp;where&amp;nbsp;tpsm.plan_id&amp;nbsp;=&amp;nbsp;m.id&amp;nbsp;and&amp;nbsp;IFNULL(tpsm.sign_in,&amp;nbsp;0)&amp;nbsp;=&amp;nbsp;1&amp;nbsp;&amp;nbsp;and&amp;nbsp;tpsm.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;sign_out&amp;#39;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;count(1)&amp;nbsp;from&amp;nbsp;nurse_edu_training_plan_service_member&amp;nbsp;tpsm&amp;nbsp;where&amp;nbsp;tpsm.plan_id&amp;nbsp;=&amp;nbsp;m.id&amp;nbsp;and&amp;nbsp;IFNULL(tpsm.sign_out,&amp;nbsp;0)&amp;nbsp;=&amp;nbsp;1&amp;nbsp;and&amp;nbsp;tpsm.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;exam&amp;#39;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;count(1)&amp;nbsp;from&amp;nbsp;nurse_edu_training_plan_service_member&amp;nbsp;tpsm&amp;nbsp;where&amp;nbsp;tpsm.plan_id&amp;nbsp;=&amp;nbsp;m.id&amp;nbsp;and
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tpsm.exam_actual_end_time&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;tpsm.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;questionnaire&amp;#39;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;count(1)&amp;nbsp;from&amp;nbsp;nurse_edu_training_plan_implement_questionnaire&amp;nbsp;tpiq&amp;nbsp;where
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tpiq.plan_id&amp;nbsp;=&amp;nbsp;m.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;&amp;nbsp;&amp;nbsp;and&amp;nbsp;tpiq.service_member_id&amp;nbsp;in&amp;nbsp;(&amp;nbsp;select&amp;nbsp;tpsm.id&amp;nbsp;from&amp;nbsp;nurse_edu_training_plan_service_member&amp;nbsp;tpsm&amp;nbsp;where&amp;nbsp;tpsm.plan_id&amp;nbsp;=&amp;nbsp;m.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;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;(m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;&amp;#39;&amp;nbsp;or&amp;nbsp;m.planCompleteCondition&amp;nbsp;is&amp;nbsp;null)&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;count(1)&amp;nbsp;from&amp;nbsp;nurse_edu_training_plan_service_member&amp;nbsp;tpsm&amp;nbsp;where&amp;nbsp;tpsm.plan_id&amp;nbsp;=&amp;nbsp;m.id&amp;nbsp;and&amp;nbsp;tpsm.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&amp;nbsp;&amp;#39;&amp;#39;&amp;nbsp;end
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;course&amp;#39;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;count(1)&amp;nbsp;FROM&amp;nbsp;`nurse_edu_course_plan_service_member`&amp;nbsp;AS&amp;nbsp;cpsm
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;(SELECT&amp;nbsp;plan_id,COUNT(1)&amp;nbsp;as&amp;nbsp;sumNum&amp;nbsp;FROM&amp;nbsp;nurse_edu_course_video&amp;nbsp;WHERE&amp;nbsp;delete_bit=0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;plan_id)&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;cv&amp;nbsp;ON&amp;nbsp;cv.plan_id=cpsm.plan_id&amp;nbsp;AND&amp;nbsp;cpsm.delete_bit=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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;service_member_id,COUNT(course_video_id)&amp;nbsp;AS&amp;nbsp;cnt&amp;nbsp;FROM&amp;nbsp;(SELECT&amp;nbsp;service_member_id,course_video_id&amp;nbsp;FROM&amp;nbsp;`nurse_edu_course_plan_implement_video`&amp;nbsp;WHERE
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CONCAT(&amp;#39;0-&amp;#39;,video_total_duration)=video_play_recording
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;service_member_id,course_video_id)&amp;nbsp;AS&amp;nbsp;f&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;service_member_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;&amp;nbsp;&amp;nbsp;)&amp;nbsp;AS&amp;nbsp;t&amp;nbsp;ON&amp;nbsp;t.service_member_id=cpsm.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;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;cpsm.plan_id=&amp;nbsp;m.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;&amp;nbsp;&amp;nbsp;and&amp;nbsp;(case&amp;nbsp;when&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;exam&amp;#39;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(case&amp;nbsp;when&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cpsm.exam_actual_end_time&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;THEN&amp;nbsp;1&amp;nbsp;ELSE&amp;nbsp;0&amp;nbsp;END)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;played&amp;#39;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(ROUND(t.cnt/cv.sumNum,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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&amp;nbsp;0&amp;nbsp;end)=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;when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;courseware&amp;#39;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;count(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;FROM&amp;nbsp;`nurse_edu_courseware_plan_service_member`&amp;nbsp;AS&amp;nbsp;cpsm
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_courseware_plan_implement_view&amp;nbsp;AS&amp;nbsp;iv&amp;nbsp;ON&amp;nbsp;iv.service_member_id=cpsm.id&amp;nbsp;AND&amp;nbsp;cpsm.delete_bit=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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;cpsm.plan_id=m.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;&amp;nbsp;&amp;nbsp;and&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;when&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;exam&amp;#39;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(case&amp;nbsp;when&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cpsm.exam_actual_end_time&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;THEN&amp;nbsp;1&amp;nbsp;ELSE&amp;nbsp;0&amp;nbsp;END)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;viewed&amp;#39;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(case&amp;nbsp;when&amp;nbsp;IFNULL(iv.view_total_duration,0)&amp;gt;0&amp;nbsp;then&amp;nbsp;1&amp;nbsp;else&amp;nbsp;0&amp;nbsp;end)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&amp;nbsp;0&amp;nbsp;end)=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;else&amp;nbsp;0&amp;nbsp;end
&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;actualCompletePepoleCount,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;when&amp;nbsp;(m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;training&amp;#39;&amp;nbsp;and&amp;nbsp;m.plan_status&amp;nbsp;=&amp;nbsp;&amp;#39;undone&amp;#39;&amp;nbsp;and&amp;nbsp;CURRENT_TIMESTAMP&amp;nbsp;&amp;gt;&amp;nbsp;&amp;nbsp;m.plan_end_time)&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;completed&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;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;(m.plan_status&amp;nbsp;=&amp;nbsp;&amp;#39;undone&amp;#39;&amp;nbsp;and&amp;nbsp;CURRENT_TIMESTAMP&amp;nbsp;&amp;nbsp;&amp;lt;&amp;nbsp;&amp;nbsp;m.plan_start_time)&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;nostart&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;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;(m.plan_status&amp;nbsp;=&amp;nbsp;&amp;#39;undone&amp;#39;&amp;nbsp;and&amp;nbsp;m.plan_start_time&amp;nbsp;&amp;nbsp;&amp;lt;&amp;nbsp;CURRENT_TIMESTAMP&amp;nbsp;and&amp;nbsp;CURRENT_TIMESTAMP&amp;nbsp;&amp;nbsp;&amp;lt;&amp;nbsp;&amp;nbsp;m.plan_end_time)&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;doing&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;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&amp;nbsp;m.plan_status&amp;nbsp;end
&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;queryPlanStatus
&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;CONCAT(IFNULL(aps.plan_complete_pepole_count,&amp;nbsp;&amp;#39;&amp;#39;),&amp;nbsp;IFNULL(ops.plan_complete_pepole_count,&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;IFNULL(pps.plan_complete_people_count,&amp;nbsp;&amp;#39;&amp;#39;),&amp;nbsp;IFNULL(cps.plan_complete_people_count,&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;IFNULL(tps.plan_complete_people_count,&amp;nbsp;&amp;#39;&amp;#39;),&amp;nbsp;IFNULL(cwps.plan_complete_people_count,&amp;nbsp;&amp;#39;&amp;#39;))&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;planCompletePepoleCount,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CONCAT(IFNULL(pps.target_complete_percentage,&amp;nbsp;&amp;#39;&amp;#39;),&amp;nbsp;IFNULL(cps.plan_complete_condition,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;),IFNULL(tps.plan_complete_condition,&amp;nbsp;&amp;#39;&amp;#39;),&amp;nbsp;IFNULL(cwps.plan_complete_condition,&amp;nbsp;&amp;#39;&amp;#39;))&amp;nbsp;AS&amp;nbsp;planCompleteCondition,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IFNULL(tps.out_lecturer_user_names,&amp;nbsp;&amp;#39;&amp;#39;)&amp;nbsp;AS&amp;nbsp;outLecturerUserNames,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IFNULL(tps.out_lecturer_user_phones,&amp;nbsp;&amp;#39;&amp;#39;)&amp;nbsp;AS&amp;nbsp;outLecturerUserPhones,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IFNULL(tps.already_send_sms_phones,&amp;nbsp;&amp;#39;&amp;#39;)&amp;nbsp;AS&amp;nbsp;alreadySendSmsPhones,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item.plan_add_member_range&amp;nbsp;as&amp;nbsp;planAddMemberRange
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;`nurse_edu_item_plan`&amp;nbsp;AS&amp;nbsp;a
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;left&amp;nbsp;join&amp;nbsp;nurse_edu_item&amp;nbsp;as&amp;nbsp;item&amp;nbsp;on&amp;nbsp;item.id&amp;nbsp;=&amp;nbsp;a.item_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;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_academic_plan_service&amp;nbsp;AS&amp;nbsp;aps&amp;nbsp;ON&amp;nbsp;a.id&amp;nbsp;=&amp;nbsp;aps.plan_id&amp;nbsp;AND&amp;nbsp;aps.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_operate_plan_service&amp;nbsp;as&amp;nbsp;ops&amp;nbsp;ON&amp;nbsp;a.id&amp;nbsp;=&amp;nbsp;ops.plan_id&amp;nbsp;AND&amp;nbsp;ops.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_practice_plan_service&amp;nbsp;AS&amp;nbsp;pps&amp;nbsp;ON&amp;nbsp;a.id&amp;nbsp;=&amp;nbsp;pps.plan_id&amp;nbsp;AND&amp;nbsp;pps.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_course_plan_service&amp;nbsp;AS&amp;nbsp;cps&amp;nbsp;ON&amp;nbsp;a.id&amp;nbsp;=&amp;nbsp;cps.plan_id&amp;nbsp;AND&amp;nbsp;cps.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_training_plan_service&amp;nbsp;as&amp;nbsp;tps&amp;nbsp;ON&amp;nbsp;a.id&amp;nbsp;=&amp;nbsp;tps.plan_id&amp;nbsp;AND&amp;nbsp;tps.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_courseware_plan_service&amp;nbsp;AS&amp;nbsp;cwps&amp;nbsp;ON&amp;nbsp;a.id&amp;nbsp;=&amp;nbsp;cwps.plan_id&amp;nbsp;ANd&amp;nbsp;cwps.delete_bit&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IFNULL(a.make_up_belong_plan_id,0)&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;a.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;m&amp;nbsp;left&amp;nbsp;join
&amp;nbsp;&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;count(1)&amp;nbsp;as&amp;nbsp;practiceActualNum,&amp;nbsp;pp.planId&amp;nbsp;as&amp;nbsp;planId
&amp;nbsp;&amp;nbsp;&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;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(case&amp;nbsp;when&amp;nbsp;IFNULL(ROUND(100&amp;nbsp;*&amp;nbsp;COUNT(cs.id)&amp;nbsp;/&amp;nbsp;p.all_subject_count,&amp;nbsp;2),&amp;nbsp;0)&amp;nbsp;&amp;gt;=&amp;nbsp;p.target_complete_percentage&amp;nbsp;then&amp;nbsp;&amp;#39;done&amp;#39;&amp;nbsp;else&amp;nbsp;&amp;#39;undone&amp;#39;&amp;nbsp;end)&amp;nbsp;AS&amp;nbsp;completeStatus,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ip.id&amp;nbsp;as&amp;nbsp;planId
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;`nurse_edu_practice_plan_service`&amp;nbsp;as&amp;nbsp;p
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_item_plan&amp;nbsp;AS&amp;nbsp;ip&amp;nbsp;ON&amp;nbsp;p.plan_id&amp;nbsp;=&amp;nbsp;ip.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;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_practice_plan_service_member&amp;nbsp;AS&amp;nbsp;ppsm&amp;nbsp;ON&amp;nbsp;p.id&amp;nbsp;=&amp;nbsp;ppsm.service_id&amp;nbsp;AND&amp;nbsp;p.delete_bit&amp;nbsp;=&amp;nbsp;&amp;#39;0&amp;#39;&amp;nbsp;AND&amp;nbsp;ppsm.delete_bit&amp;nbsp;=&amp;nbsp;&amp;#39;0&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;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_practice_complete_subject&amp;nbsp;as&amp;nbsp;cs&amp;nbsp;ON&amp;nbsp;cs.service_member_id&amp;nbsp;=&amp;nbsp;ppsm.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;&amp;nbsp;&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;ppsm.member_user_id,planId
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;pp&amp;nbsp;where&amp;nbsp;pp.completeStatus=&amp;#39;done&amp;#39;&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;planId
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;n&amp;nbsp;on&amp;nbsp;m.id&amp;nbsp;=&amp;nbsp;n.planId
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;xx
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;where&amp;nbsp;1=1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ORDER&amp;nbsp;BY&amp;nbsp;xx.create_time&amp;nbsp;desc,xx.last_update_time&amp;nbsp;desc&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;第一次优化，整体查询耗时0.9s&lt;/h2&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2023/11/202311062005511307110.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;SQL中使用了较多的子查询，子查询会影响查询速度&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;去除子查询部分，耗时0.88s，查询速度有明显变化&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap; text-align: center;&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2023/11/202311061956388260280.png&quot; alt=&quot;image.png&quot; width=&quot;1340&quot; height=&quot;763&quot; style=&quot;width: 1340px; height: 763px;&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;原sql中，使用case when做大量条件判断+子查询，处理不同情况下的数据展示。可以尝试使用left join替代子查询，那就需要将每一种情况写成一个子表，再根据条件关联主表显示数据&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap; text-align: center;&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2023/11/202311062000489594631.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;统计总人数的子表查询&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap; text-align: center;&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2023/11/202311062001401255775.png&quot; alt=&quot;image.png&quot; width=&quot;1171&quot; height=&quot;629&quot; style=&quot;width: 1171px; height: 629px;&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;实际完成人数子表查询&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap; text-align: center;&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2023/11/202311062002543678352.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;与主表的关联条件&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap; text-align: center;&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2023/11/202311062004066935578.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;text-wrap: wrap;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;第一次优化后sql&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;brush:sql;toolbar:false&quot;&gt;select&amp;nbsp;xx.*
&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;select&amp;nbsp;m.*,
							ff.personCount,
							mm.actualCompletePepoleCount,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;when&amp;nbsp;(m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;training&amp;#39;&amp;nbsp;and&amp;nbsp;m.plan_status&amp;nbsp;=&amp;nbsp;&amp;#39;undone&amp;#39;&amp;nbsp;and&amp;nbsp;CURRENT_TIMESTAMP&amp;nbsp;&amp;gt;&amp;nbsp;&amp;nbsp;m.plan_end_time)&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;completed&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;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;(m.plan_status&amp;nbsp;=&amp;nbsp;&amp;#39;undone&amp;#39;&amp;nbsp;and&amp;nbsp;CURRENT_TIMESTAMP&amp;nbsp;&amp;nbsp;&amp;lt;&amp;nbsp;&amp;nbsp;m.plan_start_time)&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;nostart&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;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;(m.plan_status&amp;nbsp;=&amp;nbsp;&amp;#39;undone&amp;#39;&amp;nbsp;and&amp;nbsp;m.plan_start_time&amp;nbsp;&amp;nbsp;&amp;lt;&amp;nbsp;CURRENT_TIMESTAMP&amp;nbsp;and&amp;nbsp;CURRENT_TIMESTAMP&amp;nbsp;&amp;nbsp;&amp;lt;&amp;nbsp;&amp;nbsp;m.plan_end_time)&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;doing&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;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&amp;nbsp;m.plan_status&amp;nbsp;end
&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;queryPlanStatus
&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;CONCAT(IFNULL(aps.plan_complete_pepole_count,&amp;nbsp;&amp;#39;&amp;#39;),&amp;nbsp;IFNULL(ops.plan_complete_pepole_count,&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;IFNULL(pps.plan_complete_people_count,&amp;nbsp;&amp;#39;&amp;#39;),&amp;nbsp;IFNULL(cps.plan_complete_people_count,&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;IFNULL(tps.plan_complete_people_count,&amp;nbsp;&amp;#39;&amp;#39;),&amp;nbsp;IFNULL(cwps.plan_complete_people_count,&amp;nbsp;&amp;#39;&amp;#39;))&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;planCompletePepoleCount,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CONCAT(IFNULL(pps.target_complete_percentage,&amp;nbsp;&amp;#39;&amp;#39;),&amp;nbsp;IFNULL(cps.plan_complete_condition,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;),IFNULL(tps.plan_complete_condition,&amp;nbsp;&amp;#39;&amp;#39;),&amp;nbsp;IFNULL(cwps.plan_complete_condition,&amp;nbsp;&amp;#39;&amp;#39;))&amp;nbsp;AS&amp;nbsp;planCompleteCondition,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IFNULL(tps.out_lecturer_user_names,&amp;nbsp;&amp;#39;&amp;#39;)&amp;nbsp;AS&amp;nbsp;outLecturerUserNames,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IFNULL(tps.out_lecturer_user_phones,&amp;nbsp;&amp;#39;&amp;#39;)&amp;nbsp;AS&amp;nbsp;outLecturerUserPhones,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IFNULL(tps.already_send_sms_phones,&amp;nbsp;&amp;#39;&amp;#39;)&amp;nbsp;AS&amp;nbsp;alreadySendSmsPhones,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item.plan_add_member_range&amp;nbsp;as&amp;nbsp;planAddMemberRange
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;`nurse_edu_item_plan`&amp;nbsp;AS&amp;nbsp;a
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;left&amp;nbsp;join&amp;nbsp;nurse_edu_item&amp;nbsp;as&amp;nbsp;item&amp;nbsp;on&amp;nbsp;item.id&amp;nbsp;=&amp;nbsp;a.item_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;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_academic_plan_service&amp;nbsp;AS&amp;nbsp;aps&amp;nbsp;ON&amp;nbsp;a.id&amp;nbsp;=&amp;nbsp;aps.plan_id&amp;nbsp;AND&amp;nbsp;aps.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_operate_plan_service&amp;nbsp;as&amp;nbsp;ops&amp;nbsp;ON&amp;nbsp;a.id&amp;nbsp;=&amp;nbsp;ops.plan_id&amp;nbsp;AND&amp;nbsp;ops.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_practice_plan_service&amp;nbsp;AS&amp;nbsp;pps&amp;nbsp;ON&amp;nbsp;a.id&amp;nbsp;=&amp;nbsp;pps.plan_id&amp;nbsp;AND&amp;nbsp;pps.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_course_plan_service&amp;nbsp;AS&amp;nbsp;cps&amp;nbsp;ON&amp;nbsp;a.id&amp;nbsp;=&amp;nbsp;cps.plan_id&amp;nbsp;AND&amp;nbsp;cps.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_training_plan_service&amp;nbsp;as&amp;nbsp;tps&amp;nbsp;ON&amp;nbsp;a.id&amp;nbsp;=&amp;nbsp;tps.plan_id&amp;nbsp;AND&amp;nbsp;tps.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_courseware_plan_service&amp;nbsp;AS&amp;nbsp;cwps&amp;nbsp;ON&amp;nbsp;a.id&amp;nbsp;=&amp;nbsp;cwps.plan_id&amp;nbsp;ANd&amp;nbsp;cwps.delete_bit&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IFNULL(a.make_up_belong_plan_id,0)&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;a.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;m&amp;nbsp;left&amp;nbsp;join
						(
select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;personCount&amp;nbsp;from&amp;nbsp;nurse_edu_academic_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id&amp;nbsp;union&amp;nbsp;all
select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;personCount&amp;nbsp;from&amp;nbsp;nurse_edu_operate_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id&amp;nbsp;union&amp;nbsp;all
select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;personCount&amp;nbsp;from&amp;nbsp;nurse_edu_practice_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id&amp;nbsp;union&amp;nbsp;all
select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;personCount&amp;nbsp;from&amp;nbsp;nurse_edu_training_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id&amp;nbsp;union&amp;nbsp;all
select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;personCount&amp;nbsp;from&amp;nbsp;nurse_edu_course_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id&amp;nbsp;union&amp;nbsp;all
select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;personCount&amp;nbsp;from&amp;nbsp;nurse_edu_courseware_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id
)&amp;nbsp;ff&amp;nbsp;on&amp;nbsp;ff.plan_id&amp;nbsp;=&amp;nbsp;m.id
					left&amp;nbsp;join&amp;nbsp;(
										select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;academic&amp;#39;&amp;nbsp;as&amp;nbsp;actualType&amp;nbsp;from&amp;nbsp;nurse_edu_academic_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;m.exam_status&amp;nbsp;=&amp;nbsp;&amp;#39;completed&amp;#39;&amp;nbsp;and&amp;nbsp;&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id
				union&amp;nbsp;all
				&amp;nbsp;
				select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;operate&amp;#39;&amp;nbsp;as&amp;nbsp;actualType&amp;nbsp;from&amp;nbsp;nurse_edu_operate_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;(m.exam_status&amp;nbsp;=&amp;nbsp;&amp;#39;completed&amp;#39;&amp;nbsp;or&amp;nbsp;m.exam_status&amp;nbsp;=&amp;nbsp;&amp;#39;doing&amp;#39;)&amp;nbsp;and&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id
				union&amp;nbsp;all

				select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;training_sign_in&amp;#39;&amp;nbsp;as&amp;nbsp;actualType&amp;nbsp;from&amp;nbsp;nurse_edu_training_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;IFNULL(m.sign_in,&amp;nbsp;0)&amp;nbsp;=&amp;nbsp;1&amp;nbsp;&amp;nbsp;and&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id
				union&amp;nbsp;all


				select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;training_sign_out&amp;#39;&amp;nbsp;as&amp;nbsp;actualType&amp;nbsp;from&amp;nbsp;nurse_edu_training_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;IFNULL(m.sign_out,&amp;nbsp;0)&amp;nbsp;=&amp;nbsp;1&amp;nbsp;and&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id
				union&amp;nbsp;all

				select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;training_exam&amp;#39;&amp;nbsp;as&amp;nbsp;actualType&amp;nbsp;from&amp;nbsp;nurse_edu_training_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;m.exam_actual_end_time&amp;nbsp;is&amp;nbsp;not&amp;nbsp;null&amp;nbsp;&amp;nbsp;and&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id
				union&amp;nbsp;all										

				select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;training_questionnaire&amp;#39;&amp;nbsp;as&amp;nbsp;actualType&amp;nbsp;from&amp;nbsp;nurse_edu_training_plan_implement_questionnaire&amp;nbsp;m&amp;nbsp;&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id
				union&amp;nbsp;all										
														
				select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;training_other&amp;#39;&amp;nbsp;as&amp;nbsp;actualType&amp;nbsp;&amp;nbsp;from&amp;nbsp;nurse_edu_training_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id
				union&amp;nbsp;all
				
				
				SELECT&amp;nbsp;cpsm.plan_id,count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;course_exam&amp;#39;&amp;nbsp;FROM&amp;nbsp;`nurse_edu_course_plan_service_member`&amp;nbsp;AS&amp;nbsp;cpsm
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;cpsm.exam_actual_end_time&amp;nbsp;IS&amp;nbsp;NOT&amp;nbsp;NULL&amp;nbsp;and&amp;nbsp;cpsm.delete_bit=0
									GROUP&amp;nbsp;BY&amp;nbsp;cpsm.plan_id
				union&amp;nbsp;all						
							
		SELECT&amp;nbsp;cpsm.plan_id,count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;course_played&amp;#39;&amp;nbsp;FROM&amp;nbsp;`nurse_edu_course_plan_service_member`&amp;nbsp;AS&amp;nbsp;cpsm
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;(SELECT&amp;nbsp;plan_id,COUNT(1)&amp;nbsp;as&amp;nbsp;sumNum&amp;nbsp;FROM&amp;nbsp;nurse_edu_course_video&amp;nbsp;WHERE&amp;nbsp;delete_bit=0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;plan_id)&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;cv&amp;nbsp;ON&amp;nbsp;cv.plan_id=cpsm.plan_id&amp;nbsp;AND&amp;nbsp;cpsm.delete_bit=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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;service_member_id,COUNT(course_video_id)&amp;nbsp;AS&amp;nbsp;cnt&amp;nbsp;FROM&amp;nbsp;(SELECT&amp;nbsp;service_member_id,course_video_id&amp;nbsp;FROM&amp;nbsp;`nurse_edu_course_plan_implement_video`&amp;nbsp;WHERE
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CONCAT(&amp;#39;0-&amp;#39;,video_total_duration)=video_play_recording
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;service_member_id,course_video_id)&amp;nbsp;AS&amp;nbsp;f&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;service_member_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;&amp;nbsp;&amp;nbsp;)&amp;nbsp;AS&amp;nbsp;t&amp;nbsp;ON&amp;nbsp;t.service_member_id=cpsm.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;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;cpsm.exam_actual_end_time&amp;nbsp;IS&amp;nbsp;NOT&amp;nbsp;NULL&amp;nbsp;and&amp;nbsp;ROUND(t.cnt/cv.sumNum,2)&amp;nbsp;=&amp;nbsp;1
										GROUP&amp;nbsp;BY&amp;nbsp;cpsm.plan_id						&amp;nbsp;
														&amp;nbsp;
			&amp;nbsp;&amp;nbsp;union&amp;nbsp;all

				
			&amp;nbsp;&amp;nbsp;SELECT&amp;nbsp;cpsm.plan_id,count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;courseware_exam&amp;#39;&amp;nbsp;as&amp;nbsp;actualType
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;`nurse_edu_courseware_plan_service_member`&amp;nbsp;AS&amp;nbsp;cpsm
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_courseware_plan_implement_view&amp;nbsp;AS&amp;nbsp;iv&amp;nbsp;ON&amp;nbsp;iv.service_member_id=cpsm.id&amp;nbsp;AND&amp;nbsp;cpsm.delete_bit=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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;&amp;nbsp;cpsm.exam_actual_end_time&amp;nbsp;IS&amp;nbsp;NOT&amp;nbsp;NULL
										GROUP&amp;nbsp;BY&amp;nbsp;cpsm.plan_id		
			&amp;nbsp;&amp;nbsp;union&amp;nbsp;all
				
				SELECT&amp;nbsp;cpsm.plan_id,count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;courseware_viewed&amp;#39;&amp;nbsp;as&amp;nbsp;actualType
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;`nurse_edu_courseware_plan_service_member`&amp;nbsp;AS&amp;nbsp;cpsm
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_courseware_plan_implement_view&amp;nbsp;AS&amp;nbsp;iv&amp;nbsp;ON&amp;nbsp;iv.service_member_id=cpsm.id&amp;nbsp;AND&amp;nbsp;cpsm.delete_bit=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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;IFNULL(iv.view_total_duration,0)&amp;gt;0
										GROUP&amp;nbsp;BY&amp;nbsp;cpsm.plan_id		
				union&amp;nbsp;all				

				select&amp;nbsp;pp.planId&amp;nbsp;as&amp;nbsp;planId,&amp;nbsp;count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;practice&amp;#39;&amp;nbsp;as&amp;nbsp;actualType&amp;nbsp;
&amp;nbsp;&amp;nbsp;&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;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(case&amp;nbsp;when&amp;nbsp;IFNULL(ROUND(100&amp;nbsp;*&amp;nbsp;COUNT(cs.id)&amp;nbsp;/&amp;nbsp;p.all_subject_count,&amp;nbsp;2),&amp;nbsp;0)&amp;nbsp;&amp;gt;=&amp;nbsp;p.target_complete_percentage&amp;nbsp;then&amp;nbsp;&amp;#39;done&amp;#39;&amp;nbsp;else&amp;nbsp;&amp;#39;undone&amp;#39;&amp;nbsp;end)&amp;nbsp;AS&amp;nbsp;completeStatus,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ip.id&amp;nbsp;as&amp;nbsp;planId
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;`nurse_edu_practice_plan_service`&amp;nbsp;as&amp;nbsp;p
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_item_plan&amp;nbsp;AS&amp;nbsp;ip&amp;nbsp;ON&amp;nbsp;p.plan_id&amp;nbsp;=&amp;nbsp;ip.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;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_practice_plan_service_member&amp;nbsp;AS&amp;nbsp;ppsm&amp;nbsp;ON&amp;nbsp;p.id&amp;nbsp;=&amp;nbsp;ppsm.service_id&amp;nbsp;AND&amp;nbsp;p.delete_bit&amp;nbsp;=&amp;nbsp;&amp;#39;0&amp;#39;&amp;nbsp;AND&amp;nbsp;ppsm.delete_bit&amp;nbsp;=&amp;nbsp;&amp;#39;0&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;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_practice_complete_subject&amp;nbsp;as&amp;nbsp;cs&amp;nbsp;ON&amp;nbsp;cs.service_member_id&amp;nbsp;=&amp;nbsp;ppsm.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;&amp;nbsp;&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;ppsm.member_user_id,planId
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;pp&amp;nbsp;where&amp;nbsp;pp.completeStatus=&amp;#39;done&amp;#39;&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;planId

					)&amp;nbsp;mm&amp;nbsp;on&amp;nbsp;m.id&amp;nbsp;=&amp;nbsp;mm.plan_id&amp;nbsp;and&amp;nbsp;
					(case&amp;nbsp;when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;academic&amp;#39;&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;academic&amp;#39;&amp;nbsp;then&amp;nbsp;1
								when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;operate&amp;#39;&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;operate&amp;#39;&amp;nbsp;then&amp;nbsp;1
								when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;practice&amp;#39;&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;practice&amp;#39;&amp;nbsp;then&amp;nbsp;1
								
								when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;#39;training&amp;#39;&amp;nbsp;and&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;sign_in&amp;#39;&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;trainging_sign_in&amp;#39;&amp;nbsp;then&amp;nbsp;1
								when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;#39;training&amp;#39;&amp;nbsp;and&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;sign_out&amp;#39;&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;training_sign_out&amp;#39;&amp;nbsp;then&amp;nbsp;1
								when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;#39;training&amp;#39;&amp;nbsp;and&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;exam&amp;#39;&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;training_exam&amp;#39;&amp;nbsp;then&amp;nbsp;1
								when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;#39;training&amp;#39;&amp;nbsp;and&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;questionnaire&amp;#39;&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;training_questionnaire&amp;#39;&amp;nbsp;then&amp;nbsp;1
								when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;#39;training&amp;#39;&amp;nbsp;and&amp;nbsp;(m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;&amp;#39;&amp;nbsp;or&amp;nbsp;m.planCompleteCondition&amp;nbsp;is&amp;nbsp;null)&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;training_other&amp;#39;&amp;nbsp;then&amp;nbsp;1
								

								when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;course&amp;#39;&amp;nbsp;and&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;exam&amp;#39;&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;courseware_exam&amp;#39;&amp;nbsp;then&amp;nbsp;1
								when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;course&amp;#39;&amp;nbsp;and&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;viewed&amp;#39;&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;courseware_viewed&amp;#39;&amp;nbsp;then&amp;nbsp;1
								
								
								when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;courseware&amp;#39;&amp;nbsp;and&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;exam&amp;#39;&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;course_exam&amp;#39;&amp;nbsp;then&amp;nbsp;1
								when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;courseware&amp;#39;&amp;nbsp;and&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;played&amp;#39;&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;course_played&amp;#39;&amp;nbsp;then&amp;nbsp;1
								
								else&amp;nbsp;0&amp;nbsp;end)&amp;nbsp;=&amp;nbsp;1
				
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;xx
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;where&amp;nbsp;1=1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ORDER&amp;nbsp;BY&amp;nbsp;xx.create_time&amp;nbsp;desc,xx.last_update_time&amp;nbsp;desc&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;第二次优化，整体耗时0.25s&lt;/h2&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2023/11/202311062008445179166.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;经查，主体部分sql执行，耗时0.5s左右，增加索引执行无明显变化&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/2023/11/202311062010044103389.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;尝试将相同业务数据表放在一起查询必要字段，再与主业务关联，耗时0.07s&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2023/11/202311062011283991232.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;优化后整体sql&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;brush:sql;toolbar:false&quot;&gt;select&amp;nbsp;xx.*
&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;select&amp;nbsp;m.*,
							ff.personCount,
							mm.actualCompletePepoleCount,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;when&amp;nbsp;(m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;training&amp;#39;&amp;nbsp;and&amp;nbsp;m.plan_status&amp;nbsp;=&amp;nbsp;&amp;#39;undone&amp;#39;&amp;nbsp;and&amp;nbsp;CURRENT_TIMESTAMP&amp;nbsp;&amp;gt;&amp;nbsp;&amp;nbsp;m.plan_end_time)&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;completed&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;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;(m.plan_status&amp;nbsp;=&amp;nbsp;&amp;#39;undone&amp;#39;&amp;nbsp;and&amp;nbsp;CURRENT_TIMESTAMP&amp;nbsp;&amp;nbsp;&amp;lt;&amp;nbsp;&amp;nbsp;m.plan_start_time)&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;nostart&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;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;(m.plan_status&amp;nbsp;=&amp;nbsp;&amp;#39;undone&amp;#39;&amp;nbsp;and&amp;nbsp;m.plan_start_time&amp;nbsp;&amp;nbsp;&amp;lt;&amp;nbsp;CURRENT_TIMESTAMP&amp;nbsp;and&amp;nbsp;CURRENT_TIMESTAMP&amp;nbsp;&amp;nbsp;&amp;lt;&amp;nbsp;&amp;nbsp;m.plan_end_time)&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;doing&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;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&amp;nbsp;m.plan_status&amp;nbsp;end
&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;queryPlanStatus
&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;a.*,
								bb.planCompletePepoleCount,
								bb.planCompleteCondition,
								bb.outLecturerUserNames,
								bb.outLecturerUserPhones,
								bb.alreadySendSmsPhones,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item.plan_add_member_range&amp;nbsp;as&amp;nbsp;planAddMemberRange
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;`nurse_edu_item_plan`&amp;nbsp;AS&amp;nbsp;a
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;left&amp;nbsp;join&amp;nbsp;nurse_edu_item&amp;nbsp;as&amp;nbsp;item&amp;nbsp;on&amp;nbsp;item.id&amp;nbsp;=&amp;nbsp;a.item_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;
								left&amp;nbsp;join&amp;nbsp;
								
								(
								select&amp;nbsp;aps.plan_complete_pepole_count&amp;nbsp;&amp;nbsp;as&amp;nbsp;planCompletePepoleCount,&amp;#39;&amp;#39;&amp;nbsp;as&amp;nbsp;planCompleteCondition,&amp;#39;&amp;#39;&amp;nbsp;AS&amp;nbsp;outLecturerUserNames,&amp;#39;&amp;#39;&amp;nbsp;AS&amp;nbsp;outLecturerUserPhones,&amp;#39;&amp;#39;&amp;nbsp;AS&amp;nbsp;alreadySendSmsPhones,aps.plan_id&amp;nbsp;as&amp;nbsp;planId&amp;nbsp;from&amp;nbsp;nurse_edu_academic_plan_service&amp;nbsp;AS&amp;nbsp;aps&amp;nbsp;where&amp;nbsp;aps.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;
								union&amp;nbsp;all								
								select&amp;nbsp;ops.plan_complete_pepole_count&amp;nbsp;&amp;nbsp;as&amp;nbsp;planCompletePepoleCount,&amp;#39;&amp;#39;&amp;nbsp;as&amp;nbsp;planCompleteCondition,&amp;#39;&amp;#39;&amp;nbsp;AS&amp;nbsp;outLecturerUserNames,&amp;#39;&amp;#39;&amp;nbsp;AS&amp;nbsp;outLecturerUserPhones,&amp;#39;&amp;#39;&amp;nbsp;AS&amp;nbsp;alreadySendSmsPhones,ops.plan_id&amp;nbsp;as&amp;nbsp;planId&amp;nbsp;from&amp;nbsp;nurse_edu_operate_plan_service&amp;nbsp;AS&amp;nbsp;ops&amp;nbsp;where&amp;nbsp;ops.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;
								union&amp;nbsp;all
								select&amp;nbsp;pps.plan_complete_people_count&amp;nbsp;&amp;nbsp;as&amp;nbsp;planCompletePepoleCount,pps.target_complete_percentage&amp;nbsp;as&amp;nbsp;planCompleteCondition,&amp;#39;&amp;#39;&amp;nbsp;AS&amp;nbsp;outLecturerUserNames,&amp;#39;&amp;#39;&amp;nbsp;AS&amp;nbsp;outLecturerUserPhones,&amp;#39;&amp;#39;&amp;nbsp;AS&amp;nbsp;alreadySendSmsPhones,pps.plan_id&amp;nbsp;as&amp;nbsp;planId&amp;nbsp;&amp;nbsp;from&amp;nbsp;nurse_edu_practice_plan_service&amp;nbsp;AS&amp;nbsp;pps&amp;nbsp;where&amp;nbsp;pps.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;
								union&amp;nbsp;all
								select&amp;nbsp;cps.plan_complete_people_count&amp;nbsp;&amp;nbsp;as&amp;nbsp;planCompletePepoleCount,cps.plan_complete_condition&amp;nbsp;&amp;nbsp;as&amp;nbsp;planCompleteCondition,&amp;#39;&amp;#39;&amp;nbsp;AS&amp;nbsp;outLecturerUserNames,&amp;#39;&amp;#39;&amp;nbsp;AS&amp;nbsp;outLecturerUserPhones,&amp;#39;&amp;#39;&amp;nbsp;AS&amp;nbsp;alreadySendSmsPhones,cps.plan_id&amp;nbsp;as&amp;nbsp;planId&amp;nbsp;from&amp;nbsp;nurse_edu_course_plan_service&amp;nbsp;AS&amp;nbsp;cps&amp;nbsp;where&amp;nbsp;cps.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;
								union&amp;nbsp;all
								
								select&amp;nbsp;tps.plan_complete_people_count&amp;nbsp;&amp;nbsp;as&amp;nbsp;planCompletePepoleCount,tps.plan_complete_condition&amp;nbsp;as&amp;nbsp;planCompleteCondition,IFNULL(tps.out_lecturer_user_names,&amp;nbsp;&amp;#39;&amp;#39;)&amp;nbsp;AS&amp;nbsp;outLecturerUserNames,IFNULL(tps.out_lecturer_user_phones,&amp;nbsp;&amp;#39;&amp;#39;)&amp;nbsp;AS&amp;nbsp;outLecturerUserPhones,IFNULL(tps.already_send_sms_phones,&amp;nbsp;&amp;#39;&amp;#39;)&amp;nbsp;AS&amp;nbsp;alreadySendSmsPhones,tps.plan_id&amp;nbsp;as&amp;nbsp;planId
								from&amp;nbsp;nurse_edu_training_plan_service&amp;nbsp;AS&amp;nbsp;tps&amp;nbsp;where&amp;nbsp;tps.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;
								union&amp;nbsp;all
								
								select&amp;nbsp;cwps.plan_complete_people_count&amp;nbsp;&amp;nbsp;as&amp;nbsp;planCompletePepoleCount,cwps.plan_complete_condition&amp;nbsp;as&amp;nbsp;planCompleteCondition,&amp;#39;&amp;#39;&amp;nbsp;AS&amp;nbsp;outLecturerUserNames,&amp;#39;&amp;#39;&amp;nbsp;AS&amp;nbsp;outLecturerUserPhones,&amp;#39;&amp;#39;&amp;nbsp;AS&amp;nbsp;alreadySendSmsPhones,cwps.plan_id&amp;nbsp;as&amp;nbsp;planId&amp;nbsp;from&amp;nbsp;nurse_edu_courseware_plan_service&amp;nbsp;AS&amp;nbsp;cwps&amp;nbsp;where&amp;nbsp;cwps.delete_bit&amp;nbsp;=&amp;nbsp;0								
								)&amp;nbsp;bb&amp;nbsp;on&amp;nbsp;a.id&amp;nbsp;=&amp;nbsp;bb.planId
							
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IFNULL(a.make_up_belong_plan_id,0)&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&amp;nbsp;a.delete_bit&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;m&amp;nbsp;left&amp;nbsp;join
						(
select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;personCount&amp;nbsp;from&amp;nbsp;nurse_edu_academic_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id&amp;nbsp;union&amp;nbsp;all
select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;personCount&amp;nbsp;from&amp;nbsp;nurse_edu_operate_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id&amp;nbsp;union&amp;nbsp;all
select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;personCount&amp;nbsp;from&amp;nbsp;nurse_edu_practice_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id&amp;nbsp;union&amp;nbsp;all
select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;personCount&amp;nbsp;from&amp;nbsp;nurse_edu_training_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id&amp;nbsp;union&amp;nbsp;all
select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;personCount&amp;nbsp;from&amp;nbsp;nurse_edu_course_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id&amp;nbsp;union&amp;nbsp;all
select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;personCount&amp;nbsp;from&amp;nbsp;nurse_edu_courseware_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id)&amp;nbsp;ff&amp;nbsp;on&amp;nbsp;ff.plan_id&amp;nbsp;=&amp;nbsp;m.id
					left&amp;nbsp;join&amp;nbsp;(
										select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;academic&amp;#39;&amp;nbsp;as&amp;nbsp;actualType&amp;nbsp;from&amp;nbsp;nurse_edu_academic_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;m.exam_status&amp;nbsp;=&amp;nbsp;&amp;#39;completed&amp;#39;&amp;nbsp;and&amp;nbsp;&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id
				union&amp;nbsp;all
				&amp;nbsp;
				select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;operate&amp;#39;&amp;nbsp;as&amp;nbsp;actualType&amp;nbsp;from&amp;nbsp;nurse_edu_operate_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;(m.exam_status&amp;nbsp;=&amp;nbsp;&amp;#39;completed&amp;#39;&amp;nbsp;or&amp;nbsp;m.exam_status&amp;nbsp;=&amp;nbsp;&amp;#39;doing&amp;#39;)&amp;nbsp;and&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id
				union&amp;nbsp;all

				select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;training_sign_in&amp;#39;&amp;nbsp;as&amp;nbsp;actualType&amp;nbsp;from&amp;nbsp;nurse_edu_training_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;IFNULL(m.sign_in,&amp;nbsp;0)&amp;nbsp;=&amp;nbsp;1&amp;nbsp;&amp;nbsp;and&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id
				union&amp;nbsp;all


				select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;training_sign_out&amp;#39;&amp;nbsp;as&amp;nbsp;actualType&amp;nbsp;from&amp;nbsp;nurse_edu_training_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;IFNULL(m.sign_out,&amp;nbsp;0)&amp;nbsp;=&amp;nbsp;1&amp;nbsp;and&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id
				union&amp;nbsp;all

				select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;training_exam&amp;#39;&amp;nbsp;as&amp;nbsp;actualType&amp;nbsp;from&amp;nbsp;nurse_edu_training_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;m.exam_actual_end_time&amp;nbsp;is&amp;nbsp;not&amp;nbsp;null&amp;nbsp;&amp;nbsp;and&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id
				union&amp;nbsp;all										

				select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;training_questionnaire&amp;#39;&amp;nbsp;as&amp;nbsp;actualType&amp;nbsp;from&amp;nbsp;nurse_edu_training_plan_implement_questionnaire&amp;nbsp;m&amp;nbsp;&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id
				union&amp;nbsp;all										
														
				select&amp;nbsp;m.plan_id,count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;training_other&amp;#39;&amp;nbsp;as&amp;nbsp;actualType&amp;nbsp;&amp;nbsp;from&amp;nbsp;nurse_edu_training_plan_service_member&amp;nbsp;m&amp;nbsp;where&amp;nbsp;m.delete_bit&amp;nbsp;=&amp;nbsp;0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;m.plan_id
				union&amp;nbsp;all
				
				
				SELECT&amp;nbsp;cpsm.plan_id,count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;course_exam&amp;#39;&amp;nbsp;FROM&amp;nbsp;`nurse_edu_course_plan_service_member`&amp;nbsp;AS&amp;nbsp;cpsm
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;cpsm.exam_actual_end_time&amp;nbsp;IS&amp;nbsp;NOT&amp;nbsp;NULL&amp;nbsp;and&amp;nbsp;cpsm.delete_bit=0
									GROUP&amp;nbsp;BY&amp;nbsp;cpsm.plan_id
				union&amp;nbsp;all						
							
		SELECT&amp;nbsp;cpsm.plan_id,count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;course_played&amp;#39;&amp;nbsp;FROM&amp;nbsp;`nurse_edu_course_plan_service_member`&amp;nbsp;AS&amp;nbsp;cpsm
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;(SELECT&amp;nbsp;plan_id,COUNT(1)&amp;nbsp;as&amp;nbsp;sumNum&amp;nbsp;FROM&amp;nbsp;nurse_edu_course_video&amp;nbsp;WHERE&amp;nbsp;delete_bit=0&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;plan_id)&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;cv&amp;nbsp;ON&amp;nbsp;cv.plan_id=cpsm.plan_id&amp;nbsp;AND&amp;nbsp;cpsm.delete_bit=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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;service_member_id,COUNT(course_video_id)&amp;nbsp;AS&amp;nbsp;cnt&amp;nbsp;FROM&amp;nbsp;(SELECT&amp;nbsp;service_member_id,course_video_id&amp;nbsp;FROM&amp;nbsp;`nurse_edu_course_plan_implement_video`&amp;nbsp;WHERE
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CONCAT(&amp;#39;0-&amp;#39;,video_total_duration)=video_play_recording
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;service_member_id,course_video_id)&amp;nbsp;AS&amp;nbsp;f&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;service_member_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;&amp;nbsp;&amp;nbsp;)&amp;nbsp;AS&amp;nbsp;t&amp;nbsp;ON&amp;nbsp;t.service_member_id=cpsm.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;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;cpsm.exam_actual_end_time&amp;nbsp;IS&amp;nbsp;NOT&amp;nbsp;NULL&amp;nbsp;and&amp;nbsp;ROUND(t.cnt/cv.sumNum,2)&amp;nbsp;=&amp;nbsp;1
										GROUP&amp;nbsp;BY&amp;nbsp;cpsm.plan_id						&amp;nbsp;
														&amp;nbsp;
			&amp;nbsp;&amp;nbsp;union&amp;nbsp;all

				
			&amp;nbsp;&amp;nbsp;SELECT&amp;nbsp;cpsm.plan_id,count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;courseware_exam&amp;#39;&amp;nbsp;as&amp;nbsp;actualType
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;`nurse_edu_courseware_plan_service_member`&amp;nbsp;AS&amp;nbsp;cpsm
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_courseware_plan_implement_view&amp;nbsp;AS&amp;nbsp;iv&amp;nbsp;ON&amp;nbsp;iv.service_member_id=cpsm.id&amp;nbsp;AND&amp;nbsp;cpsm.delete_bit=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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;&amp;nbsp;cpsm.exam_actual_end_time&amp;nbsp;IS&amp;nbsp;NOT&amp;nbsp;NULL
										GROUP&amp;nbsp;BY&amp;nbsp;cpsm.plan_id		
			&amp;nbsp;&amp;nbsp;union&amp;nbsp;all
				
				SELECT&amp;nbsp;cpsm.plan_id,count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;courseware_viewed&amp;#39;&amp;nbsp;as&amp;nbsp;actualType
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;`nurse_edu_courseware_plan_service_member`&amp;nbsp;AS&amp;nbsp;cpsm
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_courseware_plan_implement_view&amp;nbsp;AS&amp;nbsp;iv&amp;nbsp;ON&amp;nbsp;iv.service_member_id=cpsm.id&amp;nbsp;AND&amp;nbsp;cpsm.delete_bit=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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;IFNULL(iv.view_total_duration,0)&amp;gt;0
										GROUP&amp;nbsp;BY&amp;nbsp;cpsm.plan_id		
				union&amp;nbsp;all				

				select&amp;nbsp;pp.planId&amp;nbsp;as&amp;nbsp;planId,&amp;nbsp;count(1)&amp;nbsp;as&amp;nbsp;actualCompletePepoleCount,&amp;#39;practice&amp;#39;&amp;nbsp;as&amp;nbsp;actualType&amp;nbsp;
&amp;nbsp;&amp;nbsp;&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;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(case&amp;nbsp;when&amp;nbsp;IFNULL(ROUND(100&amp;nbsp;*&amp;nbsp;COUNT(cs.id)&amp;nbsp;/&amp;nbsp;p.all_subject_count,&amp;nbsp;2),&amp;nbsp;0)&amp;nbsp;&amp;gt;=&amp;nbsp;p.target_complete_percentage&amp;nbsp;then&amp;nbsp;&amp;#39;done&amp;#39;&amp;nbsp;else&amp;nbsp;&amp;#39;undone&amp;#39;&amp;nbsp;end)&amp;nbsp;AS&amp;nbsp;completeStatus,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ip.id&amp;nbsp;as&amp;nbsp;planId
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;`nurse_edu_practice_plan_service`&amp;nbsp;as&amp;nbsp;p
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_item_plan&amp;nbsp;AS&amp;nbsp;ip&amp;nbsp;ON&amp;nbsp;p.plan_id&amp;nbsp;=&amp;nbsp;ip.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;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_practice_plan_service_member&amp;nbsp;AS&amp;nbsp;ppsm&amp;nbsp;ON&amp;nbsp;p.id&amp;nbsp;=&amp;nbsp;ppsm.service_id&amp;nbsp;AND&amp;nbsp;p.delete_bit&amp;nbsp;=&amp;nbsp;&amp;#39;0&amp;#39;&amp;nbsp;AND&amp;nbsp;ppsm.delete_bit&amp;nbsp;=&amp;nbsp;&amp;#39;0&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;&amp;nbsp;&amp;nbsp;LEFT&amp;nbsp;JOIN&amp;nbsp;nurse_edu_practice_complete_subject&amp;nbsp;as&amp;nbsp;cs&amp;nbsp;ON&amp;nbsp;cs.service_member_id&amp;nbsp;=&amp;nbsp;ppsm.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;&amp;nbsp;&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;ppsm.member_user_id,planId
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;pp&amp;nbsp;where&amp;nbsp;pp.completeStatus=&amp;#39;done&amp;#39;&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;planId

					)&amp;nbsp;mm&amp;nbsp;on&amp;nbsp;m.id&amp;nbsp;=&amp;nbsp;mm.plan_id&amp;nbsp;and&amp;nbsp;
					(case&amp;nbsp;when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;academic&amp;#39;&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;academic&amp;#39;&amp;nbsp;then&amp;nbsp;1
								when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;operate&amp;#39;&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;operate&amp;#39;&amp;nbsp;then&amp;nbsp;1
								when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;practice&amp;#39;&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;practice&amp;#39;&amp;nbsp;then&amp;nbsp;1
								
								when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;#39;training&amp;#39;&amp;nbsp;and&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;sign_in&amp;#39;&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;trainging_sign_in&amp;#39;&amp;nbsp;then&amp;nbsp;1
								when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;#39;training&amp;#39;&amp;nbsp;and&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;sign_out&amp;#39;&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;training_sign_out&amp;#39;&amp;nbsp;then&amp;nbsp;1
								when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;#39;training&amp;#39;&amp;nbsp;and&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;exam&amp;#39;&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;training_exam&amp;#39;&amp;nbsp;then&amp;nbsp;1
								when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;#39;training&amp;#39;&amp;nbsp;and&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;questionnaire&amp;#39;&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;training_questionnaire&amp;#39;&amp;nbsp;then&amp;nbsp;1
								when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;#39;training&amp;#39;&amp;nbsp;and&amp;nbsp;(m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;&amp;#39;&amp;nbsp;or&amp;nbsp;m.planCompleteCondition&amp;nbsp;is&amp;nbsp;null)&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;training_other&amp;#39;&amp;nbsp;then&amp;nbsp;1
								

								when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;course&amp;#39;&amp;nbsp;and&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;exam&amp;#39;&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;courseware_exam&amp;#39;&amp;nbsp;then&amp;nbsp;1
								when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;course&amp;#39;&amp;nbsp;and&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;viewed&amp;#39;&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;courseware_viewed&amp;#39;&amp;nbsp;then&amp;nbsp;1
								
								
								when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;courseware&amp;#39;&amp;nbsp;and&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;exam&amp;#39;&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;course_exam&amp;#39;&amp;nbsp;then&amp;nbsp;1
								when&amp;nbsp;m.plan_type&amp;nbsp;=&amp;nbsp;&amp;#39;courseware&amp;#39;&amp;nbsp;and&amp;nbsp;m.planCompleteCondition&amp;nbsp;=&amp;nbsp;&amp;#39;played&amp;#39;&amp;nbsp;and&amp;nbsp;mm.actualType&amp;nbsp;=&amp;nbsp;&amp;#39;course_played&amp;#39;&amp;nbsp;then&amp;nbsp;1
								
								else&amp;nbsp;0&amp;nbsp;end)&amp;nbsp;=&amp;nbsp;1
				
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;xx
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;where&amp;nbsp;1=1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ORDER&amp;nbsp;BY&amp;nbsp;xx.create_time&amp;nbsp;desc,xx.last_update_time&amp;nbsp;desc&lt;/pre&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Mon, 06 Nov 2023 19:39:55 +0800</pubDate></item><item><title>异次元发卡网：多支付扩展支持，Windows/Linux系统均可部署，尽享二次元风格的无限可能！</title><link>https://www.zjh336.cn/?id=2132</link><description>&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;服务器到期了，购买了新的云服务器后，忽然发现了一个尴尬的问题，迁移了之前部署的ZFAKA发卡网，发现打不开了。再经历过各种错误排查后，无意间看了一眼我曾经写的教程&lt;a href=&quot;https://www.zjh336.cn/?id=204&quot; target=&quot;_blank&quot;&gt;《ZFAKA 个人发卡网搭建以及支付配置（免签支付宝支付）》&lt;/a&gt;，忽然意识到了，我的新服务器是windows的，这个只能部署在linux里面。权衡之下，只能另寻出路，找一个能够在windows服务器部署的个人发卡网。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;经人推荐，&lt;a href=&quot;https://github.com/lizhipay/acg-faka&quot; target=&quot;_blank&quot;&gt;《异次元发卡网》&lt;/a&gt;进入了我的视野，这是一款二次元风格的发卡网。功能齐全，也支持windows部署。&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/2023/11/202311030910083440902.png&quot; alt=&quot;image.png&quot; width=&quot;1217&quot; height=&quot;614&quot; style=&quot;width: 1217px; height: 614px;&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/2023/11/202311030923551426381.png&quot; alt=&quot;image.png&quot; width=&quot;1346&quot; height=&quot;716&quot; style=&quot;width: 1346px; height: 716px;&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/2023/11/202311030924268175650.png&quot; alt=&quot;image.png&quot; width=&quot;1382&quot; height=&quot;643&quot; style=&quot;width: 1382px; height: 643px;&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/2023/11/202311030926245854476.png&quot; alt=&quot;image.png&quot; width=&quot;1383&quot; height=&quot;674&quot; style=&quot;width: 1383px; height: 674px;&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/2023/11/202311030927278992617.png&quot; alt=&quot;image.png&quot; width=&quot;1363&quot; height=&quot;641&quot; style=&quot;width: 1363px; height: 641px;&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/2023/11/202311030929177872350.png&quot; alt=&quot;image.png&quot; width=&quot;1254&quot; height=&quot;682&quot; style=&quot;width: 1254px; height: 682px;&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/2023/11/202311030908562478256.png&quot; alt=&quot;image.png&quot; width=&quot;1170&quot; height=&quot;801&quot; style=&quot;width: 1170px; height: 801px;&quot;/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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/2023/11/202311030922091875293.png&quot; alt=&quot;image.png&quot; width=&quot;1251&quot; height=&quot;726&quot; style=&quot;width: 1251px; height: 726px;&quot;/&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 style=&quot;text-align:center&quot;&gt;&lt;img src=&quot;https://www.zjh336.cn/zb_users/upload/2023/11/202311030943272693704.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;</description><pubDate>Fri, 03 Nov 2023 08:47:07 +0800</pubDate></item></channel></rss>