上传
This commit is contained in:
@@ -73,7 +73,7 @@ def project_get_calculate_function():
|
||||
output = redirected_output.getvalue().strip()
|
||||
|
||||
if not isinstance(result_dict, dict) or len(result_dict) != 4:
|
||||
raise ValueError("函数应返回包含4个元素的字典(status, data, error, helper_info)")
|
||||
raise ValueError("函数应返回包含4个元素的字典(code, status, message, data)")
|
||||
|
||||
logger.debug(f"执行结果: {result_dict}")
|
||||
|
||||
|
||||
@@ -1,184 +0,0 @@
|
||||
# tests/test_userinteraction.py
|
||||
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import logging
|
||||
import os
|
||||
from datetime import datetime
|
||||
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
|
||||
current_file = os.path.splitext(os.path.basename(__file__))[0]
|
||||
now_str = datetime.now().strftime("%Y%m%d%H%M%S")
|
||||
log_filename = f"{current_file}_{now_str}.log"
|
||||
|
||||
logging.basicConfig(
|
||||
level=logging.DEBUG,
|
||||
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
|
||||
handlers=[
|
||||
logging.FileHandler(os.path.join("logs", log_filename), encoding="utf-8"),
|
||||
logging.StreamHandler()
|
||||
],
|
||||
)
|
||||
|
||||
logger = logging.getLogger(current_file)
|
||||
|
||||
def setup_logger(logger_name):
|
||||
"""
|
||||
设置指定名称的logger,将其级别设置为WARNING并禁用传播
|
||||
:param logger_name: logger的名称
|
||||
"""
|
||||
logger = logging.getLogger(logger_name)
|
||||
logger.setLevel(logging.WARNING) # 设置httpcore及其子模块的级别
|
||||
logger.propagate = False # 可选:禁用传播(防止被根logger处理)
|
||||
return logger
|
||||
|
||||
|
||||
logger_names = ["httpx", "openai", "langsmith.client", "neo4j", "urllib3", "httpcore"]
|
||||
for name in logger_names:
|
||||
setup_logger(name)
|
||||
|
||||
from src.config import Config
|
||||
from src.document_loader import load_file
|
||||
from src.multi_llm_client import MultiAPIKeyChatOpenAI
|
||||
from src.user_interaction import UserInteraction
|
||||
import json
|
||||
from src.dialog_manager import DialogManager
|
||||
from src.multi_llm_client import MultiAPIKeyChatOpenAI
|
||||
from src.code_executor import CodeExecutor
|
||||
from src.neo4j_raw_retriever import Neo4jRawRetriever
|
||||
from src.prompt_manager import PromptManager
|
||||
import yaml
|
||||
from src.config import Config
|
||||
from src.document_loader import load_file
|
||||
from src.embedding_client import EmbeddingClient
|
||||
|
||||
from src.project import ProjectBuilder, ProjectToolkit
|
||||
from src.project_implementation import ProjectToolkitNeo4j
|
||||
|
||||
success_count = 0
|
||||
fail_count = 0
|
||||
questions = []
|
||||
error_list = []
|
||||
success_list = []
|
||||
|
||||
def main():
|
||||
global success_count, fail_count, questions, error_list, success_list
|
||||
|
||||
config = Config()
|
||||
|
||||
business_structure = load_file(config.business_object_structure_path)
|
||||
bowei_api_docs = load_file(config.bowei_api_docs_path)
|
||||
|
||||
llm_client = MultiAPIKeyChatOpenAI(config.openai)
|
||||
user_interaction = UserInteraction(llm_client.llm, business_structure)
|
||||
|
||||
llm_client_coder = MultiAPIKeyChatOpenAI(config.openai_coder)
|
||||
|
||||
prompt_manager = PromptManager()
|
||||
|
||||
neo4j_conf = config.neo4j_conf
|
||||
embedding_conf = config.embedding
|
||||
|
||||
embedding_client = EmbeddingClient(embedding_conf)
|
||||
|
||||
# 创建Neo4j检索器
|
||||
knowledge_retriever = Neo4jRawRetriever(neo4j_conf)
|
||||
|
||||
ProjectBuilder.register(ProjectToolkitNeo4j, knowledge_retriever.driver)
|
||||
|
||||
code_executor = CodeExecutor(prompt_manager.prompts, llm_client_coder, config.max_retries)
|
||||
|
||||
dialog_manager = DialogManager(
|
||||
llm_client,
|
||||
business_structure,
|
||||
bowei_api_docs,
|
||||
code_executor,
|
||||
knowledge_retriever,
|
||||
prompt_manager,
|
||||
)
|
||||
|
||||
# 读取 zhibiao.json
|
||||
zhibiao_path = os.path.join(os.path.dirname(__file__), "zhibiao.json")
|
||||
with open(zhibiao_path, "r", encoding="utf-8") as f:
|
||||
zhibiao_data = json.load(f)
|
||||
|
||||
isTest = True
|
||||
isTest = False
|
||||
|
||||
if isTest:
|
||||
zhibiao_data = [
|
||||
{
|
||||
"指标名称": "杆塔总基数",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/附件安装工程】项目划分中获取名称属于【'合计'】的费用",
|
||||
"映射规则": "YX2-1~7"
|
||||
},
|
||||
"code": "",
|
||||
"单位": "基",
|
||||
"单价类型": None,
|
||||
"序号": "1",
|
||||
"提取方式": None,
|
||||
"指标类型": "工程量指标",
|
||||
"数据来源": "定额数量"
|
||||
}
|
||||
]
|
||||
|
||||
for idx, item in enumerate(zhibiao_data):
|
||||
name = item.get("指标名称", "")
|
||||
datasource = item.get("数据来源", "")
|
||||
if datasource in ("报表指标", "指标库"):
|
||||
logger.info(f"跳过索引 {idx},数据来源为 {datasource}")
|
||||
continue
|
||||
|
||||
query = item.get("指标描述", {}).get("指标映射", "")
|
||||
if not query:
|
||||
logger.warning(f"索引 {idx} 缺少指标映射,跳过")
|
||||
continue
|
||||
|
||||
try:
|
||||
# 调用用户交互理解接口(同步调用)
|
||||
result = user_interaction.understand(query)
|
||||
if not result:
|
||||
logger.error(f"问题: {query} 没有找到符合要求的数据")
|
||||
fail_count += 1
|
||||
error_list.append(f"指标名称 {name} 问题 {query} 调用 understand 返回空结果")
|
||||
continue
|
||||
|
||||
# 这里示例只打印理解结果,你可以根据业务逻辑替换为后续处理
|
||||
logger.info(
|
||||
f"指标名称 {name} 问题: {query} 理解结果: "
|
||||
f"{[{'name': r.get('name'), 'constraints': r.get('constraints')} for r in result]}"
|
||||
)
|
||||
|
||||
success_list.append({
|
||||
"name": name,
|
||||
"query": query,
|
||||
"result": [{'name': r.get('name'), 'constraints': r.get('constraints')} for r in result]
|
||||
})
|
||||
success_count += 1
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"指标名称 {name} 问题: {query} 处理异常: {e}")
|
||||
fail_count += 1
|
||||
error_list.append(f"指标名称 {name} 问题 {query} 异常: {e}")
|
||||
|
||||
total = success_count + fail_count
|
||||
success_rate = (success_count / total) * 100 if total > 0 else 0
|
||||
fail_rate = (fail_count / total) * 100 if total > 0 else 0
|
||||
|
||||
print(f"问题总数: {total}")
|
||||
print(f"成功比例: {success_rate:.2f}%)")
|
||||
print(f"失败比例: {fail_rate:.2f}%)")
|
||||
print("错误列表:")
|
||||
for error in error_list:
|
||||
print(error)
|
||||
|
||||
# 将成功内容保存为 jsonl 文件
|
||||
success_jsonl_path = os.path.join(os.path.dirname(__file__), f"zhibiao_{now_str}.jsonl")
|
||||
with open(success_jsonl_path, "w", encoding="utf-8") as f:
|
||||
for item in success_list:
|
||||
f.write(json.dumps(item, ensure_ascii=False) + "\n")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
+46
-46
@@ -169,7 +169,7 @@
|
||||
"指标类型": "工程量指标",
|
||||
"数据来源": "定额数量",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/基础工程】及其子孙项目划分中查找编码中包含【YX2-1~7】的所有【定额】的【数量】之和",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/基础工程】下编码包含【YX2-1~7】的所有【定额】的【数量】之和",
|
||||
"映射规则": "YX2-1~7"
|
||||
}
|
||||
},
|
||||
@@ -199,7 +199,7 @@
|
||||
"指标类型": "工程量指标",
|
||||
"数据来源": "主材数量",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/杆塔工程/杆塔组立/铁塔、钢管杆组立】及其子孙项目划分中查找名称中包含【角钢】的所有【主材】的【数量】之和",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/杆塔工程/杆塔组立/铁塔、钢管杆组立】及名称包含【角钢】的所有【主材】的【数量】之和",
|
||||
"映射规则": "角钢"
|
||||
}
|
||||
},
|
||||
@@ -213,7 +213,7 @@
|
||||
"指标类型": "工程量指标",
|
||||
"数据来源": "主材数量",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/杆塔工程/杆塔组立/铁塔、钢管杆组立】及其子孙项目划分中查找名称中包含【角钢、高强】的所有【主材】的【数量】之和",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/杆塔工程/杆塔组立/铁塔、钢管杆组立】及名称包含【角钢、高强】的所有【主材】的【数量】之和",
|
||||
"映射规则": "角钢、高强"
|
||||
}
|
||||
},
|
||||
@@ -243,7 +243,7 @@
|
||||
"指标类型": "单价指标",
|
||||
"数据来源": "主材单价",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/杆塔工程/杆塔组立/铁塔、钢管杆组立】及其子孙项目划分中查找名称中包含【角钢】的所有【主材】的【单价】之和",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/杆塔工程/杆塔组立/铁塔、钢管杆组立】及名称包含【角钢】的所有【主材】的【单价】之和",
|
||||
"映射规则": "角钢"
|
||||
}
|
||||
},
|
||||
@@ -273,7 +273,7 @@
|
||||
"指标类型": "单价指标",
|
||||
"数据来源": "主材单价",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/杆塔工程/杆塔组立/铁塔、钢管杆组立】及其子孙项目划分中查找名称中包含【角钢、高强】的所有【主材】的【单价】之和",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/杆塔工程/杆塔组立/铁塔、钢管杆组立】及名称包含【角钢、高强】的所有【主材】的【单价】之和",
|
||||
"映射规则": "角钢、高强"
|
||||
}
|
||||
},
|
||||
@@ -303,7 +303,7 @@
|
||||
"指标类型": "工程量指标",
|
||||
"数据来源": "主材数量",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/杆塔工程/杆塔组立/铁塔、钢管杆组立】及其子孙项目划分中查找名称中包含【钢管塔】的所有【主材】的【数量】之和",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/杆塔工程/杆塔组立/铁塔、钢管杆组立】及名称包含【钢管塔】的所有【主材】的【数量】之和",
|
||||
"映射规则": "钢管塔"
|
||||
}
|
||||
},
|
||||
@@ -333,7 +333,7 @@
|
||||
"指标类型": "单价指标",
|
||||
"数据来源": "主材单价",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/杆塔工程/杆塔组立/铁塔、钢管杆组立】及其子孙项目划分中查找名称中包含【钢管塔】的所有【主材】的【单价】之和",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/杆塔工程/杆塔组立/铁塔、钢管杆组立】及名称包含【钢管塔】的所有【主材】的【单价】之和",
|
||||
"映射规则": "钢管塔"
|
||||
}
|
||||
},
|
||||
@@ -363,7 +363,7 @@
|
||||
"指标类型": "工程量指标",
|
||||
"数据来源": "主材数量",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/杆塔工程/杆塔组立/铁塔、钢管杆组立】及其子孙项目划分中查找名称中包含【钢管杆】的所有【主材】的【数量】之和",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/杆塔工程/杆塔组立/铁塔、钢管杆组立】及名称包含【钢管杆】的所有【主材】的【数量】之和",
|
||||
"映射规则": "钢管杆"
|
||||
}
|
||||
},
|
||||
@@ -393,7 +393,7 @@
|
||||
"指标类型": "单价指标",
|
||||
"数据来源": "主材单价",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/杆塔工程/杆塔组立/铁塔、钢管杆组立】及其子孙项目划分中查找名称中包含【钢管杆】的所有【主材】的【单价】之和",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/杆塔工程/杆塔组立/铁塔、钢管杆组立】及名称包含【钢管杆】的所有【主材】的【单价】之和",
|
||||
"映射规则": "钢管杆"
|
||||
}
|
||||
},
|
||||
@@ -473,7 +473,7 @@
|
||||
"指标类型": "技术指标",
|
||||
"数据来源": "定额参数",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/架线工程】及其子孙项目划分中查找编码中包含【['YX5-67', 'YX5-68', 'YX5-69', 'YX5-78', 'YX5-79', 'YX5-59', 'YX5-60', 'YX5-61', 'YX5-62', 'YX5-63', 'YX5-64', 'YX5-65', 'YX5-66', 'YX5-74', 'YX5-75', 'YX5-76', 'YX5-77', 'YX5-52', 'YX5-53', 'YX5-54', 'YX5-55', 'YX5-56', 'YX5-57', 'YX5-58', 'YX5-70', 'YX5-71', 'YX5-72', 'YX5-73', 'YX5-14', 'YX5-15', 'YX5-16', 'YX5-17', 'YX5-43', 'YX5-44', 'YX5-45', 'YX5-46', 'YX5-47', 'YX5-48', 'YX5-49', 'YX5-50', 'YX5-51', 'YX5-10', 'YX5-11', 'YX5-12', 'YX5-13', 'YX5-38', 'YX5-39', 'YX5-40', 'YX5-41', 'YX5-42', 'YX5-8', 'YX5-9']】的所有【定额】的【参数】之和",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/架线工程】下编码包含【['YX5-67', 'YX5-68', 'YX5-69', 'YX5-78', 'YX5-79', 'YX5-59', 'YX5-60', 'YX5-61', 'YX5-62', 'YX5-63', 'YX5-64', 'YX5-65', 'YX5-66', 'YX5-74', 'YX5-75', 'YX5-76', 'YX5-77', 'YX5-52', 'YX5-53', 'YX5-54', 'YX5-55', 'YX5-56', 'YX5-57', 'YX5-58', 'YX5-70', 'YX5-71', 'YX5-72', 'YX5-73', 'YX5-14', 'YX5-15', 'YX5-16', 'YX5-17', 'YX5-43', 'YX5-44', 'YX5-45', 'YX5-46', 'YX5-47', 'YX5-48', 'YX5-49', 'YX5-50', 'YX5-51', 'YX5-10', 'YX5-11', 'YX5-12', 'YX5-13', 'YX5-38', 'YX5-39', 'YX5-40', 'YX5-41', 'YX5-42', 'YX5-8', 'YX5-9']】的所有【定额】的【参数】之和",
|
||||
"映射规则": "| 资源识别规则 | 指标值 |\n|-------|-------|\n| YX5-67~69、YX5-78~79 | 8 |\n| YX5-59~66、YX5-74~77 | 6 |\n| YX5-52~58、YX5-70~73 | 4 |\n| YX5-14~17、YX5-43~51 | 2 |\n| YX5-10~13、YX5-38~42、YX5-8~9 | 1 |"
|
||||
}
|
||||
},
|
||||
@@ -519,7 +519,7 @@
|
||||
"指标类型": "工程量指标",
|
||||
"数据来源": "主材数量",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/架线工程/导地线架设@@架空输电线路本体工程/架线工程/导地线跨越架设】及其子孙项目划分中查找名称中包含【高导电率】的所有【主材】的【数量】之和",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/架线工程/导地线架设@@架空输电线路本体工程/架线工程/导地线跨越架设】及名称包含【高导电率】的所有【主材】的【数量】之和",
|
||||
"映射规则": "高导电率"
|
||||
}
|
||||
},
|
||||
@@ -549,7 +549,7 @@
|
||||
"指标类型": "单价指标",
|
||||
"数据来源": "主材单价",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/架线工程/导地线架设@@架空输电线路本体工程/架线工程/导地线跨越架设】及其子孙项目划分中查找名称中包含【线】的所有【主材】的【单价】之和",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/架线工程/导地线架设@@架空输电线路本体工程/架线工程/导地线跨越架设】及名称包含【线】的所有【主材】的【单价】之和",
|
||||
"映射规则": "线"
|
||||
}
|
||||
},
|
||||
@@ -579,7 +579,7 @@
|
||||
"指标类型": "单价指标",
|
||||
"数据来源": "主材单价",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/架线工程/导地线架设@@架空输电线路本体工程/架线工程/导地线跨越架设】及其子孙项目划分中查找名称中包含【高导电率】的所有【主材】的【单价】之和",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/架线工程/导地线架设@@架空输电线路本体工程/架线工程/导地线跨越架设】及名称包含【高导电率】的所有【主材】的【单价】之和",
|
||||
"映射规则": "高导电率"
|
||||
}
|
||||
},
|
||||
@@ -593,7 +593,7 @@
|
||||
"指标类型": "技术指标",
|
||||
"数据来源": "主材参数",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/架线工程/导地线架设@@架空输电线路本体工程/架线工程/导地线跨越架设@@架空输电线路本体工程/架线工程/其他架线工程】及其子孙项目划分中查找名称中包含【['钢芯铝绞线', '铝包钢芯铝绞线', '中强度铝合金绞线', '铝合金芯铝绞线', '铝合金芯高导电率铝绞线', '钢芯高导电率铝绞线', '特高强度钢芯铝合金绞线', '扩径导线', '耐热导线', '碳纤维导线']】的所有【主材】的【参数】之和",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/架线工程/导地线架设@@架空输电线路本体工程/架线工程/导地线跨越架设@@架空输电线路本体工程/架线工程/其他架线工程】及名称包含【['钢芯铝绞线', '铝包钢芯铝绞线', '中强度铝合金绞线', '铝合金芯铝绞线', '铝合金芯高导电率铝绞线', '钢芯高导电率铝绞线', '特高强度钢芯铝合金绞线', '扩径导线', '耐热导线', '碳纤维导线']】的所有【主材】的【参数】之和",
|
||||
"映射规则": "| 资源识别规则 | 指标值 |\n|-------|-------|\n| 钢芯铝绞线 | 钢芯铝绞线 |\n| 铝包钢芯铝绞线 | 铝包钢芯铝绞线 |\n| 中强度铝合金绞线 | 中强度铝合金绞线 |\n| 铝合金芯铝绞线 | 铝合金芯铝绞线 |\n| 铝合金芯高导电率铝绞线 | 铝合金芯高导电率铝绞线 |\n| 钢芯高导电率铝绞线 | 钢芯高导电率铝绞线 |\n| 特高强度钢芯铝合金绞线 | 特高强度钢芯铝合金绞线 |\n| 扩径导线 | 扩径导线 |\n| 耐热导线 | 耐热导线 |\n| 碳纤维导线 | 碳纤维导线 |"
|
||||
}
|
||||
},
|
||||
@@ -1431,7 +1431,7 @@
|
||||
"指标类型": "工程量指标",
|
||||
"数据来源": "主材数量",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/基础工程/基础砌筑】及其子孙项目划分中查找名称中包含【圆钢】的所有【主材】的【数量】之和",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/基础工程/基础砌筑】及名称包含【圆钢】的所有【主材】的【数量】之和",
|
||||
"映射规则": "圆钢"
|
||||
}
|
||||
},
|
||||
@@ -1445,7 +1445,7 @@
|
||||
"指标类型": "单价指标",
|
||||
"数据来源": "主材单价",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/基础工程/基础砌筑】及其子孙项目划分中查找名称中包含【圆钢】的所有【主材】的【单价】之和",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/基础工程/基础砌筑】及名称包含【圆钢】的所有【主材】的【单价】之和",
|
||||
"映射规则": "圆钢"
|
||||
}
|
||||
},
|
||||
@@ -1879,7 +1879,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "工程费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【工程费用】中获取【架空输电线路本体工程】的【合计费】的属性",
|
||||
"指标映射": "从【工程费用】中获取【架空输电线路本体工程】的【合计费】的值",
|
||||
"映射规则": "@工程费用.架空输电线路本体工程.合计费"
|
||||
}
|
||||
},
|
||||
@@ -1893,7 +1893,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "项目划分费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程】项目划分中获取取费费用名称属于【人工费】的费用",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程】下取费名称等于【人工费】的费用",
|
||||
"映射规则": "人工费"
|
||||
}
|
||||
},
|
||||
@@ -1907,7 +1907,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "项目划分费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程】项目划分中获取取费费用名称属于【人工费】的费用",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程】下取费名称等于【人工费】的费用",
|
||||
"映射规则": "人工费"
|
||||
}
|
||||
},
|
||||
@@ -1921,7 +1921,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "项目划分费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程】项目划分中获取取费费用名称属于【施工机械使用费】的费用",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程】下取费名称等于【施工机械使用费】的费用",
|
||||
"映射规则": "施工机械使用费"
|
||||
}
|
||||
},
|
||||
@@ -1935,7 +1935,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "项目划分费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程】项目划分中获取取费费用名称属于【施工机械使用费】的费用",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程】下取费名称等于【施工机械使用费】的费用",
|
||||
"映射规则": "施工机械使用费"
|
||||
}
|
||||
},
|
||||
@@ -1949,7 +1949,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "项目划分费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/基础工程】项目划分中获取取费费用名称属于【合计】的费用",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/基础工程】下取费名称等于【合计】的费用",
|
||||
"映射规则": "合计"
|
||||
}
|
||||
},
|
||||
@@ -1963,7 +1963,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "项目划分费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/杆塔工程】项目划分中获取取费费用名称属于【合计】的费用",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/杆塔工程】下取费名称等于【合计】的费用",
|
||||
"映射规则": "合计"
|
||||
}
|
||||
},
|
||||
@@ -1977,7 +1977,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "项目划分费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/接地工程】项目划分中获取取费费用名称属于【合计】的费用",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/接地工程】下取费名称等于【合计】的费用",
|
||||
"映射规则": "合计"
|
||||
}
|
||||
},
|
||||
@@ -1991,7 +1991,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "项目划分费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/架线工程】项目划分中获取取费费用名称属于【合计】的费用",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/架线工程】下取费名称等于【合计】的费用",
|
||||
"映射规则": "合计"
|
||||
}
|
||||
},
|
||||
@@ -2005,7 +2005,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "项目划分费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/附件安装工程】项目划分中获取取费费用名称属于【合计】的费用",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/附件安装工程】下取费名称等于【合计】的费用",
|
||||
"映射规则": "合计"
|
||||
}
|
||||
},
|
||||
@@ -2019,7 +2019,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "项目划分费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/辅助工程】项目划分中获取取费费用名称属于【合计】的费用",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/辅助工程】下取费名称等于【合计】的费用",
|
||||
"映射规则": "合计"
|
||||
}
|
||||
},
|
||||
@@ -2033,7 +2033,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "项目划分费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程/辅助工程】项目划分中获取取费费用名称属于【合计】的费用",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程/辅助工程】下取费名称等于【合计】的费用",
|
||||
"映射规则": "合计"
|
||||
}
|
||||
},
|
||||
@@ -2047,7 +2047,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "工程费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【工程费用】中获取【辅助设施工程】的【合计费】的属性",
|
||||
"指标映射": "从【工程费用】中获取【辅助设施工程】的【合计费】的值",
|
||||
"映射规则": "@工程费用.辅助设施工程.合计费"
|
||||
}
|
||||
},
|
||||
@@ -2061,7 +2061,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "工程费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【工程费用】中获取【其他费用】的【合计费】的属性",
|
||||
"指标映射": "从【工程费用】中获取【其他费用】的【合计费】的值",
|
||||
"映射规则": "@工程费用.其他费用.合计费"
|
||||
}
|
||||
},
|
||||
@@ -2075,7 +2075,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "工程费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【其他费用】中获取【建设场地征用及清理费】的属性",
|
||||
"指标映射": "从【其他费用】中获取【建设场地征用及清理费】的值",
|
||||
"映射规则": "@其他费用.建设场地征用及清理费"
|
||||
}
|
||||
},
|
||||
@@ -2089,7 +2089,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "工程费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【其他费用】中获取【项目建设管理费】的属性",
|
||||
"指标映射": "从【其他费用】中获取【项目建设管理费】的值",
|
||||
"映射规则": "@其他费用.项目建设管理费"
|
||||
}
|
||||
},
|
||||
@@ -2103,7 +2103,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "工程费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【其他费用】中获取【工程监理费】的属性",
|
||||
"指标映射": "从【其他费用】中获取【工程监理费】的值",
|
||||
"映射规则": "@其他费用.工程监理费"
|
||||
}
|
||||
},
|
||||
@@ -2117,7 +2117,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "工程费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【其他费用】中获取【项目建设技术服务费】的属性",
|
||||
"指标映射": "从【其他费用】中获取【项目建设技术服务费】的值",
|
||||
"映射规则": "@其他费用.项目建设技术服务费"
|
||||
}
|
||||
},
|
||||
@@ -2131,7 +2131,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "工程费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【其他费用】中获取【项目前期工作费】的属性",
|
||||
"指标映射": "从【其他费用】中获取【项目前期工作费】的值",
|
||||
"映射规则": "@其他费用.项目前期工作费"
|
||||
}
|
||||
},
|
||||
@@ -2145,7 +2145,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "工程费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【其他费用】中获取【勘察费】的属性",
|
||||
"指标映射": "从【其他费用】中获取【勘察费】的值",
|
||||
"映射规则": "@其他费用.勘察费"
|
||||
}
|
||||
},
|
||||
@@ -2159,7 +2159,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "工程费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【其他费用】中获取【设计费】的属性",
|
||||
"指标映射": "从【其他费用】中获取【设计费】的值",
|
||||
"映射规则": "@其他费用.设计费"
|
||||
}
|
||||
},
|
||||
@@ -2173,7 +2173,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "工程费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【其他费用】中获取【工程建设检测费】的属性",
|
||||
"指标映射": "从【其他费用】中获取【工程建设检测费】的值",
|
||||
"映射规则": "@其他费用.工程建设检测费"
|
||||
}
|
||||
},
|
||||
@@ -2187,7 +2187,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "工程费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【其他费用】中获取【生产准备费】的属性",
|
||||
"指标映射": "从【其他费用】中获取【生产准备费】的值",
|
||||
"映射规则": "@其他费用.生产准备费"
|
||||
}
|
||||
},
|
||||
@@ -2201,7 +2201,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "项目划分费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程】项目划分中获取取费费用名称属于【安全文明施工费】的费用",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程】下取费名称等于【安全文明施工费】的费用",
|
||||
"映射规则": "安全文明施工费"
|
||||
}
|
||||
},
|
||||
@@ -2215,7 +2215,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "项目划分费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【架空输电线路本体工程】项目划分中获取取费费用名称属于【安全文明施工费】的费用",
|
||||
"指标映射": "获取项目划分【架空输电线路本体工程】下取费名称等于【安全文明施工费】的费用",
|
||||
"映射规则": "安全文明施工费"
|
||||
}
|
||||
},
|
||||
@@ -2229,7 +2229,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "工程费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【工程费用】中获取【基本预备费】的【合计费】的属性",
|
||||
"指标映射": "从【工程费用】中获取【基本预备费】的【合计费】的值",
|
||||
"映射规则": "@工程费用.基本预备费.合计费"
|
||||
}
|
||||
},
|
||||
@@ -2243,7 +2243,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "工程费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【工程费用】中获取【工程静态投资(一~七项合计)】的【合计费】的属性",
|
||||
"指标映射": "从【工程费用】中获取【工程静态投资(一~七项合计)】的【合计费】的值",
|
||||
"映射规则": "@工程费用.工程静态投资(一~七项合计).合计费"
|
||||
}
|
||||
},
|
||||
@@ -2257,7 +2257,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "工程费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【工程费用】中获取【建设期贷款利息】的【合计费】的属性",
|
||||
"指标映射": "从【工程费用】中获取【建设期贷款利息】的【合计费】的值",
|
||||
"映射规则": "@工程费用.建设期贷款利息.合计费"
|
||||
}
|
||||
},
|
||||
@@ -2271,7 +2271,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "工程费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【工程费用】中获取【工程动态投资(一~八项合计)】的【合计费】的属性",
|
||||
"指标映射": "从【工程费用】中获取【工程动态投资(一~八项合计)】的【合计费】的值",
|
||||
"映射规则": "@工程费用.工程动态投资(一~八项合计).合计费"
|
||||
}
|
||||
},
|
||||
@@ -2285,7 +2285,7 @@
|
||||
"指标类型": "造价指标",
|
||||
"数据来源": "工程费用",
|
||||
"指标描述": {
|
||||
"指标映射": "从【工程费用】中获取【其中:可抵扣增值税额】的【合计费】的属性",
|
||||
"指标映射": "从【工程费用】中获取【其中:可抵扣增值税额】的【合计费】的值",
|
||||
"映射规则": "@工程费用.其中:可抵扣增值税额.合计费"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user