standard_timeliness_new.md 12 KB

conda activate lq_agent

conda activate lq_agent

施工方案审查-时效性审查设计

  • 1、标准库数据结构

    • 序号
    • 标准号
    • 标准名称
    • 时效性 (XH 现行、试行 SX、 废止 FZ)

    • 2、标准数据来源

      • 数据库查询(MySQL),可以一次查询所有 或 筛选
      • 通过搜索引擎查询,再让大模型整理为标准库数据结构
    • 3、根据数据结构制定查询规则

      • 查询规则
      • 处理流程图规则 ,参考【标准库匹配规则】
      • 查询入参结构定义 list
      • 标准名称 (原始)
      • 标准号 (原始)
      • 查询返回结构定义
      • 输出结构说明 list
      • 序号
      • 标准名称(原始的)
      • 标准号(原始的)
      • 替代标准号(如果有)
      • 替代标准名称(如果有)
      • 处理结果状态(五种情况:参考 查询处理状态定义)
      • 处理结果消息提示:(五种情况:参考 查询处理状态定义)
      • 查询处理状态定义
        • 标准名称和标准号的匹配情况,现行状态 ,状态正常, 提示 "正常"
        • 标准名称和标准号的匹配情况,废止状态,有现行状态 , 状态被替代 , 提示 "《标准名称》(标准号)已废止,替代《标准名称》(标准号)"
        • 标准名称和标准号的匹配情况,废止状态,无现行状态 , 状态废止无现行 , 提示 "《标准名称》(标准号)已废止,无现行状态"
        • 标准名称 或 标准号 其中一个匹配情况,现行状态 , 状态不匹配 , 提示 "《标准名称》(标准号) 与 实际《标准名称》(标准号)不匹配"
        • 标准名称 或 标准号 都不匹配 , 状态不存在, 提示 "《标准名称》(标准号)标准库不存在"

      ┌──────┬─────────────────────────────────────┬────────────────┬─────────────┬───────────────────────────────────────────┐ │ 情况 │ 条件 │ process_result │ status_code │ final_result │ ├──────┼─────────────────────────────────────┼────────────────┼─────────────┼───────────────────────────────────────────┤ │ 1 │ 名称+标准号都匹配,现行/试行 │ 状态正常 │ OK │ 无问题 │ ├──────┼─────────────────────────────────────┼────────────────┼─────────────┼───────────────────────────────────────────┤ │ 2 │ 名称+标准号都匹配,废止,有现行替代 │ 状态被替代 │ SUBSTITUTED │ 《标准》(号)已废止,替代《标准》(号) │ ├──────┼─────────────────────────────────────┼────────────────┼─────────────┼───────────────────────────────────────────┤ │ 3 │ 名称+标准号都匹配,废止,无替代 │ 状态废止无现行 │ ABOLISHED │ 《标准》(号)已废止,无现行状态 │ ├──────┼─────────────────────────────────────┼────────────────┼─────────────┼───────────────────────────────────────────┤ │ 4 │ 名称或标准号只有一个匹配 │ 不匹配 │ MISMATCH │ 《提取》(号)与 实际《标准》(号)不匹配 │ ├──────┼─────────────────────────────────────┼────────────────┼─────────────┼───────────────────────────────────────────┤ │ 5 │ 都不匹配 │ 标准库不存在 │ NOT_FOUND │ 《标准》(号)标准库不存在,请确认 │ └──────┴─────────────────────────────────────┴────────────────┴─────────────┴───────────────────────────────────────────┘

    • 4、

标准库匹配规则

1. 开始

  • 动作:查询标准库信息
  • 判断:标准号全匹配?

    • 分支 A:存在 (Yes)

      • 判断:名称全匹配?
        • 分支 A1:存在 (Yes)
          • 判断:验证时效性?
            • 情况 1:现行、试行 -> 结果:返回正常
            • 情况 2:废止
              • 动作:根据名称查询最新标准(返回可能多条)
              • 动作:遍历每个最新标准记录
                • 判断:是否存在?
                  • 情况 1:不存在 -> 结果:返回废止,无现行
                  • 情况 2:存在
                    • 判断:验证时效性?
                      • 情况 1:废止都没有找到 -> 结果:返回废止,无现行
                      • 情况 2:现行、试行 -> 结果:被替代,新的标准号、标准名称
        • 分支 A2:不存在 (No)
          • 判断:名称模糊匹配?
            • 情况 1:不匹配 -> 结果:标准号与名称不存在
            • 情况 2:匹配
              • 判断:验证时效性?
                • 情况 1:现行、试行 -> 结果:标准号与名称不匹配,返回最新标准号与名称
                • 情况 2:废止 -> 动作:查询被替代子流程
    • 分支 B:不存在 (No)

      • 判断:标准号模糊查询?
        • 分支 B1:存在 (Yes)
          • 判断:名称全匹配?
            • 情况 1:不匹配 -> 结果:标准号与名称不存在
            • 情况 2:匹配
              • 判断:验证时效性?
                • 情况 1:现行、试行 -> 结果:标准号与名称不匹配,返回最新标准号与名称
                • 情况 2:废止 -> 动作:查询被替代子流程
        • 分支 B2:不存在 (No)
          • 判断:名称模糊查询?
            • 情况 1:不存在 -> 结果:返回不存在
            • 情况 2:存在
              • 判断:名称全匹配?
                • 情况 1:不匹配 -> 结果:标准号与名称不存在
                • 情况 2:匹配
                  • 判断:验证时效性?
                    • 情况 1:现行、试行 -> 结果:标准号与名称不匹配(名称匹配,标准不匹配)
                    • 情况 2:废止 -> 结果:标准号与名称不存在

废止数据

《电力高处作业防坠器》(DL/T 1147-2009) FZ 《缆索起重机》(GB/T 28756-2012) FZ

被替代标准名称和标准号的逻辑说明

  • 1、首先根据标准名称和标准号查询状态,如果是废止状态,则根据标准名称查询状态为现行的,则此条标准名称和标准号为被替代标准名称和标准号,并返回被替代标准名称和标准号
  • 2、根据标准名称查询时 返回多条标准名称和标准号,再代码里面进行逻辑判断
  • 3、根据标准号查询时,返回标准名称,再根据标准名称查询 返回多条标准名称和标准号,再代码里面进行逻辑判断
  • 4、类似如下数据: 《起重机 钢丝绳 保养、维护、检验和报废》GB/T 5972-2016 FZ 《起重机 钢丝绳 保养、维护、检验和报废》GB/T 5972-2023 XZ

目前测试的编制依据状态

(1)《铁路桥涵设计规范》 (TB 10002-2017)                  正常 
(2)《铁路工程抗震设计规范》 (GB 50111-2006)              正常 
(3)《铁路混凝土工程施工质量验收标准》 (TB 10424-2018)     正常 
(4)《公路水运危险性较大工程专项施工方案编制审查规程》(JT/T 1495-2023) 不匹配 《公路水运危险性较大工程专项施工方案编制审查规程》(JT/T 1495-2024)
(5)《起重机 钢丝绳 保养、维护、检验和报废》(GB/T 5972-2016)  被替代  《起重机 钢丝绳 保养、维护、检验和报废》(GB/T 5972-2023)
(6)《缆索起重机》(GB/T 28756-2012)                     废止
(7)《电力高处作业防坠器》(DL/T 1147-2009)                废止

实现逻辑

  • 1、查询数据源,目前从MySQL数据库一次查询到所有数据 保存到【标准库数据结构】

    • select id , chinese_name , standard_number , validity t_samp_standard_base_info
    • sql说明 chinese_name 标准名称, standard_number 标准编号, validity 时效性 (XH 现行、试行 SX、 废止 FZ)
  • 2、目前主程序中公共组件

    • 2.1、代码先临时生成到 utils_test/standard_new_Test目录下,先做单元测试
      • dao 数据库操作类
      • service 业务操作
      • test 单元测试
    • 2.2、Mysql 查询公共组件 foundation.database.base.sql.async_mysql_conn_pool.py 公共继承 foundation.database.base.sql.async_mysql_base_dao.py AsyncBaseDAO

修正目前的问题

  • 1、标准库数据结构

    • 序号
    • 标准号
    • 标准名称
    • 时效性 (XH 现行、试行 SX、 废止 FZ)

    • 2、标准数据来源

      • 数据库查询(MySQL),可以一次查询所有 或 筛选
    • 3、标准库数据处理在内存中初始化数据结构,通过MySQL一次查询所有数据,然后进行数据处理,处理结果保存在内存中,然后进行数据查询。

    • 4、标准库匹配规则 是通过代码匹配标准库数据结构来实现的,而非通过数据库查询来实现,请调整代码逻辑,注意标准库匹配规则的逻辑实现 可维护性,不要在一个函数中写太多的逻辑代码

-- 存在问题的记录

DL/T1147-2018  电力高处作业防坠器    DL/T 1147-2018  《电力高处作业防坠器》
DL/T1147-2009   《电力高处作业防坠器》  DL/T 1147-2009 《电力高处作业防坠器》