3.31 上传 dm rewrite
This commit is contained in:
+37
@@ -0,0 +1,37 @@
|
||||
"""
|
||||
===================================
|
||||
@Auther:WenZ
|
||||
@Company: BooWay
|
||||
@project:booway_dm
|
||||
===================================
|
||||
"""
|
||||
|
||||
# from langchain_community.chat_models import ChatOpenAI
|
||||
from langchain_openai import ChatOpenAI
|
||||
from langchain_core.output_parsers import StrOutputParser
|
||||
from langchain_core.prompts import ChatPromptTemplate
|
||||
from langchain_core.prompts.prompt import PromptTemplate
|
||||
from langchain_core.output_parsers import JsonOutputParser
|
||||
|
||||
|
||||
# qwen_llm = ChatOpenAI(model='deepseek-qwen2.5-32b',base_url="http://172.20.0.145:9995/v1/",api_key='233',temperature=1)
|
||||
|
||||
# temperature=0.7
|
||||
qwen_llm = ChatOpenAI(
|
||||
openai_api_base="https://api.siliconflow.cn/v1",
|
||||
model_name="Qwen/Qwen2.5-72B-Instruct",
|
||||
# sk-muuqautpcyuowjtgfecbnivqodlhzydtfslqkmwbknawejsx
|
||||
openai_api_key="sk-bbeamiumkouptsrueilgufqqyuumelcsivxwjbdugqwsqhwj",
|
||||
temperature=0.1
|
||||
)
|
||||
|
||||
deep_v3 = ChatOpenAI(
|
||||
openai_api_base="https://api.siliconflow.cn/v1",
|
||||
model_name="deepseek-ai/DeepSeek-V3",
|
||||
# sk-muuqautpcyuowjtgfecbnivqodlhzydtfslqkmwbknawejsx
|
||||
openai_api_key="sk-bbeamiumkouptsrueilgufqqyuumelcsivxwjbdugqwsqhwj",
|
||||
temperature=0.1
|
||||
)
|
||||
|
||||
|
||||
__all__ = ["deep_v3", "qwen_llm", "StrOutputParser", "ChatPromptTemplate", "PromptTemplate", "JsonOutputParser"]
|
||||
Binary file not shown.
@@ -0,0 +1,87 @@
|
||||
# coding:utf-8
|
||||
# @Time : 2024/9/5 上午11:15
|
||||
# @Author : ouyangyouzhang
|
||||
# @FileName : Dialog.py
|
||||
# @Describe :
|
||||
|
||||
import sys
|
||||
from PyQt5.QtWidgets import QApplication, QDialog, QVBoxLayout, QLineEdit, QPushButton, QLabel, QHBoxLayout, QDateEdit, \
|
||||
QMessageBox
|
||||
from PyQt5.QtCore import QDate
|
||||
|
||||
from main import export_by_conversation_id, export_by_data
|
||||
|
||||
|
||||
class ExportDialog(QDialog):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.setWindowTitle("导出对话框")
|
||||
self.setFixedSize(400, 150)
|
||||
# self.setGeometry(100, 100, 400, 100)
|
||||
|
||||
layout = QVBoxLayout()
|
||||
|
||||
# 添加新的布局
|
||||
self.appid_layout = QHBoxLayout()
|
||||
|
||||
# 添加标签
|
||||
self.appid_label = QLabel("AppID:")
|
||||
self.appid_layout.addWidget(self.appid_label)
|
||||
|
||||
# 添加编辑框
|
||||
self.appid_input = QLineEdit(self)
|
||||
self.appid_layout.addWidget(self.appid_input)
|
||||
|
||||
# 将新布局添加到主布局
|
||||
layout.addLayout(self.appid_layout)
|
||||
|
||||
# 通过会话ID导出部分
|
||||
self.id_label = QLabel("通过会话ID导出")
|
||||
self.id_input = QLineEdit(self)
|
||||
self.id_export_button = QPushButton("导出", self)
|
||||
self.id_export_button.clicked.connect(self.export_by_id)
|
||||
|
||||
id_layout = QHBoxLayout()
|
||||
id_layout.addWidget(self.id_input)
|
||||
id_layout.addWidget(self.id_export_button)
|
||||
|
||||
layout.addWidget(self.id_label)
|
||||
layout.addLayout(id_layout)
|
||||
|
||||
# 通过日期导出部分
|
||||
self.date_label = QLabel("通过日期导出")
|
||||
self.date_input = QDateEdit(self)
|
||||
self.date_input.setCalendarPopup(True)
|
||||
self.date_input.setDate(QDate.currentDate()) # 设置为当前日期
|
||||
self.date_export_button = QPushButton("导出", self)
|
||||
self.date_export_button.clicked.connect(self.export_by_date)
|
||||
|
||||
date_layout = QHBoxLayout()
|
||||
date_layout.addWidget(self.date_input)
|
||||
date_layout.addWidget(self.date_export_button)
|
||||
|
||||
layout.addWidget(self.date_label)
|
||||
layout.addLayout(date_layout)
|
||||
|
||||
self.setLayout(layout)
|
||||
|
||||
def export_by_id(self):
|
||||
session_id = self.id_input.text()
|
||||
session_id = session_id.strip()
|
||||
if session_id:
|
||||
export_by_conversation_id(session_id, self.appid_input.text().strip())
|
||||
QMessageBox.information(self, "完成", "导出成功!")
|
||||
else:
|
||||
print("请输入会话ID")
|
||||
|
||||
def export_by_date(self):
|
||||
selected_date = self.date_input.date().toString("yyyy-MM-dd")
|
||||
export_by_data(selected_date, self.appid_input.text().strip())
|
||||
QMessageBox.information(self, "完成", "导出成功!")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app = QApplication(sys.argv)
|
||||
dialog = ExportDialog()
|
||||
dialog.show()
|
||||
sys.exit(app.exec_())
|
||||
@@ -0,0 +1,142 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"id": "e8f39ebb-71ab-4389-8bc3-29577470f948",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"from WikijsTool import WikijsTool"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"id": "0a6bde6e-5507-48d9-8e64-d804f6085723",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"info = WikijsTool.get_all_documents()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 27,
|
||||
"id": "009c3e8d-6ff6-4e0b-83b8-740ed195b5c5",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"html_text = WikijsTool.query_doc_info(8663)['content']"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 29,
|
||||
"id": "621bb76a-aa5c-4f57-8574-c852f24b64e3",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import re\n",
|
||||
"\n",
|
||||
"cleaned_img_text = re.sub(r'<img\\s+[^>]*>', '', html_text)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 31,
|
||||
"id": "941e1e3b-7b8e-47f1-96ff-fa89898a1dd7",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"'<h1>使用场景</h1>\\n<p>组合件或组合件下的消耗量想要修改所属项目划分</p>\\n<h1>功能入口</h1>\\n<p>【组合件】界面-——“组合件列表”页签-——选择已录入消耗量的组合件或组合件下的消耗量,鼠标右键-——选择”设置所属项目“。</p>\\n<figure class=\"image\">\\n <figcaption>设置所属项目划分</figcaption>\\n</figure>\\n<h1>操作步骤</h1>\\n<p>1.设置所属项目划分</p>\\n<p>方法一:【组合件】界面——“组合件列表”页签-——选择已录入消耗量的组合件或组合件下的消耗量,鼠标右键——选择”设置所属项目划分“,在弹窗中选择项目划分,点击确定;</p>\\n<figure class=\"image\">\\n <figcaption>批量设置</figcaption>\\n</figure>\\n<p>方法二:对于组合件下单条工程量,在此工程量的所属项目划分列双击,在弹窗中选择项目划分,点击确定;</p>\\n<figure class=\"image\">\\n <figcaption>单条设置</figcaption>\\n</figure>\\n<h1>内部补充</h1>\\n<p>1.如工程量下方还有子级消耗量,需选择到父级消耗量进行操作,子级工程量的“设置所属项目”为灰色不可选。</p>\\n<figure class=\"image\">\\n <figcaption>子级不可设置</figcaption>\\n</figure>\\n<p> </p>\\n<p> </p>\\n'"
|
||||
]
|
||||
},
|
||||
"execution_count": 31,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"cleaned_img_text"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 35,
|
||||
"id": "13973a4a-1f19-4b4d-b3c8-441d69e0091b",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"使用场景\n",
|
||||
"组合件或组合件下的消耗量想要修改所属项目划分\n",
|
||||
"功能入口\n",
|
||||
"【组合件】界面-——“组合件列表”页签-——选择已录入消耗量的组合件或组合件下的消耗量,鼠标右键-——选择”设置所属项目“。\n",
|
||||
"\n",
|
||||
"设置所属项目划分\n",
|
||||
"\n",
|
||||
"操作步骤\n",
|
||||
"1.设置所属项目划分\n",
|
||||
"方法一:【组合件】界面——“组合件列表”页签-——选择已录入消耗量的组合件或组合件下的消耗量,鼠标右键——选择”设置所属项目划分“,在弹窗中选择项目划分,点击确定;\n",
|
||||
"\n",
|
||||
"批量设置\n",
|
||||
"\n",
|
||||
"方法二:对于组合件下单条工程量,在此工程量的所属项目划分列双击,在弹窗中选择项目划分,点击确定;\n",
|
||||
"\n",
|
||||
"单条设置\n",
|
||||
"\n",
|
||||
"内部补充\n",
|
||||
"1.如工程量下方还有子级消耗量,需选择到父级消耗量进行操作,子级工程量的“设置所属项目”为灰色不可选。\n",
|
||||
"\n",
|
||||
"子级不可设置\n",
|
||||
"\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"from bs4 import BeautifulSoup\n",
|
||||
"\n",
|
||||
"soup = BeautifulSoup(cleaned_img_text, \"html.parser\")\n",
|
||||
"plain_text = soup.get_text()\n",
|
||||
"print(plain_text)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "2802c4bd-34a7-4c61-bb15-4dd9739ecc1d",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "dify_lab",
|
||||
"language": "python",
|
||||
"name": "dify_lab"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.11.9"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
@@ -0,0 +1,183 @@
|
||||
# import pandas as pd
|
||||
#
|
||||
# # 读取 CSV 文件
|
||||
# csv_filename = "info_dify.csv"
|
||||
# md_filename = "output.md"
|
||||
#
|
||||
# # 读取数据
|
||||
# df = pd.read_csv(csv_filename)
|
||||
#
|
||||
# # 处理 path 列,去除前后 /
|
||||
# df['path'] = df['path'].str.strip('/')
|
||||
#
|
||||
# # 构建树结构
|
||||
# tree = {}
|
||||
#
|
||||
# def insert_path(tree, levels):
|
||||
# """ 递归插入路径到树形结构,确保相同层级合并 """
|
||||
# if not levels:
|
||||
# return
|
||||
# key = levels[0]
|
||||
# if key not in tree:
|
||||
# tree[key] = {}
|
||||
# insert_path(tree[key], levels[1:])
|
||||
#
|
||||
# # 遍历 DataFrame 的 path 列
|
||||
# for path in df['path']:
|
||||
# levels = path.split('/') # 拆分层级
|
||||
# insert_path(tree, levels) # 插入到树结构
|
||||
#
|
||||
# def generate_md(tree, level=1):
|
||||
# """ 递归生成 Markdown 文本,合并相同路径 """
|
||||
# md_text = []
|
||||
# for key in sorted(tree.keys()): # 确保有序输出
|
||||
# md_text.append(f"{'#' * level} {key}") # 根据层级添加 `#`
|
||||
# md_text.extend(generate_md(tree[key], level + 1)) # 递归生成子项
|
||||
# return md_text
|
||||
#
|
||||
# # 生成 Markdown 内容
|
||||
# md_content = generate_md(tree)
|
||||
#
|
||||
# # 保存到 Markdown 文件
|
||||
# with open(md_filename, mode='w', encoding='utf-8') as md_file:
|
||||
# md_file.write("\n".join(md_content))
|
||||
#
|
||||
# print(f"Markdown 文件已保存为 {md_filename}")
|
||||
|
||||
###################################################################################################################
|
||||
|
||||
# import re
|
||||
# import pandas as pd
|
||||
#
|
||||
# # 读取 CSV 文件
|
||||
# input_file = 'info_data.csv' # 原始 CSV 文件路径
|
||||
# output_file = 'info_data_cleaned.csv' # 处理后保存的 CSV 文件路径
|
||||
#
|
||||
# # 加载 CSV 到 DataFrame
|
||||
# df = pd.read_csv(input_file, encoding='utf-8')
|
||||
#
|
||||
# # 检查 'title' 列是否存在
|
||||
# if 'title' not in df.columns:
|
||||
# raise ValueError("CSV 文件中没有找到 'title' 列,请检查文件内容")
|
||||
#
|
||||
# # 定义正则表达式:匹配括号及其中的内容
|
||||
# pattern = re.compile(r'[()()].*?[()()]')
|
||||
#
|
||||
# # 遍历每一行,处理 'title' 列
|
||||
# def clean_title(title):
|
||||
# # 转换为 str 并删除括号内容
|
||||
# cleaned_title = re.sub(pattern, '', str(title))
|
||||
# # 去除多余空格
|
||||
# return cleaned_title.strip()
|
||||
#
|
||||
# # 更新 'title' 列
|
||||
# df['title'] = df['title'].apply(clean_title)
|
||||
#
|
||||
# # 保存到新的 CSV 文件
|
||||
# df.to_csv(output_file, index=False, encoding='utf-8')
|
||||
#
|
||||
# print(f"处理完成!已保存到:{output_file}")
|
||||
|
||||
|
||||
##################################################################################################################
|
||||
|
||||
# import pandas as pd
|
||||
#
|
||||
# # 读取 CSV 文件
|
||||
# file_path = 'info_data_cleaned.csv' # 请替换为你的 CSV 文件路径
|
||||
# df = pd.read_csv(file_path, encoding='utf-8')
|
||||
#
|
||||
# # 检查是否包含 'path' 列
|
||||
# if 'path' not in df.columns:
|
||||
# raise ValueError("CSV 文件中未找到 'path' 列,请检查文件内容。")
|
||||
#
|
||||
# # 将 'path' 列按 '/' 分割,并展开为多列
|
||||
# split_columns = df['path'].str.split('/', expand=True)
|
||||
#
|
||||
# # 重命名列名为 title1, title2, ..., titlen
|
||||
# split_columns.columns = [f'title{i+1}' for i in range(split_columns.shape[1])]
|
||||
#
|
||||
# # 合并原 DataFrame 和新拆分的列
|
||||
# df = pd.concat([df, split_columns], axis=1)
|
||||
#
|
||||
# # 保存结果到新 CSV 文件
|
||||
# output_file = 'info_data_cleaned_split.csv'
|
||||
# df.to_csv(output_file, index=False, encoding='utf-8')
|
||||
#
|
||||
# print(f"处理完成,结果已保存到 {output_file}")
|
||||
|
||||
##################################################################################################################
|
||||
|
||||
# import re
|
||||
# import pandas as pd
|
||||
#
|
||||
# # 读取 CSV 文件
|
||||
# input_file = 'info_data_cleaned_split.csv' # 原始 CSV 文件路径
|
||||
# output_file = 'info_data_cleaned_split2.csv' # 处理后保存的 CSV 文件路径
|
||||
#
|
||||
# # 加载 CSV 到 DataFrame
|
||||
# df = pd.read_csv(input_file, encoding='utf-8')
|
||||
#
|
||||
# # 定义正则表达式:匹配括号及其中的内容
|
||||
# pattern = re.compile(r'[()()].*?[()()]')
|
||||
#
|
||||
# # 清洗函数:删除括号及其中内容,并去除多余空格
|
||||
# def clean_text(text):
|
||||
# # 转换为 str 并删除括号内容
|
||||
# cleaned_text = re.sub(pattern, '', str(text))
|
||||
# # 去除多余空格
|
||||
# return cleaned_text.strip()
|
||||
#
|
||||
# # 从第2列开始遍历并清洗
|
||||
# for col in df.columns[1:]:
|
||||
# df[col] = df[col].apply(clean_text)
|
||||
#
|
||||
# # 保存到新的 CSV 文件
|
||||
# df.to_csv(output_file, index=False, encoding='utf-8')
|
||||
#
|
||||
# print(f"处理完成!已保存到:{output_file}")
|
||||
|
||||
|
||||
#####################################################################################################################
|
||||
|
||||
# import pandas as pd
|
||||
#
|
||||
# # 加载CSV文件
|
||||
# file_path = 'info_data_cleaned_split2.csv' # 请修改为你的文件路径
|
||||
# df = pd.read_csv(file_path, encoding='utf-8')
|
||||
#
|
||||
# # 定义新列名
|
||||
# new_column = 'Previous_Row'
|
||||
#
|
||||
# # 初始化新列
|
||||
# df[new_column] = None
|
||||
#
|
||||
# # 遍历每一行
|
||||
# for i in range(1, len(df)):
|
||||
# # 检查每一列是否为 NaN
|
||||
# if df.iloc[i].isna().any():
|
||||
# # 将前一行的内容放入新列中
|
||||
# df.at[i, new_column] = df.iloc[i-1].to_dict()
|
||||
#
|
||||
# # 输出处理后的 DataFrame
|
||||
# print(df)
|
||||
#
|
||||
# # 如果需要保存结果到新CSV
|
||||
# df.to_csv('info_data_cleaned_split3.csv', index=False, encoding='utf-8')
|
||||
|
||||
import pandas as pd
|
||||
|
||||
# 读取 CSV 文件
|
||||
input_file = "info_dify_mini.csv" # 原始 CSV 文件
|
||||
output_file = "info_dify_mini_2.csv" # 过滤后的新 CSV 文件
|
||||
|
||||
# 读取数据
|
||||
df = pd.read_csv(input_file, encoding='utf-8')
|
||||
|
||||
# 过滤包含'费'字的行(假设'描述类'是列名)
|
||||
filtered_df = df[df['描述类'].astype(str).str.contains('费', na=False)]
|
||||
|
||||
# 保存到新 CSV 文件
|
||||
filtered_df.to_csv(output_file, index=False, encoding='utf-8')
|
||||
|
||||
print(f"筛选完成,共找到 {len(filtered_df)} 行数据,并已保存到 {output_file}")
|
||||
@@ -0,0 +1,194 @@
|
||||
import os.path
|
||||
|
||||
import requests
|
||||
import json
|
||||
import time
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
class WikijsTool:
|
||||
BASE_URL = "http://10.1.16.39:8090/graphql"
|
||||
HEADERS = {
|
||||
"Authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcGkiOjcsImdycCI6MSwiaWF"
|
||||
"0IjoxNzIzMDIwNzg4LCJleHAiOjE4MTc2OTM1ODgsImF1ZCI6InVybjp3aWtpLmpzIiwiaX"
|
||||
"NzIjoidXJuOndpa2kuanMifQ.NSfE4tB7tkN8yapAs0CgkR-Yll6wc3gO3QGKMAv-TlGxx6A-9fJRmkwhRDTVMj_yPVG6"
|
||||
"NXVy_AZpJtLapRXFGn0cvscsRJxq3fY1KgEyt8wO99jvd8DpNHpHhAIgrtyDelmHsBD2Wb5Ib3WJFsWC6d8Yhm9dkpx6tZ"
|
||||
"vMAlFIKOg6UodMoMIry3YWiPGLaqJPQ0gcKmcnB2tC7sPXIIZnvfb5912GVM0n-4wvWobQnb_tXQuYZf99wH_leXjC_7BK8"
|
||||
"8JSaAmB980i3rBxfejmaJ8E6D48zRxwwPFa0veVjjzRkVqHPwAjl1CXb2HE29pGtNmSEE1kLQVqOZD_ibOwKQ"
|
||||
}
|
||||
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
@staticmethod
|
||||
def init_url():
|
||||
# 获取当前文件的路径
|
||||
file_path = Path(__file__).resolve()
|
||||
file_path = os.path.join(file_path.parent, 'wikiconfig.json')
|
||||
if not os.path.exists(file_path):
|
||||
return False
|
||||
with open(file_path, 'r', encoding='utf-8') as file:
|
||||
data = json.load(file)
|
||||
|
||||
if 'url' in data:
|
||||
WikijsTool.BASE_URL = data['url']
|
||||
|
||||
if 'Authorization' in data:
|
||||
WikijsTool.HEADERS['Authorization'] = data['Authorization']
|
||||
|
||||
return True
|
||||
|
||||
@staticmethod
|
||||
def get_all_documents() -> list[dict]:
|
||||
query = """
|
||||
query Pages {
|
||||
pages {
|
||||
list {
|
||||
path
|
||||
locale
|
||||
title
|
||||
contentType
|
||||
id
|
||||
isPublished
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
# 构建请求数据
|
||||
data = {
|
||||
'query': query,
|
||||
}
|
||||
|
||||
# 发送 POST 请求
|
||||
response = requests.post(WikijsTool.BASE_URL, headers=WikijsTool.HEADERS, json=data)
|
||||
if response.status_code == 200:
|
||||
# 解析数据
|
||||
list_info = json.loads(response.content)['data']['pages']['list']
|
||||
return [item for item in list_info]
|
||||
else:
|
||||
raise ValueError(f"获取文档列表失败,原因:“{response.text}")
|
||||
|
||||
@staticmethod
|
||||
def get_all_doc_by_path(path: str, add_path_end: bool = True) -> list[dict]:
|
||||
list_document = WikijsTool.get_all_documents()
|
||||
all_document_list = []
|
||||
if add_path_end:
|
||||
temp_path = path + '/'
|
||||
else:
|
||||
temp_path = path
|
||||
for document_info in list_document:
|
||||
document_path = str(document_info["path"])
|
||||
# 根据路径过滤出对应的所有文档
|
||||
if not document_path.startswith(temp_path):
|
||||
continue
|
||||
|
||||
all_document_list.append(document_info)
|
||||
|
||||
return all_document_list
|
||||
|
||||
ill_char = ['+', '.', '?', "%", '#', '&', '=', '<', '>', '"', '{', '}', '|', '^', '~', '[', ']', ' ']
|
||||
|
||||
@staticmethod
|
||||
def judge_path_is_ill(path) -> (bool, str):
|
||||
# 判断路径是否非法
|
||||
set1 = set(WikijsTool.ill_char)
|
||||
set2 = set(path)
|
||||
# 判断两个集合是否有交集
|
||||
if bool(set1 & set2):
|
||||
new_list = WikijsTool.ill_char[:]
|
||||
new_list.pop()
|
||||
error = ', '.join(new_list) + ", 空格。"
|
||||
return False, f"路径中包含非法字符,非法字符包括:{error}"
|
||||
return True, ""
|
||||
|
||||
@staticmethod
|
||||
def search_document(query_str: str) -> list[dict]:
|
||||
graphql_query = f"""
|
||||
query Pages {{
|
||||
pages {{
|
||||
search(query: "{query_str}") {{
|
||||
results {{
|
||||
id
|
||||
path
|
||||
locale
|
||||
title
|
||||
}}
|
||||
}}
|
||||
}}
|
||||
}}
|
||||
"""
|
||||
# 构建请求数据
|
||||
data = {
|
||||
'query': graphql_query,
|
||||
}
|
||||
|
||||
# 发送 POST 请求
|
||||
response = requests.post(WikijsTool.BASE_URL, headers=WikijsTool.HEADERS, json=data)
|
||||
if response.status_code == 200:
|
||||
# 解析数据
|
||||
search_results = json.loads(response.content)['data']['pages']['search']['results']
|
||||
return search_results
|
||||
else:
|
||||
raise ValueError(f"查询文档失败,原因:“{response.text}")
|
||||
|
||||
@staticmethod
|
||||
def query_doc_info(doc_id: int) -> dict:
|
||||
query = """
|
||||
query singlePages($doc_id: Int!) {
|
||||
pages {
|
||||
single(id: $doc_id) {
|
||||
id
|
||||
path
|
||||
title
|
||||
isPublished
|
||||
content
|
||||
contentType
|
||||
isPrivate
|
||||
updatedAt
|
||||
createdAt
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
# 构建请求数据
|
||||
variables = {
|
||||
'doc_id': doc_id,
|
||||
}
|
||||
data = {
|
||||
'query': query,
|
||||
'variables': variables
|
||||
}
|
||||
|
||||
# 发送 POST 请求
|
||||
response = requests.post(WikijsTool.BASE_URL, headers=WikijsTool.HEADERS, json=data)
|
||||
if "errors" in response.text:
|
||||
result = json.loads(response.content)['errors'][0]['message']
|
||||
return {}
|
||||
else:
|
||||
return json.loads(response.content)['data']['pages']['single']
|
||||
|
||||
|
||||
WikijsTool.init_url()
|
||||
if __name__ == "__main__":
|
||||
info = WikijsTool.get_all_documents()
|
||||
|
||||
import csv
|
||||
|
||||
|
||||
# 定义 CSV 文件名
|
||||
csv_filename = "info_data.csv"
|
||||
|
||||
# 写入 CSV 文件
|
||||
with open(csv_filename, mode='w', newline='', encoding='utf-8') as file:
|
||||
writer = csv.writer(file)
|
||||
|
||||
# 写入表头
|
||||
writer.writerow(['path', 'title', 'id'])
|
||||
|
||||
# 写入数据
|
||||
for i in info:
|
||||
writer.writerow([i['path'], i['title'], i['id']])
|
||||
|
||||
print(f"数据已保存到 {csv_filename}")
|
||||
# print(WikijsTool.query_doc_info(2064)['content'])
|
||||
# print(WikijsTool.rename_directory("配网知识库/配网造价软件", "配网知识库/配网造价软件1"))
|
||||
@@ -0,0 +1,308 @@
|
||||
import os.path
|
||||
|
||||
import requests
|
||||
import json
|
||||
import time
|
||||
from pathlib import Path
|
||||
|
||||
class WikijsTool:
|
||||
BASE_URL = "http://10.1.16.39:8090/graphql"
|
||||
HEADERS = {
|
||||
"Authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcGkiOjcsImdycCI6MSwiaWF"
|
||||
"0IjoxNzIzMDIwNzg4LCJleHAiOjE4MTc2OTM1ODgsImF1ZCI6InVybjp3aWtpLmpzIiwiaX"
|
||||
"NzIjoidXJuOndpa2kuanMifQ.NSfE4tB7tkN8yapAs0CgkR-Yll6wc3gO3QGKMAv-TlGxx6A-9fJRmkwhRDTVMj_yPVG6"
|
||||
"NXVy_AZpJtLapRXFGn0cvscsRJxq3fY1KgEyt8wO99jvd8DpNHpHhAIgrtyDelmHsBD2Wb5Ib3WJFsWC6d8Yhm9dkpx6tZ"
|
||||
"vMAlFIKOg6UodMoMIry3YWiPGLaqJPQ0gcKmcnB2tC7sPXIIZnvfb5912GVM0n-4wvWobQnb_tXQuYZf99wH_leXjC_7BK8"
|
||||
"8JSaAmB980i3rBxfejmaJ8E6D48zRxwwPFa0veVjjzRkVqHPwAjl1CXb2HE29pGtNmSEE1kLQVqOZD_ibOwKQ"
|
||||
}
|
||||
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
@staticmethod
|
||||
def init_url():
|
||||
# 获取当前文件的路径
|
||||
file_path = Path(__file__).resolve()
|
||||
file_path = os.path.join(file_path.parent, 'wikiconfig.json')
|
||||
if not os.path.exists(file_path):
|
||||
return False
|
||||
with open(file_path, 'r', encoding='utf-8') as file:
|
||||
data = json.load(file)
|
||||
|
||||
if 'url' in data:
|
||||
WikijsTool.BASE_URL = data['url']
|
||||
|
||||
if 'Authorization' in data:
|
||||
WikijsTool.HEADERS['Authorization'] = data['Authorization']
|
||||
|
||||
return True
|
||||
|
||||
@staticmethod
|
||||
def get_all_documents() -> list[dict]:
|
||||
query = """
|
||||
query Pages {
|
||||
pages {
|
||||
list {
|
||||
path
|
||||
locale
|
||||
title
|
||||
contentType
|
||||
id
|
||||
isPublished
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
# 构建请求数据
|
||||
data = {
|
||||
'query': query,
|
||||
}
|
||||
|
||||
# 发送 POST 请求
|
||||
response = requests.post(WikijsTool.BASE_URL, headers=WikijsTool.HEADERS, json=data)
|
||||
if response.status_code == 200:
|
||||
# 解析数据
|
||||
list_info = json.loads(response.content)['data']['pages']['list']
|
||||
return [item for item in list_info]
|
||||
else:
|
||||
raise ValueError(f"获取文档列表失败,原因:“{response.text}")
|
||||
|
||||
@staticmethod
|
||||
def get_all_doc_by_path(path: str, add_path_end: bool = True) -> list[dict]:
|
||||
list_document = WikijsTool.get_all_documents()
|
||||
all_document_list = []
|
||||
if add_path_end:
|
||||
temp_path = path + '/'
|
||||
else:
|
||||
temp_path = path
|
||||
for document_info in list_document:
|
||||
document_path = str(document_info["path"])
|
||||
# 根据路径过滤出对应的所有文档
|
||||
if not document_path.startswith(temp_path):
|
||||
continue
|
||||
|
||||
all_document_list.append(document_info)
|
||||
|
||||
return all_document_list
|
||||
|
||||
ill_char = ['+', '.', '?', "%", '#', '&', '=', '<', '>', '"', '{', '}', '|', '^', '~', '[', ']', ' ']
|
||||
|
||||
@staticmethod
|
||||
def judge_path_is_ill(path) -> (bool, str):
|
||||
# 判断路径是否非法
|
||||
set1 = set(WikijsTool.ill_char)
|
||||
set2 = set(path)
|
||||
# 判断两个集合是否有交集
|
||||
if bool(set1 & set2):
|
||||
new_list = WikijsTool.ill_char[:]
|
||||
new_list.pop()
|
||||
error = ', '.join(new_list) + ", 空格。"
|
||||
return False, f"路径中包含非法字符,非法字符包括:{error}"
|
||||
return True, ""
|
||||
|
||||
@staticmethod
|
||||
def search_document(query_str: str) -> list[dict]:
|
||||
graphql_query = f"""
|
||||
query Pages {{
|
||||
pages {{
|
||||
search(query: "{query_str}") {{
|
||||
results {{
|
||||
id
|
||||
path
|
||||
locale
|
||||
title
|
||||
}}
|
||||
}}
|
||||
}}
|
||||
}}
|
||||
"""
|
||||
# 构建请求数据
|
||||
data = {
|
||||
'query': graphql_query,
|
||||
}
|
||||
|
||||
# 发送 POST 请求
|
||||
response = requests.post(WikijsTool.BASE_URL, headers=WikijsTool.HEADERS, json=data)
|
||||
if response.status_code == 200:
|
||||
# 解析数据
|
||||
search_results = json.loads(response.content)['data']['pages']['search']['results']
|
||||
return search_results
|
||||
else:
|
||||
raise ValueError(f"查询文档失败,原因:“{response.text}")
|
||||
|
||||
@staticmethod
|
||||
def query_doc_info(doc_id: int) -> dict:
|
||||
query = """
|
||||
query singlePages($doc_id: Int!) {
|
||||
pages {
|
||||
single(id: $doc_id) {
|
||||
id
|
||||
path
|
||||
title
|
||||
isPublished
|
||||
content
|
||||
contentType
|
||||
isPrivate
|
||||
updatedAt
|
||||
createdAt
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
# 构建请求数据
|
||||
variables = {
|
||||
'doc_id': doc_id,
|
||||
}
|
||||
data = {
|
||||
'query': query,
|
||||
'variables': variables
|
||||
}
|
||||
|
||||
# 发送 POST 请求
|
||||
response = requests.post(WikijsTool.BASE_URL, headers=WikijsTool.HEADERS, json=data)
|
||||
if "errors" in response.text:
|
||||
result = json.loads(response.content)['errors'][0]['message']
|
||||
return {}
|
||||
else:
|
||||
return json.loads(response.content)['data']['pages']['single']
|
||||
|
||||
|
||||
import html2text
|
||||
import re
|
||||
|
||||
def to_markdown(input1):
|
||||
|
||||
html_content = """
|
||||
<h1>Title</h1>
|
||||
<p>This is a <strong>bold</strong> and <em>italic</em> text.</p>
|
||||
<ul>
|
||||
<li>Item 1</li>
|
||||
<li>Item 2</li>
|
||||
</ul>
|
||||
"""
|
||||
|
||||
markdown_converter = html2text.HTML2Text()
|
||||
markdown_converter.ignore_links = False # 保留链接
|
||||
markdown_content = markdown_converter.handle(input1)
|
||||
|
||||
markdown_content = re.sub(r'!\[.*?\]\(.*?\)\s*[^\n]*', '', markdown_content)
|
||||
|
||||
return markdown_content
|
||||
|
||||
|
||||
WikijsTool.init_url()
|
||||
|
||||
info = WikijsTool.get_all_documents()
|
||||
|
||||
|
||||
# import csv
|
||||
#
|
||||
# # 定义 CSV 文件名
|
||||
# csv_filename = "info_data2.26.csv"
|
||||
#
|
||||
# # 写入 CSV 文件
|
||||
# with open(csv_filename, mode='w', newline='', encoding='utf-8') as file:
|
||||
# writer = csv.writer(file)
|
||||
#
|
||||
# # 写入表头
|
||||
# writer.writerow(['path', 'title', 'id'])
|
||||
#
|
||||
# # 写入数据
|
||||
# for i in info:
|
||||
# writer.writerow([i['path'], i['title'], i['id']])
|
||||
#
|
||||
# print(f"数据已保存到 {csv_filename}")
|
||||
|
||||
|
||||
|
||||
# print(info)
|
||||
|
||||
xizang_index = [8461, 8401, 8191, 8705, 8399, 8202, 8356, 8269, 8268, 8266, 8671, 8267, 8476, 8472, 8094, 8851, 8271, 8479,
|
||||
8418, 8093, 8417, 8473, 8419, 8462, 8482, 8856, 8669, 8484, 8422, 8264, 8265, 8432, 7847, 8204, 8405, 8707,
|
||||
8704, 8682, 8352, 8273, 8720, 8474, 8272, 8801, 8677, 8235, 8243, 8490, 8155, 8460, 8165, 8732, 8246, 8493,
|
||||
8354, 8733, 8513, 8481, 8492, 8598, 8231, 8240, 8742, 8820, 8431, 8200, 8357, 8350, 8223, 8198, 8369, 8827,
|
||||
7931, 8753, 8136, 8877, 8741, 8852, 8039, 8463, 8863, 8731, 8435, 8815, 7495, 8286, 8129, 7930, 7752, 8128,
|
||||
7929, 8728, 8816, 8694, 8693, 8698, 8689, 8690, 7740, 7739, 8058, 8812, 8744, 8455, 7738, 7845, 7846, 8063,
|
||||
8069, 8133, 7833, 8066, 7834, 8287, 8679, 8087, 7956, 8850, 8743, 8060, 8748, 8746, 8458, 8067, 8754, 8404,
|
||||
8055, 8065, 8723, 8400, 8403, 8064, 8755, 8363, 8503, 7949, 7948, 8500, 8355, 8391, 8402, 8757, 8756, 8379,
|
||||
8174, 8459, 8367, 8450, 8192, 8120, 8193, 8791, 8413, 8747, 8270, 8424, 8796, 8249, 8250, 8478, 8475, 8483,
|
||||
8499, 8098, 8079, 8103, 8251, 8374, 8252, 8049, 8253, 8506, 8057, 7989, 8056, 7945, 8842, 8410, 8409, 8480,
|
||||
8497, 8862, 8514, 8507, 8512, 8502, 7762, 8515, 8501, 8373, 8360, 8217, 8713, 8092, 8095, 8100, 8438, 8745,
|
||||
8068, 8072, 8070, 8408, 8075, 8806, 8071, 8434, 8074, 8433, 8421, 8511, 8496, 8495]
|
||||
|
||||
down_index = [5362, 5409, 2500, 3926, 2389, 3611, 5430, 2166, 4296, 6545, 5396, 4080, 4171, 8836, 6785, 6448, 3745, 6029,
|
||||
6846, 4718, 5250, 5898, 6924, 5341, 5286, 7387, 7133, 7437, 7395, 5484, 7273, 5279, 5254, 5271, 6419, 5143,
|
||||
5779, 5454, 5139, 2608, 6587, 7277, 6835, 2148, 6308, 7564, 5234, 2382, 5752, 6169, 2503, 6551, 5104, 7230,
|
||||
6537, 3849, 5771, 5190, 6503, 6534, 6122, 7178, 2641, 6301, 2427, 5410, 5494, 5493, 5422, 7034, 5121, 6257,
|
||||
4114, 3764, 7446, 6601, 5385, 6041, 5423, 6961, 5151, 6592, 5394, 5303, 3757, 6925, 3747, 5474, 5027, 3759,
|
||||
8831, 4784, 2604, 3573, 5119, 8861, 7016, 7013, 7014, 7565, 4990, 5926, 5380, 5135, 5345, 3570, 3854, 7566]
|
||||
|
||||
|
||||
# a = WikijsTool.query_doc_info(8401)
|
||||
# print(to_markdown(a['title']))
|
||||
# print(to_markdown(a['content']))
|
||||
|
||||
# 读取 txt 文件
|
||||
# with open("ceshi.txt", "r", encoding="utf-8") as file:
|
||||
#
|
||||
# lines = file.read().splitlines() # 按行读取并去除换行符
|
||||
#
|
||||
# # 转换为数字列表(int 或 float)
|
||||
# numbers = [int(line) if line.isdigit() else float(line) for line in lines if line.strip()]
|
||||
#
|
||||
# # 输出列表
|
||||
# print(numbers)
|
||||
|
||||
|
||||
# 目标文件夹
|
||||
# output_dir = "DM_data/xizang_kg"
|
||||
# os.makedirs(output_dir, exist_ok=True) # 确保目录存在
|
||||
#
|
||||
# for doc_id in xizang_index:
|
||||
# a = WikijsTool.query_doc_info(doc_id) # 获取文档信息
|
||||
# title = to_markdown(a['title']).strip() # 获取标题
|
||||
# content = to_markdown(a['content']).strip() # 获取内容
|
||||
#
|
||||
# if content: # 只有内容非空时才保存
|
||||
# filename = f"{title}.txt"
|
||||
# filepath = os.path.join(output_dir, filename)
|
||||
#
|
||||
# # 确保文件名合法(避免非法字符)
|
||||
# filename = "".join(c if c.isalnum() or c in " _-" else "_" for c in filename)
|
||||
# filepath = os.path.join(output_dir, filename)
|
||||
#
|
||||
# with open(filepath, "w", encoding="utf-8") as f:
|
||||
# f.write(content)
|
||||
#
|
||||
# print(f"保存成功: {filepath}")
|
||||
# else:
|
||||
# print(f"跳过 ID {doc_id}: 内容为空")
|
||||
|
||||
import os
|
||||
import re
|
||||
|
||||
# 目标文件夹
|
||||
output_dir = "DM_data/down_kg"
|
||||
os.makedirs(output_dir, exist_ok=True) # 确保目录存在
|
||||
|
||||
def sanitize_filename(filename):
|
||||
"""去除或替换非法文件名字符"""
|
||||
filename = re.sub(r'[<>:"/\\|?*]', '_', filename) # 替换非法字符
|
||||
return filename.strip() # 去除首尾空格
|
||||
|
||||
for doc_id in down_index:
|
||||
a = WikijsTool.query_doc_info(doc_id) # 获取文档信息
|
||||
title = to_markdown(a['title']).strip() # 获取标题
|
||||
content = to_markdown(a['content']).strip() # 获取内容
|
||||
|
||||
if content: # 只有内容非空时才保存
|
||||
safe_title = sanitize_filename(title) # 处理非法字符
|
||||
filename = f"{safe_title}.txt"
|
||||
filepath = os.path.join(output_dir, filename)
|
||||
|
||||
with open(filepath, "w", encoding="utf-8") as f:
|
||||
f.write(content)
|
||||
|
||||
print(f"保存成功: {filepath}")
|
||||
else:
|
||||
print(f"跳过 ID {doc_id}: 内容为空")
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,229 @@
|
||||
# 行业相关知识
|
||||
|
||||
## 变电基本知识
|
||||
### 变电主要设备
|
||||
### 变电站分类
|
||||
### 变电站电气系统
|
||||
### 变电站的建筑物和构建物
|
||||
### 变电的概念
|
||||
### 建筑物和构建物
|
||||
### 换流站的建筑物和构筑物
|
||||
|
||||
## 电力系统简介
|
||||
### 发电厂
|
||||
### 变电站
|
||||
### 工程建筑全过程
|
||||
### 电力系统构成
|
||||
### 电力系统构成概念
|
||||
### 电力负荷
|
||||
### 电源系统
|
||||
### 输电系统
|
||||
|
||||
## 电力行业背景
|
||||
### 南方电网公司
|
||||
### 县级供电公司
|
||||
### 发电公司
|
||||
### 国建电网公司
|
||||
### 市级供电局
|
||||
### 电力设计院
|
||||
### 电厂
|
||||
### 省电力公司
|
||||
### 省电建公司
|
||||
### 省送变电工程公司
|
||||
|
||||
## 送电线路基本知识
|
||||
### 分裂数
|
||||
### 同塔架设双回路
|
||||
### 导线
|
||||
### 已有一回,新建一回
|
||||
### 接地钢材
|
||||
### 架空地线(避雷线)和拉线
|
||||
### 架空送电线路金具
|
||||
### 架线工程内容
|
||||
### 混凝土预制品
|
||||
### 绝缘子
|
||||
### 金具、绝缘子、零星钢材
|
||||
### 铁塔工程量统计
|
||||
### 附件工程内容
|
||||
### 工地运输计算(造价2008线路)
|
||||
|
||||
## 造价基础知识
|
||||
### 《火电发电工程建设预算编制与计算标准》的适用范围
|
||||
### 《电网工程建设预算编制与计算标准》定义
|
||||
### 《电网工程建设预算编制与计算标准》的适用范围
|
||||
### 其他费用的构成
|
||||
### 勘察费/附加调整系数“35KV及以下送电线路”是相乘/累乘
|
||||
### 勘察费方法二/工程勘察设计收费标准(2002年修订本)
|
||||
### 勘察费方法二(2002修订本)附加调整系数/气温系数需累加,同时该项与测土壤电阻率是相乘关系
|
||||
### 工程造价的定义
|
||||
### 工程造价的职能
|
||||
### 工程造价计价顺序
|
||||
### 工程造价计算6步走
|
||||
### 工程造价费用构成
|
||||
### 建设期贷款利息——专业知识篇
|
||||
### 拦标价
|
||||
### 材料费、消耗性材料和装置性材料费(计价材料和未计价材料)
|
||||
### 电力行业定额定义
|
||||
### 直接工程费
|
||||
### 编制年价差
|
||||
### 设备购置费的构成/设备运杂费
|
||||
### 间接费
|
||||
### (06预规)人工费
|
||||
### (06预规)施工机械使用费
|
||||
### (设计费)设计费方法二/工程勘察设计收费标准(2002年修订本)
|
||||
|
||||
## 配网设计基础知识
|
||||
### (配网设计)最大允许应力
|
||||
### 架空线路的比载
|
||||
### 架空输电线路建设原则
|
||||
### 架空输电线路的结构
|
||||
### 架空配电网线路设计
|
||||
### 电缆井
|
||||
### 电缆头
|
||||
### (配网设计)各种比载的计算
|
||||
### (配网设计)回路/单回路/双回路
|
||||
### (配网设计)图元、图例、图框
|
||||
### (配网设计)垂直比载
|
||||
### (配网设计)孤立档计算
|
||||
### (配网设计)年平均运行应力
|
||||
### (配网设计)新线系数
|
||||
### (配网设计)最大使用应力
|
||||
### (配网设计)杆塔
|
||||
### (配网设计)杆塔型号中对应的字母含义
|
||||
### (配网设计)杆塔按材料的分类
|
||||
### (配网设计)正常安全系数
|
||||
### (配网设计)水平比载
|
||||
### (配网设计)电缆的敷设方式
|
||||
### (配网设计)直线杆塔
|
||||
### (配网设计)线路路径的选择原则
|
||||
### (配网设计)终端杆塔、跨越杆塔、换位杆塔
|
||||
### (配网设计)综合比载
|
||||
### (配网设计)耐张杆塔
|
||||
### (配网设计)耐张段、孤立档
|
||||
### (配网设计)设计气象条件三要素
|
||||
### (配网设计)设计的基本流程
|
||||
### (配网设计)路径方案的选定
|
||||
### (配网设计)转角杆塔
|
||||
### (配网设计)输电线路
|
||||
### (配网设计)金具的分类及作用
|
||||
|
||||
## 砌砖、砌块套用定额
|
||||
|
||||
|
||||
# 配网编制D3
|
||||
## 南网专版
|
||||
### (广西清单)自动统计出土质、地形、运输的项目特征值
|
||||
### (配网计价通D3南网版)“典造分析”高级功能
|
||||
### (配网计价通D3南网版)“控制线指标”高级功能
|
||||
### (配网计价通D3南网版)典造分析
|
||||
### (配网计价通D3南网版)典造分析常见问题
|
||||
### (配网计价通D3南网版)导入/导出特征信息
|
||||
### (配网计价通D3南网版)工程转换:清单预算转清单计价/清单计价转清单预算
|
||||
### (配网计价通D3南网版)广西配网扩大工程量清单组合件编码规则
|
||||
### (配网计价通D3南网版)批量设置设计类型
|
||||
### (配网计价通D3南网版)控制线指标
|
||||
### (配网计价通D3南网版)设置分项特征
|
||||
### (配网计价通D3)导出南网规约接口文件
|
||||
|
||||
## 河南专版
|
||||
### (配网计价通D3)河南专版与通用版本区别/项目管理
|
||||
|
||||
## 贵州专版
|
||||
### (配网D3软件)锁内许可证名称/锁专业及后缀
|
||||
|
||||
## 辽宁专版
|
||||
### (辽宁配网D3)新建清单批次/框架清单
|
||||
### (辽宁配网计价通D3)显示工程内容
|
||||
### (辽宁配网计价通D3)显示消耗量名称
|
||||
### (辽宁配网计价通D3)清单批次:一键调价
|
||||
### (配网D3辽宁清单批次)批量导出工程量清单报表
|
||||
### (配网计价通D3)辽宁专版与通用版本区别
|
||||
|
||||
## 配网工程计价通D3
|
||||
## 主页
|
||||
### (辽宁配网计价通D3)工程转换:预算转清单/清单转预算
|
||||
### (配网计价通D3)设置选项:主材设备的供货方默认设置/批次工程计算不自动统计技经指标
|
||||
### (配网计价通D3)一般计税转简易计税
|
||||
### (配网计价通D3)升级16版定额组合件库
|
||||
### (配网计价通D3)备份管理
|
||||
### (配网计价通D3)导入/导出物料库
|
||||
### (配网计价通D3)导入/导出组合件库
|
||||
### (配网计价通D3)导入云物料
|
||||
### (配网计价通D3)工程模板管理
|
||||
### (配网计价通D3)工程量合并
|
||||
### (配网计价通D3)新建批次工程
|
||||
### (配网计价通D3)新建自定义物料库
|
||||
### (配网计价通D3)新建自定义组合件库
|
||||
### (配网计价通D3)湖北费用统计切块表
|
||||
### (配网计价通D3)统计分析-物料统计
|
||||
### (配网计价通D3)统计分析-费用统计
|
||||
### (配网计价通D3)统计分析设置报表单位为万元
|
||||
### (配网计价通D3)设置选项:自动保存工程/报表生成方式
|
||||
### (配网计价通D3)费用统计-添加报表/导入导出报表模板
|
||||
### (配网计价通D3)费用统计中是按工程文件名称的数值排序
|
||||
### (配网计价通D3)费用统计批量设置小数位数
|
||||
|
||||
## 配网工程计价通D3
|
||||
## 典型问题
|
||||
### (配网计价通D3)甲供设备不计入造价
|
||||
### (配网计价通D3)编制说明工程投资按元显示
|
||||
### (配网计价通D3)老版定额升级/配网2017升级为2022工程
|
||||
### (配网计价通D3)自由表显示元金额
|
||||
|
||||
## 配网工程计价通D3
|
||||
## 多工程批量设置
|
||||
### (配网计价通D3)多工程报表导出
|
||||
### (配网计价通D3)批量导出多个工程报表,不显示总算表(表一)
|
||||
|
||||
## 配网工程计价通D3
|
||||
## 工程信息
|
||||
### (配网计价通D3)2022定额调差系数中,通信站、通信线路调差系数为0
|
||||
### (配网计价通D3)占地类型
|
||||
### (配网计价通D3)只开展竣工结算审核/施工过程造价咨询及竣工结算审核费
|
||||
### (配网计价通D3)地区类型
|
||||
### (配网计价通D3)工程审核
|
||||
### (配网计价通D3)建筑电缆工程采用电缆沟、电缆隧道
|
||||
### (配网计价通D3)建设预算性质/基本预备费
|
||||
### (配网计价通D3)技经参数
|
||||
### (配网计价通D3)技经参数统计自动规则
|
||||
### (配网计价通D3)材料配送费
|
||||
### (配网计价通D3)特殊地区
|
||||
### (配网计价通D3)综合地形增加费/批次工程计算综合地形增加费
|
||||
### (配网计价通D3)设备配送费
|
||||
### (配网计价通D3)设置土质比例
|
||||
### (配网计价通D3)设置密码/工程加密
|
||||
### (配网计价通D3)运输设置
|
||||
|
||||
## 配网工程计价通D3
|
||||
## 工程费用
|
||||
### (配网计价通D3)建贷利息
|
||||
### (配网计价通D3)一键清空费率
|
||||
### (配网计价通D3)一键调价
|
||||
### (配网计价通D3)价差预备费
|
||||
### (配网计价通D3)其他费用界面勾选输出
|
||||
### (配网计价通D3)勘察费/专项勘察费/其中勘察费
|
||||
### (配网计价通D3)基本设计费/设计费
|
||||
### (配网计价通D3)工程勘察只进行一般性定位测量作业
|
||||
### (配网计价通D3)工程监理费
|
||||
### (配网计价通D3)建设场地征用及清理费
|
||||
### (配网计价通D3)总算表/表一以元为单位显示
|
||||
### (配网计价通D3)总算表中显示施工费
|
||||
###
|
||||
|
||||
|
||||
|
||||
## 配网清单D3
|
||||
### (配网清单D3)清单结算工程:查看中标清单组价
|
||||
### (配网清单计价通D3)专业暂估价
|
||||
### (配网清单计价通D3)显示价格为0的清单
|
||||
### (配网清单计价通D3)显示清单计算式
|
||||
### (配网清单计价通D3)显示物料编号
|
||||
### (配网清单计价通D3)暂列金额
|
||||
### (配网清单计价通D3)材料设备暂估价
|
||||
### (配网清单计价通D3)结算如何解锁
|
||||
### (配网清单计价通D3)设置报表参数/显示项目划分及清单
|
||||
### (配网计价通D3)清单折扣比例
|
||||
### (配网计价通D3)清空所有项目特征
|
||||
### (配网计价通D3)调整清单码
|
||||
### (配网计价通D3)锁定清单属性
|
||||
|
||||
@@ -0,0 +1,164 @@
|
||||
# import pandas as pd
|
||||
# import chardet
|
||||
#
|
||||
# # 检测文件编码的函数
|
||||
# def detect_encoding(file_path):
|
||||
# with open(file_path, 'rb') as f:
|
||||
# result = chardet.detect(f.read())
|
||||
# return result['encoding']
|
||||
#
|
||||
# # Step 1: 读取 A.csv 并提取 input 列
|
||||
# A_encoding = detect_encoding('D:/工作簿3.csv')
|
||||
# A_df = pd.read_csv('D:/工作簿3.csv', encoding=A_encoding)
|
||||
# list1 = A_df['input'].tolist()
|
||||
#
|
||||
# # Step 2: 读取 B.csv,基于 list1 中的内容查找匹配项
|
||||
# B_encoding = detect_encoding('D:/工作簿2.csv')
|
||||
# B_df = pd.read_csv('D:/工作簿2.csv', encoding=B_encoding)
|
||||
#
|
||||
# # 创建 list2 存储匹配到的 answer 列内容
|
||||
# list2 = []
|
||||
#
|
||||
# # 遍历 list1,查找 B.csv 中的匹配项
|
||||
# for item in list1:
|
||||
# match = B_df[B_df['query'] == item]
|
||||
# if not match.empty:
|
||||
# # 如果有匹配项,取第一个匹配的 answer 值
|
||||
# list2.append(match['answer'].values[0])
|
||||
# else:
|
||||
# # 如果没有匹配项,填充为 NaN 或其他默认值
|
||||
# list2.append(None)
|
||||
#
|
||||
# # Step 3: 将 list2 添加到 A.csv 的 output 列
|
||||
# A_df['output'] = list2
|
||||
#
|
||||
# # 保存修改后的 A.csv 文件
|
||||
# A_df.to_csv('D:/A_updated2.csv', index=False, encoding='utf-8') # 保存时也指定编码,确保兼容性
|
||||
#
|
||||
# print("A.csv 已成功更新为 A_updated.csv")
|
||||
|
||||
import pandas as pd
|
||||
import re
|
||||
|
||||
# 读取CSV文件
|
||||
# df = pd.read_csv('D:/2.10.15.11.csv', encoding='utf-8')
|
||||
#
|
||||
# # 提取'点彩原因'列内容到list
|
||||
# dian_cai_list = df['点彩原因'].tolist()
|
||||
#
|
||||
# # 初始化'点彩原因2'列
|
||||
# df['点彩原因2'] = ''
|
||||
#
|
||||
# # 遍历列表,查找并提取"回答错误"或"回答正确"之后的内容,并修改原列
|
||||
# for idx, content in enumerate(dian_cai_list):
|
||||
# if isinstance(content, str): # 确保内容是字符串
|
||||
# match = re.match(r'(回答错误|回答正确|回答不出)[,,]?\s*(.*)', content)
|
||||
# if match:
|
||||
# # 提取关键词(回答错误或回答正确)
|
||||
# keyword = match.group(1)
|
||||
# # 提取关键词后的内容
|
||||
# extracted_content = match.group(2).strip()
|
||||
#
|
||||
# # 更新'点彩原因2'列
|
||||
# df.at[idx, '点彩原因2'] = extracted_content
|
||||
# # 修改'点彩原因'列,只保留关键词
|
||||
# df.at[idx, '点彩原因'] = keyword
|
||||
#
|
||||
# # 保存更新后的CSV文件
|
||||
# df.to_csv('D:/updated_file3.csv', index=False, encoding='utf-8')
|
||||
|
||||
|
||||
# import requests
|
||||
#
|
||||
# url = "http://10.1.16.39:2333/intent_recognition"
|
||||
# data = {
|
||||
# "query": "BDY3是什么软件做的工程"
|
||||
# }
|
||||
#
|
||||
# response = requests.post(url, json=data)
|
||||
# print(response.json())
|
||||
|
||||
|
||||
# import wikipedia
|
||||
#
|
||||
#
|
||||
# def get_wikipedia_summary(term, lang="zh", sentences=2):
|
||||
# """
|
||||
# 使用 Wikipedia API 获取输入名词的解释或描述。
|
||||
#
|
||||
# 参数:
|
||||
# - term: 需要查询的名词(字符串)
|
||||
# - lang: 语言(默认 "zh" 为中文)
|
||||
# - sentences: 返回的句子数量(默认 2 句)
|
||||
#
|
||||
# 返回:
|
||||
# - Wikipedia 解释(字符串)
|
||||
# """
|
||||
# try:
|
||||
# wikipedia.set_lang(lang) # 设置语言
|
||||
# summary = wikipedia.summary(term, sentences=sentences)
|
||||
# return summary
|
||||
# except wikipedia.exceptions.DisambiguationError as e:
|
||||
# return f"查询词 '{term}' 可能指多个内容:{', '.join(e.options[:5])}..."
|
||||
# except wikipedia.exceptions.PageError:
|
||||
# return f"未找到 '{term}' 的相关 Wikipedia 页面。"
|
||||
# except Exception as e:
|
||||
# return f"发生错误:{e}"
|
||||
#
|
||||
#
|
||||
# # 测试示例
|
||||
# print(get_wikipedia_summary("人工智能")) # 获取 "人工智能" 的解释
|
||||
|
||||
|
||||
# import wikipedia
|
||||
#
|
||||
# def get_wikipedia_summary(term, lang="zh"):
|
||||
# """
|
||||
# 查询 Wikipedia API 获取名词的摘要信息。
|
||||
#
|
||||
# :param term: 要查询的名词
|
||||
# :param lang: 语言(默认中文 'zh')
|
||||
# :return: 该名词的 Wikipedia 摘要信息
|
||||
# """
|
||||
# try:
|
||||
# wikipedia.set_lang(lang) # 设置语言
|
||||
# summary = wikipedia.summary(term, sentences=3) # 获取前3句话摘要
|
||||
# return summary
|
||||
# except wikipedia.exceptions.DisambiguationError as e:
|
||||
# return f"查询 '{term}' 有多个可能的结果,请更具体:\n{e.options[:5]}"
|
||||
# except wikipedia.exceptions.PageError:
|
||||
# return f"未找到 '{term}' 的 Wikipedia 词条。"
|
||||
# except Exception as e:
|
||||
# return f"查询失败,错误信息: {e}"
|
||||
#
|
||||
# import zhconv
|
||||
#
|
||||
# # 示例调用
|
||||
# term = "历史版本"
|
||||
# result = get_wikipedia_summary(term)
|
||||
# traditional_text = zhconv.convert(result, 'zh-cn')
|
||||
# print(traditional_text)
|
||||
# # print(result)
|
||||
|
||||
|
||||
import pandas as pd
|
||||
|
||||
# 读取 CSV 文件
|
||||
file_path = "D:/测试集3.3.csv" # 请替换为你的文件路径
|
||||
df = pd.read_csv(file_path, encoding='utf-8')
|
||||
|
||||
# 确保 'query' 列存在
|
||||
if 'query' in df.columns:
|
||||
# 筛选包含 '西藏' 的行
|
||||
filtered_df = df[df['query'].str.contains('西藏', na=False)]
|
||||
|
||||
# 保存到新的 CSV 文件
|
||||
output_path = "D:/测试集_西藏.csv"
|
||||
filtered_df.to_csv(output_path, index=False, encoding='utf-8')
|
||||
|
||||
print(f"筛选后的数据已保存到 {output_path}")
|
||||
else:
|
||||
print("CSV 文件中没有 'query' 列,请检查文件格式!")
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
5362
|
||||
5409
|
||||
2500
|
||||
3926
|
||||
2389
|
||||
3611
|
||||
5430
|
||||
2166
|
||||
4296
|
||||
6545
|
||||
5396
|
||||
4080
|
||||
4171
|
||||
8836
|
||||
6785
|
||||
6448
|
||||
3745
|
||||
6029
|
||||
6846
|
||||
4718
|
||||
5250
|
||||
5898
|
||||
6924
|
||||
5341
|
||||
5286
|
||||
7387
|
||||
7133
|
||||
7437
|
||||
7395
|
||||
5484
|
||||
7273
|
||||
5279
|
||||
5254
|
||||
5271
|
||||
6419
|
||||
5143
|
||||
5779
|
||||
5454
|
||||
5139
|
||||
2608
|
||||
6587
|
||||
7277
|
||||
6835
|
||||
2148
|
||||
6308
|
||||
7564
|
||||
5234
|
||||
2382
|
||||
5752
|
||||
6169
|
||||
2503
|
||||
6551
|
||||
5104
|
||||
7230
|
||||
6537
|
||||
3849
|
||||
5771
|
||||
5190
|
||||
6503
|
||||
6534
|
||||
6122
|
||||
7178
|
||||
2641
|
||||
6301
|
||||
2427
|
||||
5410
|
||||
5494
|
||||
5493
|
||||
5422
|
||||
7034
|
||||
5121
|
||||
6257
|
||||
4114
|
||||
3764
|
||||
7446
|
||||
6601
|
||||
5385
|
||||
6041
|
||||
5423
|
||||
6961
|
||||
5151
|
||||
6592
|
||||
5394
|
||||
5303
|
||||
3757
|
||||
6925
|
||||
3747
|
||||
5474
|
||||
5027
|
||||
3759
|
||||
8831
|
||||
4784
|
||||
2604
|
||||
3573
|
||||
5119
|
||||
8861
|
||||
7016
|
||||
7013
|
||||
7014
|
||||
7565
|
||||
4990
|
||||
5926
|
||||
5380
|
||||
5135
|
||||
5345
|
||||
3570
|
||||
3854
|
||||
7566
|
||||
@@ -0,0 +1,38 @@
|
||||
"""
|
||||
===================================
|
||||
@Auther:WenZ
|
||||
@Company: BooWay
|
||||
@project:dify_lab
|
||||
===================================
|
||||
"""
|
||||
import pandas as pd
|
||||
|
||||
def read_title_column(csv_file: str) -> list:
|
||||
"""
|
||||
读取CSV文件中的'title'列,并返回一个列表,使用UTF-8编码。
|
||||
|
||||
:param csv_file: CSV文件的路径
|
||||
:return: 包含title列数据的列表
|
||||
"""
|
||||
try:
|
||||
df = pd.read_csv(csv_file, encoding='utf-8') # 使用 UTF-8 编码读取 CSV
|
||||
if 'title' in df.columns:
|
||||
return df['title'].dropna().tolist() # 去除缺失值并转换为列表
|
||||
else:
|
||||
raise ValueError("CSV文件中未找到'title'列")
|
||||
except Exception as e:
|
||||
print(f"读取文件时发生错误: {e}")
|
||||
return []
|
||||
|
||||
titles = read_title_column("info_data.csv")
|
||||
|
||||
from langchain_huggingface import HuggingFaceEmbeddings
|
||||
|
||||
embedding_path = "D:/迅雷下载/模型权重/bge-m3"
|
||||
embeddings = HuggingFaceEmbeddings(model_name=embedding_path)
|
||||
|
||||
from langchain_community.vectorstores import Chroma
|
||||
|
||||
chroma_archived = "chroma_titles"
|
||||
|
||||
vectorstore_txt_chroma = Chroma.from_texts(titles, embeddings, persist_directory=chroma_archived)
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,88 @@
|
||||
# coding:utf-8
|
||||
# @Time : 2024/8/27 下午3:08
|
||||
# @Author : ouyangyouzhang
|
||||
# @FileName : export_like_msg.py
|
||||
# @Describe : 导出点赞的消息
|
||||
|
||||
import psycopg2
|
||||
from psycopg2 import sql
|
||||
import os
|
||||
import pandas as pd
|
||||
|
||||
|
||||
class ExportMsg:
|
||||
def __init__(self):
|
||||
try:
|
||||
# 连接数据库
|
||||
self.connection = psycopg2.connect(
|
||||
user="postgres",
|
||||
password="difyai123456",
|
||||
host="172.20.0.145",
|
||||
port=5432,
|
||||
database="dify"
|
||||
)
|
||||
|
||||
except (Exception, psycopg2.Error) as error:
|
||||
print("Error while connecting to PostgreSQL", error)
|
||||
|
||||
def export_like_msg_id(self, user_id: str) -> list:
|
||||
cursor = self.connection.cursor()
|
||||
|
||||
# 构建SQL查询
|
||||
query = sql.SQL("""
|
||||
SELECT message_id, from_end_user_id, rating
|
||||
FROM message_feedbacks
|
||||
WHERE from_end_user_id = %s AND rating = %s
|
||||
""")
|
||||
|
||||
# 执行查询并获取结果
|
||||
cursor.execute(query, (user_id, "like"))
|
||||
records = cursor.fetchall()
|
||||
if cursor:
|
||||
cursor.close()
|
||||
|
||||
return [item[0] for item in records]
|
||||
|
||||
def export_QA_to_excel(self, msg_id_list, save_file) -> bool:
|
||||
q_list = []
|
||||
a_list = []
|
||||
|
||||
cursor = self.connection.cursor()
|
||||
for item in msg_id_list:
|
||||
# 构建SQL查询
|
||||
query = sql.SQL("""
|
||||
SELECT id, query, answer
|
||||
FROM messages
|
||||
WHERE id = %s
|
||||
""")
|
||||
|
||||
# 执行查询并获取结果
|
||||
cursor.execute(query, (item,))
|
||||
records = cursor.fetchall()
|
||||
q_list.append(records[0][1])
|
||||
a_list.append(records[0][2])
|
||||
if cursor:
|
||||
cursor.close()
|
||||
|
||||
data = {"query": q_list, "answer": a_list}
|
||||
df = pd.DataFrame(data)
|
||||
df.to_excel(save_file, index=False)
|
||||
|
||||
|
||||
def main(arg1: list) -> dict:
|
||||
if arg1 is None or len(arg1) == 0:
|
||||
return {
|
||||
"result": [],
|
||||
}
|
||||
new_list = [{"title": item["title"], "content": item["content"]} for item in arg1]
|
||||
return {
|
||||
"result": new_list,
|
||||
}
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
print(e)
|
||||
ex = ExportMsg()
|
||||
msg_list = ex.export_like_msg_id("de014752-5509-4c9e-a26d-72d7d955f895")
|
||||
ex.export_QA_to_excel(msg_list, "D:\\Code\\PGSql\\like_msg.xlsx")
|
||||
print('Python')
|
||||
@@ -0,0 +1,56 @@
|
||||
"""
|
||||
===================================
|
||||
@Auther:WenZ
|
||||
@Company: BooWay
|
||||
@project:dify_lab
|
||||
===================================
|
||||
"""
|
||||
|
||||
import requests
|
||||
import json
|
||||
|
||||
import urllib3
|
||||
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
||||
|
||||
|
||||
def info_input(input_str):
|
||||
|
||||
# API 端点
|
||||
url = "https://172.20.0.145/v1/chat-messages"
|
||||
|
||||
# 确保 API Key 正确(去掉大括号)
|
||||
api_key = "app-ziMDuhVoATbd5vF3Lb7iyjVD"
|
||||
|
||||
# 认证信息
|
||||
headers = {
|
||||
"Authorization": f"Bearer {api_key}",
|
||||
"Content-Type": "application/json"
|
||||
}
|
||||
|
||||
# 请求数据
|
||||
payload = {
|
||||
"inputs": {},
|
||||
"query": "",
|
||||
"response_mode": "blocking",
|
||||
"conversation_id": "",
|
||||
"user": "abc-123",
|
||||
"files": [
|
||||
{
|
||||
"type": "image",
|
||||
"transfer_method": "remote_url",
|
||||
"url": "https://cloud.dify.ai/logo/logo-site.png"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
payload["query"] = input_str
|
||||
|
||||
# 发送 POST 请求
|
||||
response = requests.post(url, headers=headers, data=json.dumps(payload), verify=False) # verify=False 忽略 SSL 证书验证
|
||||
|
||||
response_dict = json.loads(response.text)
|
||||
|
||||
return response_dict['conversation_id']
|
||||
|
||||
# print(info_input("多个工程需要统一修改定额中材料的单价是否可以呢"))
|
||||
# print(info_input("多个工程需要统一修改定额中材料的单价是否可以呢"))
|
||||
@@ -0,0 +1,2 @@
|
||||
清单计价, 技改, 电缆, 税率, 审核, 统计分析, 设置, 工程精度, 组合件, 线路, 架空线路, 导入, 字体, 取费, 材料表, 运输, 信息, 迁改, 消耗量, 项目, 更新, 备份管理, 建设场地征用费, 调试费用, 全费用综合单价, 行业清单工程, 锂电池, 拆除工程, 许可证, 清单消耗量, 社会保险, 调差, 设备配送费, 软件申请, 配网, 电力, 预算, 报表, 页眉, 运输方式, 资源管理, 增值税, 保管, 匹配, 跨越, 损耗, 材料, 金额, 设备, 价差, 监造费, 合并, 调整, 勘察费, 固定综合单价, 主材设备互转, 取费表, 变更, 技术经济, 模板, 经济作物, 生成, 转换, 工程审核, 迁改费用, 安全文明施工费, 表单, 删除, 运距, 备份, 贷款利息, 项目划分, 定额, 物料, 计算预览, 刷新, 施工总承包, 汇总, 储能电站, 设备类别, 规费, 分类, 隐藏, 其他费用, 密码, 建筑工程量清单, 修改, 计算, 钢筋量, 国网2023规范, 合同价, 分析, 批量, 费用模板, 设备性材料, 工程调差, 物料库, 公路, 工程加密, 工程, 市场价, 计算式, 打印, 输电线路, 格式, 混凝土, 输变电汇总, 主材, 综合单价, 计价规范, 卸车, 页面, 导出, 电池储能, 同步, 编号, 升级, 监理费, 预规, 博微储能, 软件, 限价, 显示, 清水混凝土, 管理, 组合件库, 工程量, 修改记录, 投标报价, 清单, 市场价系数, 施工服务费, 检修, 五金计算, 费率, 页码, 超高, 储能, 可抵扣增值税, 查询, 招标控制价, 预算控制价, 增值, 费率调整, 解锁, 指标分析, 结算价, 供货方, 汇总级别, 页脚, 添加, 统计, 工地运输, 工程费用, 定额调整, 清理, 材料暂估价, 设计费, 参数, 造价, 土质比例, 铁路, 泵车浇制, 服务业增值税率, 组件库, 住房公积金, 输变电, 设备暂估价, 施工费, 人工, 文件, 模板参数, 运杂费, 施工, 费用, 应急措施费, 特殊地区增加费, 施工图预算, 估算, 信息价库, 云工程, 比例, 税率调整, 储能计价
|
||||
|
||||
@@ -0,0 +1,295 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "e2b31c11-d818-483d-b99d-6b9c8477dacd",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import pandas as pd\n",
|
||||
"\n",
|
||||
"# 读取 CSV 文件\n",
|
||||
"csv_filename = \"info_dify.csv\"\n",
|
||||
"md_filename = \"output.md\"\n",
|
||||
"\n",
|
||||
"# 读取数据\n",
|
||||
"df = pd.read_csv(csv_filename)\n",
|
||||
"\n",
|
||||
"# 处理 path 列,去除前后 /\n",
|
||||
"df['path'] = df['path'].str.strip('/')\n",
|
||||
"\n",
|
||||
"# 构建树结构\n",
|
||||
"tree = {}\n",
|
||||
"\n",
|
||||
"def insert_path(tree, levels):\n",
|
||||
" \"\"\" 递归插入路径到树形结构,确保相同层级合并 \"\"\"\n",
|
||||
" if not levels:\n",
|
||||
" return\n",
|
||||
" key = levels[0]\n",
|
||||
" if key not in tree:\n",
|
||||
" tree[key] = {}\n",
|
||||
" insert_path(tree[key], levels[1:])\n",
|
||||
"\n",
|
||||
"# 遍历 DataFrame 的 path 列\n",
|
||||
"for path in df['path']:\n",
|
||||
" levels = path.split('/') # 拆分层级\n",
|
||||
" insert_path(tree, levels) # 插入到树结构\n",
|
||||
"\n",
|
||||
"def generate_md(tree, level=1):\n",
|
||||
" \"\"\" 递归生成 Markdown 文本,合并相同路径 \"\"\"\n",
|
||||
" md_text = []\n",
|
||||
" for key in sorted(tree.keys()): # 确保有序输出\n",
|
||||
" md_text.append(f\"{'#' * level} {key}\") # 根据层级添加 `#`\n",
|
||||
" md_text.extend(generate_md(tree[key], level + 1)) # 递归生成子项\n",
|
||||
" return md_text\n",
|
||||
"\n",
|
||||
"# 生成 Markdown 内容\n",
|
||||
"md_content = generate_md(tree)\n",
|
||||
"\n",
|
||||
"# 保存到 Markdown 文件\n",
|
||||
"with open(md_filename, mode='w', encoding='utf-8') as md_file:\n",
|
||||
" md_file.write(\"\\n\".join(md_content))\n",
|
||||
"\n",
|
||||
"print(f\"Markdown 文件已保存为 {md_filename}\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "796cc4fe-4912-4cdc-9b80-f217f46b5487",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import re\n",
|
||||
"import pandas as pd\n",
|
||||
"\n",
|
||||
"# 读取 CSV 文件\n",
|
||||
"input_file = 'info_data.csv' # 原始 CSV 文件路径\n",
|
||||
"output_file = 'info_data_cleaned.csv' # 处理后保存的 CSV 文件路径\n",
|
||||
"\n",
|
||||
"# 加载 CSV 到 DataFrame\n",
|
||||
"df = pd.read_csv(input_file, encoding='utf-8')\n",
|
||||
"\n",
|
||||
"# 检查 'title' 列是否存在\n",
|
||||
"if 'title' not in df.columns:\n",
|
||||
" raise ValueError(\"CSV 文件中没有找到 'title' 列,请检查文件内容\")\n",
|
||||
"\n",
|
||||
"# 定义正则表达式:匹配括号及其中的内容\n",
|
||||
"pattern = re.compile(r'[()()].*?[()()]')\n",
|
||||
"\n",
|
||||
"# 遍历每一行,处理 'title' 列\n",
|
||||
"def clean_title(title):\n",
|
||||
" # 转换为 str 并删除括号内容\n",
|
||||
" cleaned_title = re.sub(pattern, '', str(title))\n",
|
||||
" # 去除多余空格\n",
|
||||
" return cleaned_title.strip()\n",
|
||||
"\n",
|
||||
"# 更新 'title' 列\n",
|
||||
"df['title'] = df['title'].apply(clean_title)\n",
|
||||
"\n",
|
||||
"# 保存到新的 CSV 文件\n",
|
||||
"df.to_csv(output_file, index=False, encoding='utf-8')\n",
|
||||
"\n",
|
||||
"print(f\"处理完成!已保存到:{output_file}\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "cf63d138-4d16-496a-ad3c-5d67008412f6",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import pandas as pd\n",
|
||||
"\n",
|
||||
"# 读取 CSV 文件\n",
|
||||
"file_path = 'info_data_cleaned.csv' # 请替换为你的 CSV 文件路径\n",
|
||||
"df = pd.read_csv(file_path, encoding='utf-8')\n",
|
||||
"\n",
|
||||
"# 检查是否包含 'path' 列\n",
|
||||
"if 'path' not in df.columns:\n",
|
||||
" raise ValueError(\"CSV 文件中未找到 'path' 列,请检查文件内容。\")\n",
|
||||
"\n",
|
||||
"# 将 'path' 列按 '/' 分割,并展开为多列\n",
|
||||
"split_columns = df['path'].str.split('/', expand=True)\n",
|
||||
"\n",
|
||||
"# 重命名列名为 title1, title2, ..., titlen\n",
|
||||
"split_columns.columns = [f'title{i+1}' for i in range(split_columns.shape[1])]\n",
|
||||
"\n",
|
||||
"# 合并原 DataFrame 和新拆分的列\n",
|
||||
"df = pd.concat([df, split_columns], axis=1)\n",
|
||||
"\n",
|
||||
"# 保存结果到新 CSV 文件\n",
|
||||
"output_file = 'info_data_cleaned_split.csv'\n",
|
||||
"df.to_csv(output_file, index=False, encoding='utf-8')\n",
|
||||
"\n",
|
||||
"print(f\"处理完成,结果已保存到 {output_file}\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "7520603c-90cf-4982-9273-2f130614ca96",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import re\n",
|
||||
"import pandas as pd\n",
|
||||
"\n",
|
||||
"# 读取 CSV 文件\n",
|
||||
"input_file = 'info_data_cleaned_split.csv' # 原始 CSV 文件路径\n",
|
||||
"output_file = 'info_data_cleaned_split2.csv' # 处理后保存的 CSV 文件路径\n",
|
||||
"\n",
|
||||
"# 加载 CSV 到 DataFrame\n",
|
||||
"df = pd.read_csv(input_file, encoding='utf-8')\n",
|
||||
"\n",
|
||||
"# 定义正则表达式:匹配括号及其中的内容\n",
|
||||
"pattern = re.compile(r'[()()].*?[()()]')\n",
|
||||
"\n",
|
||||
"# 清洗函数:删除括号及其中内容,并去除多余空格\n",
|
||||
"def clean_text(text):\n",
|
||||
" # 转换为 str 并删除括号内容\n",
|
||||
" cleaned_text = re.sub(pattern, '', str(text))\n",
|
||||
" # 去除多余空格\n",
|
||||
" return cleaned_text.strip()\n",
|
||||
"\n",
|
||||
"# 从第2列开始遍历并清洗\n",
|
||||
"for col in df.columns[1:]:\n",
|
||||
" df[col] = df[col].apply(clean_text)\n",
|
||||
"\n",
|
||||
"# 保存到新的 CSV 文件\n",
|
||||
"df.to_csv(output_file, index=False, encoding='utf-8')\n",
|
||||
"\n",
|
||||
"print(f\"处理完成!已保存到:{output_file}\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "f03c96de-8bff-4b41-933a-9d9775bb7ad8",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import pandas as pd\n",
|
||||
"\n",
|
||||
"# 加载CSV文件\n",
|
||||
"file_path = 'info_data_cleaned_split2.csv' # 请修改为你的文件路径\n",
|
||||
"df = pd.read_csv(file_path, encoding='utf-8')\n",
|
||||
"\n",
|
||||
"# 定义新列名\n",
|
||||
"new_column = 'Previous_Row'\n",
|
||||
"\n",
|
||||
"# 初始化新列\n",
|
||||
"df[new_column] = None\n",
|
||||
"\n",
|
||||
"# 遍历每一行\n",
|
||||
"for i in range(1, len(df)):\n",
|
||||
" # 检查每一列是否为 NaN\n",
|
||||
" if df.iloc[i].isna().any():\n",
|
||||
" # 将前一行的内容放入新列中\n",
|
||||
" df.at[i, new_column] = df.iloc[i-1].to_dict()\n",
|
||||
"\n",
|
||||
"# 输出处理后的 DataFrame\n",
|
||||
"print(df)\n",
|
||||
"\n",
|
||||
"# 如果需要保存结果到新CSV\n",
|
||||
"df.to_csv('info_data_cleaned_split3.csv', index=False, encoding='utf-8')"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "5838e3fb-0546-4433-aa82-0ed367ad05e0",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "5f91c155-92b7-4c82-863f-6c942e8df58a",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 2.20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 12,
|
||||
"id": "c708560b-13c7-494e-b6fa-96c038ae36f5",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"synonyms_file = \"synonyms.json\"\n",
|
||||
"with open(synonyms_file, \"r\", encoding=\"utf-8\") as f:\n",
|
||||
" synonyms = json.load(f)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 16,
|
||||
"id": "2f6e0cc6-7d6e-46cd-a2bc-561fb193ae92",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"synonym_to_standard = {}\n",
|
||||
"for standard, values in synonyms.items():\n",
|
||||
" for value in values:\n",
|
||||
" synonym_to_standard[value] = standard # 反向映射 { \"表单\": \"报表\" }"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "4199840f-1d36-4328-969c-f973103b437e",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "122c3629-ffb1-4deb-8df1-4be71baf82d0",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "7e88830a-663e-44b6-9b4d-452ac174e046",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "e5273065-8470-4a77-8e5c-2cca33cf2e5f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "dify_lab",
|
||||
"language": "python",
|
||||
"name": "dify_lab"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.11.9"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
@@ -0,0 +1,441 @@
|
||||
d0369d15-d253-4145-9602-bf6b0e569702
|
||||
18029854-ab4a-4690-a472-9829f1928973
|
||||
ee4ee32f-9934-458a-a39b-11cd8cb58e09
|
||||
19c625da-37a4-407e-afef-af65eb597b54
|
||||
664f26bb-cf00-4451-8f0f-4f681d0467dc
|
||||
31b2818e-8b80-472a-90f6-d31460d7dde7
|
||||
b53dc306-6a0c-4282-963b-e42fea08a3b4
|
||||
8a57d156-99be-423e-964b-15b4887cfc0d
|
||||
37cf1ef5-0712-4529-ab51-26ef0f7854b5
|
||||
196a52c8-bfcb-49e9-bc34-4b1ebe487c27
|
||||
ae04ccee-7b70-4f32-bef3-3877a66158d1
|
||||
e43ea3c1-65a0-40ba-a3ac-2e44b331b5cb
|
||||
808765cf-f424-4c41-9cc7-983594e4cb85
|
||||
a5b94380-b4f9-4be5-9b0b-8eb4f8f39553
|
||||
ed554c95-2cb4-449f-8622-432c975c6b44
|
||||
2dff208a-e909-476a-a152-737c8ab613f1
|
||||
5c7f8af1-d560-4b98-828c-ba11fc55bb6f
|
||||
d5b05fc3-a24c-4149-ac92-1feb3ac06a7b
|
||||
d9e76e20-b017-408c-a425-85c0f023a58a
|
||||
325a853d-93fb-4e9f-9eba-db08cb777f42
|
||||
ca92a77c-d19c-4b71-8eb6-7f836aff3daa
|
||||
d49f60b1-f780-41c3-b176-138bcd120e62
|
||||
28f0c17f-5bb1-4a71-b07d-44716f594c26
|
||||
82fcc53f-9638-4f2d-81f6-b50b2500fe26
|
||||
55477319-b092-43b5-a1dc-d892991e4cdd
|
||||
c6cf2912-f670-4b4a-9a48-e4815ab6df3d
|
||||
ad0ff32d-4be4-4734-9dcf-068661babef0
|
||||
24811a53-68bb-47b9-b521-fddb80ca3b23
|
||||
97acf39a-76a5-4097-9552-1b750315a36e
|
||||
8e408ff4-bd34-4787-aadf-97b8fdd41378
|
||||
9fb79f6f-1b83-480b-b088-50a3e38bd06e
|
||||
23793f4e-732b-435f-aa51-029314bc6d1b
|
||||
2158079d-3a46-4a59-bda8-b7a9f790e068
|
||||
cadca83e-20c7-460e-873e-df791121b5fe
|
||||
80154dd6-8e62-4a39-b210-4545c3d1a121
|
||||
69d99d72-f4f8-47cb-a34b-d22cfa35c381
|
||||
8f1c18df-a59c-428a-b0ad-95ff698b34e8
|
||||
4224d229-d84b-45cc-bf07-b9144ab85b4d
|
||||
9d0fe1ed-cc2b-4fd4-b171-c430ac22955f
|
||||
5393d050-f873-45ff-9fc9-be3c058bf81e
|
||||
ec2563ef-21c6-4ac2-bba0-40b5e5f8e085
|
||||
326ebfe2-76c3-4653-a214-2a6983d992ad
|
||||
e4cf9794-e8d4-4eb5-a6f0-3114c0851539
|
||||
2da1b373-7500-46e2-80cd-dc96e00123f3
|
||||
ce0e8610-4e24-4442-a008-087ca0348cde
|
||||
57465182-d89e-44f2-8a7d-f56ed7edafa2
|
||||
ab51c34d-7d2a-4495-9d46-06b284031291
|
||||
3d425f5a-eb29-42d6-8568-6666f31cca94
|
||||
765f4020-3d8f-4594-ba67-534d103e5ca4
|
||||
db02acc2-efee-40eb-be51-e0cda52f5c48
|
||||
7363a712-9b73-47ba-85fa-d64fb6956b34
|
||||
56c5856f-b0de-48af-8d8b-ea2285cf9480
|
||||
35f33074-57ba-4bae-ae6a-69ef6b155e3f
|
||||
5c773f50-03b0-4283-affb-ff66cf2e60b3
|
||||
ef78199d-d19e-4907-aa6d-9c05b23010c7
|
||||
4e4a7d18-673c-4ab3-9806-29f4072883b8
|
||||
30971e2c-42a1-4daa-a936-de652478337b
|
||||
95471a7e-8d93-43d9-813b-25396af40e90
|
||||
78a5c788-cdf6-4edf-94fc-060262df3f7b
|
||||
4123c61e-0cd2-455d-a47b-34028044112d
|
||||
e2d7aa26-2dc4-404e-b04f-feb3fb74bee7
|
||||
4c88fd6f-85dc-4f14-a53e-90178d58d159
|
||||
2d145c43-320b-45f4-8fdd-85ca667fee03
|
||||
8ade9a72-0ad4-4cb5-b6b3-94ccfd84c75f
|
||||
d7627ff3-2631-47fc-8587-3ebb966b8dc0
|
||||
348cbb07-ac51-42c1-b2d7-9f62a16f6e44
|
||||
eb9f798e-5037-427f-a6e7-4f99e16eb77e
|
||||
f580fc6f-c395-423d-8c2b-56fd091dec02
|
||||
e672c95e-c8ef-473c-9fef-cc6bbf62adbf
|
||||
bb9354e0-cc2a-4313-a848-44ae5d21170a
|
||||
21e5b255-6579-422c-81a8-44f047a4c038
|
||||
b4acfe9b-ec3b-4be6-b6e0-329e14a70efb
|
||||
39a95292-0c49-465c-8f62-783719c3b961
|
||||
5cb49b96-c897-4c74-b5e2-95652e50af61
|
||||
248e139e-5aa1-423a-9262-66838c8399d5
|
||||
c9d76601-8a1f-48b2-88ae-5d1e14a45744
|
||||
8281c84b-42fc-4e44-ac5c-4dd8d01854eb
|
||||
ca8fc70b-7b90-40bd-82a2-5ec78cda7804
|
||||
76c116fe-8945-4c08-886e-2910ded66c64
|
||||
689ed3aa-e724-4cc1-b661-c20a307d1a7d
|
||||
8ad2c706-6ffd-4c09-90e6-0a604402834d
|
||||
a3082758-1293-4aab-93d1-661024335dc7
|
||||
a48abdc4-ee68-4147-a997-2ff0f029bcd0
|
||||
bd04889a-1a78-43d7-9019-bbd6999e7084
|
||||
8d2fffec-6dcc-4e23-869b-8e0246de6ea0
|
||||
b0be2218-9cb9-42fa-b748-c6786bfe8c36
|
||||
e087504c-8ded-4b36-834f-3937aa6189f2
|
||||
be55b648-b419-476d-a255-921f06209f49
|
||||
202cff0a-6120-4f63-a459-1eeb4c7c336d
|
||||
ad5216aa-48fd-40ce-8a7c-e135b72a7160
|
||||
f028924d-208f-4533-8000-687ae1778d06
|
||||
f0ef075e-4a23-4929-a49d-9e7e5337b228
|
||||
1102d13c-bd21-4461-b990-e25aacc20e33
|
||||
420b1ad6-a2b7-4927-a2c0-b19c47092dbf
|
||||
1594fd3d-32ec-4bf9-b711-7c116dfbc286
|
||||
d4394716-abce-4c0b-aa16-95730a3ec5f7
|
||||
aca6cd34-ff12-4cb5-bcba-83e692a61d03
|
||||
26b5046b-51b8-4937-bcdd-60d81c7cec97
|
||||
ef412e6d-3721-4aa3-b2ca-9cd9020e676b
|
||||
9a5bbdcb-8109-4673-b360-0b6487bda6f3
|
||||
179b9b24-3a77-49a1-bbab-23126dbe6c17
|
||||
bb5494bf-2280-4964-a3a3-ba6d60d1741b
|
||||
fa8d0f07-ee02-4c14-94e6-d4cc4eabe44a
|
||||
4af23d3c-65b5-4624-bf5e-f0a30b49f29f
|
||||
5190cc9f-c441-4bf5-8074-1a558db564cc
|
||||
79518452-7d09-4717-872b-0fbad9b3423b
|
||||
896e2cf0-ee33-4c14-a315-f24e8ea51630
|
||||
87e683f7-16de-4919-9bbb-3a636fb079aa
|
||||
00235513-4f02-4591-a10f-db5ee9c13d19
|
||||
1ae6b07a-10e3-4af0-942b-095ccc5b7d2d
|
||||
614164d8-bc1c-45b8-b5f1-7fa4feba3db8
|
||||
83a18c7f-983c-411e-82be-3cbbffde0d3d
|
||||
cee8cbba-2ac3-4b46-bb4a-53e83b1a463b
|
||||
fbdc354d-0447-4e38-b923-2e3d64827c21
|
||||
d5b65458-dbe0-47b2-b773-a7c615dd6695
|
||||
652239cf-a7ab-49ee-ba3c-ae5da0ff6158
|
||||
31fdf585-dd5e-421c-8b71-b4ac96385a34
|
||||
906a964e-bb27-439e-a6ca-d69ca746f214
|
||||
2a60ed3c-a52d-4575-84de-795b3c1dd150
|
||||
64e51a9a-e3b8-4392-a674-1b9bb4eead45
|
||||
0ca4f4f1-fb48-4299-826f-a069ed992c32
|
||||
6bd5b1cf-df44-4448-887f-641ef79f7c3d
|
||||
fd6f027d-a121-4cbc-813c-3c398d25abc0
|
||||
fc468c88-47d2-48f4-96ec-b1227d86bf4e
|
||||
fe93a0d3-5787-400d-9e07-ee25ad84ae32
|
||||
549c50ea-4460-4b3e-88e9-0888df390a49
|
||||
eb215fd8-1bf2-4dd8-abca-58f6dd01c8ac
|
||||
81ccbf4d-8ffb-4da0-a7de-556fb9763ee9
|
||||
d6874b8b-f7f5-4c72-86bb-9819d9a74a68
|
||||
257a9f97-f14f-4689-8d4f-042127d6f10d
|
||||
25add8c7-1fac-4f77-a918-91038bc723ce
|
||||
fb270bb0-09d9-49b2-bad8-e70888aae82d
|
||||
46713dd6-bea9-471d-806d-1bb38631cc2f
|
||||
86e7cf08-2019-412a-be38-e2d5d9ed94a1
|
||||
e39e8d6c-a85f-4268-b586-4840e144178c
|
||||
9e5fd306-05af-4101-b1f4-cd7553a16808
|
||||
a48561fa-907a-4916-ac4b-5d641f8805a3
|
||||
4f2b2280-3a16-4380-b323-e79971dd7d0f
|
||||
417c81ee-ef55-4b3f-86ba-d2bccc7b36b4
|
||||
5d65ecca-5ffd-495c-a7cc-066761b96301
|
||||
817fe65c-4828-4222-a44f-f696cb2b2cdc
|
||||
5c5bf073-174a-43c6-b401-743322a9ef1e
|
||||
eb537d4e-55f0-41f2-8636-3d571a6fa331
|
||||
9b46d796-dadc-4e59-97b5-b8c21f877c4d
|
||||
389f387c-4b77-44d1-a262-2a6a4e31bb45
|
||||
58857488-fb47-48b9-9039-c28c93b43c99
|
||||
7ec6a2ac-0414-4cce-adfd-2808545f7d27
|
||||
ae2c7997-c16c-4f40-9037-615fdfae852c
|
||||
4f3b650d-cb61-44b5-a611-d907cf56a210
|
||||
14fed434-4806-41e0-a935-e74be3512660
|
||||
febc3586-bcbb-4417-98d5-66d8dce2d30c
|
||||
fdef0a02-f996-48c2-b15b-0bccbe53acad
|
||||
21b435af-a4ab-4165-b3f5-da0d37fe4812
|
||||
42ca21a7-b679-4ca3-ab20-e15dce9a0e5c
|
||||
e7584381-b093-407c-adbc-6a25ba7759d6
|
||||
f17778bf-087a-43c2-979d-d36b56d298a7
|
||||
b2102504-8990-4aff-9703-1c61e45a257f
|
||||
cad9f667-fa47-482d-a843-7f6c5cb1cf70
|
||||
be2a1ea6-529e-4210-a141-382fce6609b0
|
||||
a0209cbf-23ed-4771-bd8d-10ef56995825
|
||||
e82cfeda-9b4a-4140-9f6e-e0b2f9d115b9
|
||||
3b7df38f-746d-4fc4-b401-fd904ef81d89
|
||||
bec2694f-4be4-43ea-b2af-28134f765d61
|
||||
7b91071a-ec3e-409a-806f-18eb16303b3b
|
||||
f3442f6a-d4c5-45e3-b61c-9677958a0469
|
||||
65c33e78-23c9-4b54-a119-d3d7631b810d
|
||||
dc66a039-fe55-49eb-bad2-80cdde2c42f3
|
||||
584edf9a-2df7-4ffb-8e49-7c15e3181e1a
|
||||
f8e8d517-5d76-480d-80be-695fc07bdb3c
|
||||
ff60770d-b556-4cf6-9e8e-09673e10f8ec
|
||||
a911cbbd-eb78-47f1-be3f-bea4a2055109
|
||||
628fbdc8-8917-45a3-a2ab-20ef3092523c
|
||||
6fd5e9f6-d8a0-4238-9870-4292abd9eedb
|
||||
931c0e78-35c5-4fc3-a079-23a2a70ee9ec
|
||||
bb278688-aa52-43a2-ac44-8d27d934e0a3
|
||||
ded99b2b-90a2-4d5c-9137-e06e2ae809f2
|
||||
e0058e0e-f1c5-4daa-ba26-10a1471a1be4
|
||||
0345f2b3-a6e4-4c47-88a9-e291f24f63eb
|
||||
d7eb12d3-39be-4104-a35d-73c41701582e
|
||||
3c6bf0a4-edc3-4711-924e-b05da900c581
|
||||
e4e8d500-e6e7-4bb3-abf9-553c736688cf
|
||||
7d9c1eaf-4658-483b-b872-b4c1fb31378d
|
||||
c0e0beba-29d2-4d7c-86b1-b679d463c430
|
||||
3d74e8e5-1c82-453b-883b-373aa8b43304
|
||||
56dc2047-898a-4fd2-8856-d7994e10339c
|
||||
408cfe56-8e3d-4b0f-846a-0746e4eb14f5
|
||||
06b97953-a4d9-4d3b-821c-6ee525706d51
|
||||
4aecaa73-950e-46ab-ad52-6495a0cc26e6
|
||||
90a2624a-5365-444c-943c-7163f43183cf
|
||||
db400ef3-c974-4e5a-aaa0-e3d1718b657d
|
||||
ca9dfd7a-832f-4888-9416-74953e47960b
|
||||
6e714b69-2d02-4a11-b04e-6a72057f8b04
|
||||
6d44bede-24de-4244-a984-d8601d3d1596
|
||||
062c83d5-8180-47d1-b9ca-433461e5259d
|
||||
423f5c43-b349-415d-a861-6ac558c764f9
|
||||
757b01fa-bc4e-4feb-84c3-ed09c1ed3eef
|
||||
f37bddaf-a028-4bb3-9031-83f7269690fe
|
||||
63244d62-99dd-4652-87b5-40347c6da3a6
|
||||
181f6bce-efb8-4b21-a9b7-646502bd5342
|
||||
27d53909-40ea-4e74-af3f-8f0dc7858bf5
|
||||
5af834f7-b82f-4c47-9e22-cff09718aa7f
|
||||
582bb110-4c07-4ea1-b87c-371df6b6a2ba
|
||||
3a3d25fc-cc39-4172-bc6d-359446406899
|
||||
4f573fb3-9ce5-40ce-bf70-7f35e3635f86
|
||||
5e9c9fb1-4f1b-45dd-bff7-d130a847dd26
|
||||
56fe5603-3acf-4088-ab0f-f5b321e5e8e1
|
||||
c71bdd6e-083f-4ebb-b3e0-14065ee3d998
|
||||
4318d1bb-6b6e-45cb-8235-50b3032c74d0
|
||||
ea7aea43-5420-4cea-9381-98e69c1eeff1
|
||||
6f82d565-b937-4b41-806c-419c4f5afa15
|
||||
86447bd9-0f6c-46bf-9ca2-0b2b501792b1
|
||||
80e36a66-bcd9-490d-8924-d4fe8219e638
|
||||
d9be8e27-87e0-4128-81e0-179d7dfe7476
|
||||
25c20bbb-11ac-456d-bcc9-d42707979b81
|
||||
003fb98c-744e-48f6-bc71-1af624524d8b
|
||||
346940a8-953a-4288-b851-03845c6ef374
|
||||
68e13e53-0dc1-4704-acda-9931c8b139fa
|
||||
48fbea63-6cf5-46b4-911d-b75b6527e1b5
|
||||
2a03b815-1462-4b51-bd55-26e13d812f26
|
||||
5532912f-6d9f-4a54-a399-c1d28d1e6e7a
|
||||
eaca5d90-6397-4a44-8483-1f6ee5a1f128
|
||||
2557bb5a-6962-40e7-8861-ff1f4671e95e
|
||||
98c9cc38-d3bb-4db7-8aa1-2349a0ef8efe
|
||||
41c9dec9-5f7e-4816-b40d-4a89444ba5e1
|
||||
42a50bd3-6646-4651-a2ea-e3ff9ed90113
|
||||
d6de3227-f693-461e-9043-2ec490c130e6
|
||||
01ba5e24-b56a-4c30-80c9-2daf5d5d4e57
|
||||
10c8ff0f-b825-4d7d-80e1-725635c16059
|
||||
8fea73cd-7ba6-4a8a-be4e-8a629d781b31
|
||||
790d1266-decd-4e71-a995-7f4c13ec8f07
|
||||
c99a5cb7-70f4-4540-a840-3622354c607c
|
||||
314f532f-cc0b-4af7-93d6-a00c6d24379c
|
||||
c5332cf2-8130-4e17-ae47-844ee4e3f47a
|
||||
05611430-217e-49d3-861f-3a8915c7ea3f
|
||||
2914f17e-9f93-4da0-9a34-b15c8ccf4137
|
||||
3a85b346-1a12-463a-b6dc-d7784c051623
|
||||
c8f608fe-10cc-4fcd-8eac-f732a6bb6377
|
||||
37a890b4-69b3-43b9-9b9a-937bca09fe75
|
||||
f4669c65-c4af-459c-a7d8-e941c0fddb7e
|
||||
157e852a-4db5-4e1a-9196-3b949ae8ffef
|
||||
67d208ea-3fc6-47aa-be38-4a5239d47bda
|
||||
da920819-421d-4971-aa8a-47dd7b97719e
|
||||
d56ef45a-8799-4a94-aecf-f01e1e731f95
|
||||
634be1db-15fa-40f8-a3f7-6eb797495385
|
||||
fcac387f-9198-4f50-9e01-34e3cb9a710f
|
||||
31181838-da43-41c7-80df-ccf4ca4fe6be
|
||||
01fcb94e-997a-4823-97ec-0af80ece7788
|
||||
205cbb2b-3e0c-42ce-a056-ab57b99d720d
|
||||
c05f7c63-cdab-49d7-9344-2f13d4804d82
|
||||
3616dc1f-5263-48eb-a72c-f94be077dbe4
|
||||
7f977683-36c0-4183-a187-0bb747720bbc
|
||||
31a4d452-b23f-4f37-b2cb-8b659aee4a2f
|
||||
bd625689-2601-404d-abf4-20511cdcb2f7
|
||||
a60e9b27-bb50-455a-bee8-63b171dd712f
|
||||
8954ec6b-a34c-48b4-b03a-dd0a43ed1748
|
||||
070534fd-031b-4a5d-836b-56499dbb354a
|
||||
cdaada11-d68f-4c9d-b71f-d73adcf7b839
|
||||
a9807f0c-e28c-4172-b88c-7e20c09b08aa
|
||||
bb7e07d4-fce1-493c-88f6-e0c3cfaf6347
|
||||
129020e6-df41-4bf2-94ce-0710925aeff2
|
||||
f5e13f61-816c-4b68-ba68-d7a7a360721e
|
||||
20d10002-e9f0-435e-b3e9-05a41718505d
|
||||
beb3135a-615d-40eb-9fd4-d3155dd15835
|
||||
6c571fff-ebe0-4203-b54d-85b794776f3b
|
||||
5c1819b2-2734-4b3d-aff7-57199e3f9c0a
|
||||
4658a37e-952c-4117-8674-10b31d8cda98
|
||||
69139b58-5efa-40f2-a490-4ad56aa3a0a5
|
||||
3a908824-c383-42e2-8e46-61b11b5f1a7c
|
||||
18a4121b-511d-49d2-89a1-fee8f843af9c
|
||||
ea6ecbf8-e9ca-4d9b-a0fc-ce626af55960
|
||||
ff9f61a8-b511-4050-8ae9-9f1c9755b712
|
||||
10ab67dd-214a-4358-9cd9-15c174d6d824
|
||||
1c098581-744c-4d7a-84d9-7c0f1e440afe
|
||||
5e2f036a-cac0-433f-9465-a018951a4579
|
||||
353aef73-fb43-47a1-bd18-4840f241254d
|
||||
52199a90-57aa-416d-8fcc-dc625e47dd60
|
||||
615ffa8c-c618-454e-9542-2b8903393a32
|
||||
6c832574-3de7-4d2c-9440-b25637af7877
|
||||
921c4b58-c85c-4d06-9292-7746ac1ff7fe
|
||||
78dfc8e8-ce40-4b82-b7d2-b0cad73e91a2
|
||||
988b10be-27a5-4690-bffd-dca42e9a6b21
|
||||
c6d9a1c4-fa6c-4d36-bb0b-582fb63dec3e
|
||||
f86676f1-6b8c-4045-984d-71b8ab83629a
|
||||
8d0caebd-c615-42eb-afb7-e177994aec9e
|
||||
c42de5bb-0c79-4210-9eb7-6afdbc51cea8
|
||||
390739f4-cc37-4de8-b192-199560930d0d
|
||||
73fc4983-1b5a-4e0e-91db-f54ff5b59e32
|
||||
b7fbb359-fbac-41ab-b48f-ca6764cc86d3
|
||||
3910c36b-4e62-473f-94ab-b3df4d2e1562
|
||||
563c39fb-7cec-42f5-a0c4-d6d44c2007d1
|
||||
259d2651-e506-41be-a33f-d907af6d2328
|
||||
73d6f40d-d2ab-4ce2-aa6d-a3791ad6fa3e
|
||||
ae803e91-cf1d-49ed-bec7-2bf50d478c83
|
||||
2cf39547-b572-42b2-a2cc-4e3f100d8813
|
||||
d18f2802-8faf-4180-ae8b-31c6d7084e32
|
||||
21bdcdf0-d4ef-4a8d-b61a-b6d94b92b7e3
|
||||
24583d1a-7c48-4ba7-a8a6-3a5af7b62f03
|
||||
00b45041-8c34-4021-83de-108fc79a0e6d
|
||||
cd9c7811-dec1-417a-96fe-6771ba7e9e84
|
||||
d6939938-81b0-4d77-8e77-361db0d00f73
|
||||
f61ea806-5ebd-4293-9fae-f1dd93c6c245
|
||||
2bfd0976-4059-4e11-b807-748092701c05
|
||||
ed082668-ff1b-4ff2-bd6b-e5d6a900cff7
|
||||
c02cb5f3-7746-4614-8afa-db7d0a6252e9
|
||||
c2675ee6-0c51-4fbc-8193-505f0375c22b
|
||||
3128dd78-2174-4e7c-9b65-513bba4f4de7
|
||||
09dfb2fc-7230-40e0-ac58-c7a61ed2eb93
|
||||
727ca945-d962-4001-ba85-cd15bb71911c
|
||||
7d20e74b-5648-44bd-994a-d4b48c811502
|
||||
309c8c84-cb5e-45a5-baee-3242c70044ea
|
||||
49c6a6f9-4546-4b63-80c9-446f9d099adc
|
||||
037599ce-e548-4fd2-97f0-c7718d4f5b0d
|
||||
093e68d1-3121-4de4-b045-207fd5ea593c
|
||||
ea6acd7a-5301-4591-90a1-08c478c753e1
|
||||
fdcfa500-2ff4-4954-8470-b914ff674bcd
|
||||
13bd19c4-e8bc-4928-9d8a-529c9efbc105
|
||||
334ab8bc-9cab-4bbe-a99f-60b8921f9425
|
||||
a549e5dd-2e89-410f-8db2-fbc4c1e7b809
|
||||
6bdffafb-8653-4c94-bc32-5156eb9a1e2e
|
||||
79c3511c-443c-4c01-9f32-b28790416324
|
||||
81e9b592-f360-46ce-996d-250f4cbf09c5
|
||||
a0e91035-df1b-4d70-ae7b-6fa396a63d03
|
||||
9ac79064-bdf2-4481-bcdb-da2660eb64c5
|
||||
3eac01d8-caaa-48a1-b444-df33519cbb15
|
||||
03fc36d6-c9f7-4e95-9b1f-0f1e3f4199bb
|
||||
cb738e51-6acf-45a0-97ae-941b6629bc76
|
||||
616016c2-217e-4a2e-a38f-1cba1a37bb7f
|
||||
be770126-cfbc-4bdb-9867-89f7e1ecf84b
|
||||
9aee2109-7609-42be-9753-09a61a2703c4
|
||||
8a533dba-a3bb-4687-9504-fec345c6b44f
|
||||
6aded4d0-792e-48fd-943d-3b767cb1a1c1
|
||||
8ab380fd-1211-41b8-a5ed-4d59dcec1739
|
||||
337a389e-eb56-47d7-aa3d-55a417d40a60
|
||||
b483f28e-065e-4868-a5c1-97fcf7259975
|
||||
cbc7b7c6-e1df-46f8-9c1f-067e9d068a2c
|
||||
fee9021a-9ae7-41e0-bfc8-38e2f947ef31
|
||||
3f492562-9260-4234-83f0-8cc2793a0180
|
||||
0c5869ba-7738-41de-884d-5bfe28595ad9
|
||||
4fd1224e-6129-4349-917f-32fcffadeeec
|
||||
a2d2d468-6646-441a-af64-57b50a32d9df
|
||||
a0a592da-8e55-491c-8cee-50524d7dcbd9
|
||||
cac9a838-175c-47dc-8a5d-3814d1522d27
|
||||
382c27a4-d7da-4249-9dbb-63a83f6c1f52
|
||||
3b8b3585-a060-4dd1-92d9-30ebbe29a50a
|
||||
28fc5bdc-33bf-4df2-aded-dd9c75fd8208
|
||||
3ca9322b-3a87-4558-91f9-cecbfde2ab94
|
||||
dc055225-a985-43e8-ba69-0c46cafd099a
|
||||
85455c5d-ad2f-4e56-8871-73927b65c246
|
||||
d74140d3-eb57-477b-a803-afd47c04e137
|
||||
89207279-3966-486f-b65b-371f9a5539d4
|
||||
8f3c8487-8b67-4593-95a3-a2ee462c2bff
|
||||
1822fdfb-a9ec-40b4-b023-2afb6dc7d9d2
|
||||
77ab87be-85ea-44a9-be2d-6498104652b8
|
||||
53b00c62-cd37-4ea6-9dac-27e1f3f8101c
|
||||
31dc049e-2909-4d0d-9570-d7dedd92ab92
|
||||
ef1e5f65-db44-4d02-937c-4ff7a39cedc1
|
||||
ecb0d5bc-36dc-485a-a158-a1a3b595d560
|
||||
4063aca1-28e9-4e82-88f0-d75426264944
|
||||
ebb82c59-09ba-4c37-94f4-85be70db1379
|
||||
e60471eb-5577-4b4e-aff6-5d858fb8428a
|
||||
fd5640f4-4f11-44f8-8bf2-53cb6a6065ad
|
||||
79e58ddd-f113-4360-9038-b6f157751571
|
||||
700685e9-3a08-4a1e-a9ea-e500a78bffde
|
||||
142164e0-ab18-4222-9340-825ad191edf5
|
||||
9a4482a4-858c-43ac-aab2-86ff863549fe
|
||||
45d4fee3-a569-4859-8d33-19087b1e2239
|
||||
431233ef-00af-4f99-833f-635ddcc7839a
|
||||
27a8f7bd-734e-4f10-8f32-a026b09b87c3
|
||||
ccd9e4bb-1a41-4ea5-a824-e90ca3e141d5
|
||||
3dfd93d2-77f8-4b56-9896-3ea75121eb4c
|
||||
40d44188-db10-479d-bae0-e1926e7bd38d
|
||||
9cfc49c2-c7cb-4297-8c28-f3d0c4461ac4
|
||||
c4626e11-4ca0-498d-bd93-bad14fd7377b
|
||||
f80d5d85-775f-4e0c-8fcd-ac07ad70b8d9
|
||||
1909e015-dc65-445d-84ef-51d1ed18c63e
|
||||
2deb46a2-b0db-4474-9e71-7991c4211553
|
||||
16216eee-35be-4799-99ab-5d616ea73966
|
||||
76126880-9093-442b-a260-5f1d0c21fc5f
|
||||
7288f7a5-f329-461f-bfb0-0ca54a769630
|
||||
e26a8c1c-8d13-46cb-b8f4-c59ad0f6831b
|
||||
5174f68e-0ff0-4eb3-a436-69322488ac79
|
||||
6dc7e825-7eb2-4fbd-a410-b2ef7c5df66d
|
||||
3207d292-9fae-4f23-9bc5-eac3fa1c9418
|
||||
3eda814d-f419-44c3-bf4a-c9889eb4a7f3
|
||||
32336f00-6f93-4211-97da-c3745be76af0
|
||||
c6b11e03-5579-4083-9874-f22eac0f9e2e
|
||||
e990a336-e411-48e8-bb17-c41493273c6d
|
||||
41c50bdc-ffbc-4fa6-8043-c7be10cc29ea
|
||||
92b44c1e-b46d-40b7-b44f-bfe4d5be60af
|
||||
9bb9302f-c6fb-413a-ab9e-10202b493392
|
||||
95cd68c3-be40-4ec0-9321-379a4d6aa324
|
||||
d77fd84a-0333-45aa-87ad-9a13fee8855c
|
||||
8e191529-9cc1-4e5e-99b7-dc591fa7c87b
|
||||
18ed97dd-e4c5-4391-9659-c75f988452d0
|
||||
7f0918be-9b0c-4611-8247-1caa5f828160
|
||||
71a41492-941e-4584-93b7-607fec9ec618
|
||||
b06c5997-4c76-495b-ba39-4675d4c17ffc
|
||||
7738fe46-cdf8-47f4-ab55-9631b03ffec0
|
||||
3bb32b59-0811-4094-8e8c-face1ddd753b
|
||||
b09e8441-8bc4-4090-8096-b6ef3128ff39
|
||||
df8b41ec-536b-476b-a728-3080dfc8fa7e
|
||||
da516f6f-5b96-4915-b9ca-37576414030c
|
||||
277636e5-bcfe-41f2-9554-59b065c032e3
|
||||
f7759b18-83a7-49c9-9e46-1dad7446af87
|
||||
bbf1634d-9ff0-4ef4-be9b-1615521b59d7
|
||||
569655a9-3251-4ca7-bb7d-b02af27be2e3
|
||||
14379419-caaa-463f-a5b8-82839f5c1741
|
||||
550081a0-6fa5-487e-9b4e-a1e30005f808
|
||||
c53bba9a-223b-4c73-9cb4-0c437c09fffd
|
||||
060463b9-304e-4950-8884-6dd6214242d2
|
||||
621c16e9-1857-4384-a67a-23e4a445d713
|
||||
d324495f-ef51-4e75-bfa8-098eeee6d696
|
||||
e88ca2e1-de4f-4ada-803d-769501a22c04
|
||||
de1ed77a-c1f1-4a4f-a221-d6170f7c101b
|
||||
fc5ec76e-88fe-4db7-b839-3b0e89f7bf12
|
||||
1148fe68-7008-4bee-9a42-4f8f562ba4b4
|
||||
248dc1ca-6001-4428-85f7-09dab9aa89d7
|
||||
c94c6528-dd11-4b9c-8559-1d256ff8938f
|
||||
c4adc93b-f2bc-496d-b0e9-64bd9fb22703
|
||||
74f81d52-3467-4e26-bcc9-a21898c32e65
|
||||
76941d34-be23-47c3-ae81-b87f1da9e05a
|
||||
03fb90f1-7ab7-47e5-8f40-d3736ec1b621
|
||||
27f2cdcb-54f7-4faf-aa36-0abd20bb0681
|
||||
3a59551e-1107-4a13-891b-a5b1c389d83a
|
||||
3557d35e-370f-4ee2-a33b-41b519ea098f
|
||||
d871811f-676d-481a-bcb1-d33b747ceed3
|
||||
215842dd-b87b-4fe9-8678-ce6d932da45c
|
||||
884703d0-aac1-4b92-bb48-ff299019fcc2
|
||||
04163972-b57c-4d50-a642-7680ebb01fb2
|
||||
6a2fa446-6e27-4e51-8833-5f34f3a0ebcd
|
||||
b3d17404-33e9-4e89-86ef-cd5f669439cf
|
||||
ab4db8c4-f3dd-4413-a1c2-73e1ea5f4268
|
||||
8bb6beec-933f-4077-a66c-d169276c8928
|
||||
1a94c845-bfbc-4c24-a101-dfdea64beb0e
|
||||
25cf0605-6e56-4a03-9824-fe392c79a411
|
||||
be184369-1278-49c1-abe0-d161bb38fbea
|
||||
faaadec1-6fb8-4eee-9ae6-84f6dc1e931f
|
||||
b8bc190d-6133-41c1-84a9-fe1eb9603d52
|
||||
fbd34ed3-e5ff-4626-a7a0-1f94e4ccde24
|
||||
dbcab2d8-69e3-4253-87fb-4ef826ae6a60
|
||||
362de6fc-4891-472b-ab14-3545e2859659
|
||||
@@ -0,0 +1,316 @@
|
||||
import psycopg2
|
||||
from psycopg2 import sql
|
||||
import os
|
||||
import json
|
||||
from datetime import timezone, timedelta
|
||||
|
||||
|
||||
class PgSql:
|
||||
def __init__(self):
|
||||
self.connection = None
|
||||
self.connect_sql()
|
||||
|
||||
def connect_sql(self):
|
||||
try:
|
||||
# 连接数据库
|
||||
self.connection = psycopg2.connect(
|
||||
user="postgres",
|
||||
password="difyai123456",
|
||||
host="172.20.0.145",
|
||||
port=5432,
|
||||
database="dify"
|
||||
)
|
||||
|
||||
except (Exception, psycopg2.Error) as error:
|
||||
print("Error while connecting to PostgreSQL", error)
|
||||
|
||||
def find_rating_by_message_id(self, message_id):
|
||||
cursor = None
|
||||
try:
|
||||
cursor = self.connection.cursor()
|
||||
|
||||
# 构建SQL查询
|
||||
query = sql.SQL("""
|
||||
SELECT rating
|
||||
FROM message_feedbacks
|
||||
WHERE message_id = %s;
|
||||
""")
|
||||
|
||||
# 执行查询并获取结果
|
||||
cursor.execute(query, (message_id,))
|
||||
record = cursor.fetchone()
|
||||
|
||||
if record:
|
||||
return record[0]
|
||||
else:
|
||||
return None
|
||||
|
||||
except (Exception, psycopg2.Error) as error:
|
||||
print("Error while fetching data from PostgreSQL", error)
|
||||
finally:
|
||||
if cursor:
|
||||
cursor.close()
|
||||
return None
|
||||
|
||||
def find_message(self, conversation_id, app_id, output_dir, date=None):
|
||||
cursor = None
|
||||
try:
|
||||
cursor = self.connection.cursor()
|
||||
|
||||
# 构建SQL查询,根据是否传入日期和app_id进行条件过滤
|
||||
if app_id and date:
|
||||
# 如果 app_id 和日期都存在
|
||||
query = sql.SQL("""
|
||||
SELECT id, conversation_id, query, answer, workflow_run_id, created_at
|
||||
FROM messages
|
||||
WHERE conversation_id = %s AND app_id = %s AND DATE(created_at) = %s
|
||||
ORDER BY created_at ASC;
|
||||
""")
|
||||
query_params = (conversation_id, app_id, date)
|
||||
|
||||
elif app_id:
|
||||
# 如果只有 app_id 存在
|
||||
query = sql.SQL("""
|
||||
SELECT id, conversation_id, query, answer, workflow_run_id, created_at
|
||||
FROM messages
|
||||
WHERE conversation_id = %s AND app_id = %s
|
||||
ORDER BY created_at ASC;
|
||||
""")
|
||||
query_params = (conversation_id, app_id)
|
||||
|
||||
elif date:
|
||||
# 如果只有日期存在
|
||||
query = sql.SQL("""
|
||||
SELECT id, conversation_id, query, answer, workflow_run_id, created_at
|
||||
FROM messages
|
||||
WHERE conversation_id = %s AND DATE(created_at) = %s
|
||||
ORDER BY created_at ASC;
|
||||
""")
|
||||
query_params = (conversation_id, date)
|
||||
|
||||
else:
|
||||
# 如果 app_id 和日期都不存在
|
||||
query = sql.SQL("""
|
||||
SELECT id, conversation_id, query, answer, workflow_run_id, created_at
|
||||
FROM messages
|
||||
WHERE conversation_id = %s
|
||||
ORDER BY created_at ASC;
|
||||
""")
|
||||
query_params = (conversation_id,)
|
||||
|
||||
# 执行查询并获取结果
|
||||
cursor.execute(query, query_params)
|
||||
records = cursor.fetchall()
|
||||
|
||||
# 打开文件并写入查询结果
|
||||
output_file = os.path.join(output_dir, "conversation.md")
|
||||
with open(output_file, 'w', encoding='utf-8') as file:
|
||||
for record in records:
|
||||
msg_id, query, workflow_run_id, answer = record[0], record[2], record[4], record[3]
|
||||
|
||||
# 假设原来的时间是 UTC 时间,给它加上 UTC 时区信息
|
||||
if record[5].tzinfo is None:
|
||||
record_utc = record[5].replace(tzinfo=timezone.utc) # 添加 UTC 时区信息
|
||||
else:
|
||||
record_utc = record[5]
|
||||
# 将时间转换为 UTC+8 时区
|
||||
utc_plus_8 = timezone(timedelta(hours=8))
|
||||
create_data = record_utc.astimezone(utc_plus_8).strftime("%Y-%m-%d %H:%M:%S")
|
||||
|
||||
message_rating = self.find_rating_by_message_id(msg_id)
|
||||
if message_rating:
|
||||
file.write(f"## ({message_rating}) Query: {query}\n\n")
|
||||
else:
|
||||
file.write(f"## Query: {query}\n\n")
|
||||
|
||||
file.write(f"Workflow_run_id: {workflow_run_id}\n\n")
|
||||
file.write(f"create_data: {create_data}\n\n")
|
||||
file.write(f"**Answer:**\n\n{answer}\n\n")
|
||||
|
||||
# 调用find_workflow_node_executions函数生成workflow_run_id的md文件
|
||||
temp = self.find_workflow_node_executions(workflow_run_id, output_dir)
|
||||
return temp
|
||||
# print(f"Data has been written to {output_file}")
|
||||
|
||||
except (Exception, psycopg2.Error) as error:
|
||||
print("Error while fetching data from PostgreSQL", error)
|
||||
finally:
|
||||
if cursor:
|
||||
cursor.close()
|
||||
|
||||
def find_conversation_ids_by_message_date(self, date, app_id=None):
|
||||
cursor = None
|
||||
try:
|
||||
# 创建游标
|
||||
cursor = self.connection.cursor()
|
||||
|
||||
# 根据 app_id 是否为空,动态生成 SQL 查询
|
||||
if app_id:
|
||||
# 如果 app_id 存在,查询指定日期和 app_id 的 conversation_id
|
||||
query = sql.SQL("""
|
||||
SELECT DISTINCT conversation_id
|
||||
FROM messages
|
||||
WHERE DATE(created_at) = %s AND app_id = %s;
|
||||
""")
|
||||
query_params = (date, app_id)
|
||||
else:
|
||||
# 如果没有指定 app_id,只查询日期对应的 conversation_id
|
||||
query = sql.SQL("""
|
||||
SELECT DISTINCT conversation_id
|
||||
FROM messages
|
||||
WHERE DATE(created_at) = %s;
|
||||
""")
|
||||
query_params = (date,)
|
||||
|
||||
# 执行查询
|
||||
cursor.execute(query, query_params)
|
||||
conversation_ids = cursor.fetchall()
|
||||
|
||||
# 将结果转换为列表并去重(防止极端情况下仍有重复)
|
||||
unique_conversation_ids = list(set([conversation_id[0] for conversation_id in conversation_ids]))
|
||||
|
||||
return unique_conversation_ids
|
||||
|
||||
except (Exception, psycopg2.Error) as error:
|
||||
print("Error while fetching data from PostgreSQL", error)
|
||||
finally:
|
||||
if cursor:
|
||||
cursor.close()
|
||||
|
||||
def find_conversation_ids_by_date(self, date, app_id):
|
||||
cursor = None
|
||||
try:
|
||||
cursor = self.connection.cursor()
|
||||
|
||||
# 构建SQL查询,如果app_id为空则不包含app_id条件
|
||||
if app_id:
|
||||
query = sql.SQL("""
|
||||
SELECT id
|
||||
FROM conversations
|
||||
WHERE DATE(updated_at) = %s
|
||||
AND invoke_from = 'web-app'
|
||||
AND app_id = %s;
|
||||
""")
|
||||
query_params = (date, app_id)
|
||||
else:
|
||||
query = sql.SQL("""
|
||||
SELECT id
|
||||
FROM conversations
|
||||
WHERE DATE(updated_at) = %s
|
||||
AND invoke_from = 'web-app';
|
||||
""")
|
||||
query_params = (date,)
|
||||
|
||||
# 执行查询并获取结果
|
||||
cursor.execute(query, query_params)
|
||||
conversation_ids = cursor.fetchall()
|
||||
|
||||
# 打印或返回结果
|
||||
for conversation_id in conversation_ids:
|
||||
print(conversation_id[0])
|
||||
|
||||
return [conversation_id[0] for conversation_id in conversation_ids]
|
||||
|
||||
except (Exception, psycopg2.Error) as error:
|
||||
print("Error while fetching data from PostgreSQL", error)
|
||||
finally:
|
||||
if cursor:
|
||||
cursor.close()
|
||||
|
||||
def find_workflow_node_executions(self, workflow_run_id, output_dir_):
|
||||
cursor = None
|
||||
try:
|
||||
cursor = self.connection.cursor()
|
||||
|
||||
# 构建SQL查询
|
||||
query = sql.SQL("""
|
||||
SELECT id, workflow_run_id, node_type, title, inputs, process_data, outputs, finished_at
|
||||
FROM workflow_node_executions
|
||||
WHERE workflow_run_id = %s
|
||||
ORDER BY finished_at ASC;
|
||||
""")
|
||||
|
||||
# 执行查询并获取结果
|
||||
cursor.execute(query, (workflow_run_id,))
|
||||
records = cursor.fetchall()
|
||||
|
||||
# 构建文件名并写入数据
|
||||
output_file = os.path.join(f"{output_dir_}", "workflow_run_logs", f"{workflow_run_id}.md")
|
||||
os.makedirs(os.path.join(f"{output_dir_}", "workflow_run_logs"), exist_ok=True)
|
||||
with open(output_file, 'w', encoding='utf-8') as file:
|
||||
for record in records:
|
||||
id, workflow_run_id, node_type, title, inputs, process_data, outputs, finished_at = record
|
||||
|
||||
try:
|
||||
file.write(f"# Node Type: {node_type}(**{title}**)\n\n")
|
||||
file.write(f"Node ID: {id}\n\n")
|
||||
|
||||
if inputs is not None:
|
||||
inputs_data = json.loads(inputs)
|
||||
file.write(
|
||||
f"Inputs: \n```json\n{json.dumps(inputs_data, ensure_ascii=False, indent=4)}\n```\n\n")
|
||||
|
||||
if process_data is not None:
|
||||
process_data = json.loads(process_data)
|
||||
file.write(
|
||||
f"process_data: \n```json\n{json.dumps(process_data, ensure_ascii=False, indent=4)}\n```\n\n")
|
||||
|
||||
if outputs is not None:
|
||||
outputs_data = json.loads(outputs)
|
||||
file.write(
|
||||
f"outputs: \n```json\n{json.dumps(outputs_data, ensure_ascii=False, indent=4)}\n```\n\n")
|
||||
|
||||
# 提取出LLM的回答
|
||||
if node_type == "http-request" and title == "RagasHTTP":
|
||||
body = json.loads(outputs).get("body", {})
|
||||
answer = json.loads(body)[0].get('answer', {})
|
||||
file.write(
|
||||
f"answer: \n\n{answer}\n\n")
|
||||
|
||||
file.write(f"Finished At: {finished_at}\n\n")
|
||||
except Exception as e:
|
||||
if e:
|
||||
print(f"file write has error:{e}")
|
||||
|
||||
# print(output_file)
|
||||
return output_file
|
||||
|
||||
except (Exception, psycopg2.Error) as error:
|
||||
print("Error while fetching data from PostgreSQL", error)
|
||||
finally:
|
||||
if cursor:
|
||||
cursor.close()
|
||||
|
||||
def close_connection(self):
|
||||
if self.connection:
|
||||
self.connection.close()
|
||||
# print("PostgreSQL connection is closed")
|
||||
|
||||
|
||||
def export_by_conversation_id(conversation_id, app_id: str):
|
||||
pgsql = PgSql()
|
||||
output_dir = os.path.join(".", "conversion_infos", f"{conversation_id}")
|
||||
os.makedirs(output_dir, exist_ok=True)
|
||||
|
||||
finall = pgsql.find_message(conversation_id=conversation_id, app_id=app_id, output_dir=output_dir)
|
||||
return finall
|
||||
pgsql.close_connection()
|
||||
|
||||
|
||||
def export_by_data(data: str, app_id: str):
|
||||
pgsql = PgSql()
|
||||
list_conversation = pgsql.find_conversation_ids_by_message_date(data, app_id)
|
||||
for conversation_id in list_conversation:
|
||||
output_dir = os.path.join(".", "conversion_infos", data, f"{conversation_id}")
|
||||
os.makedirs(output_dir, exist_ok=True)
|
||||
|
||||
pgsql.find_message(conversation_id=conversation_id, app_id=app_id, output_dir=output_dir, date=data)
|
||||
pgsql.close_connection()
|
||||
|
||||
|
||||
# 执行脚本
|
||||
if __name__ == '__main__':
|
||||
|
||||
# export_by_data("2024-08-21", "your_app_id")
|
||||
a = export_by_conversation_id("d0369d15-d253-4145-9602-bf6b0e569702", "")
|
||||
print(a)
|
||||
@@ -0,0 +1 @@
|
||||
pyinstaller -F -w Dialog.py -n Analysis.exe --version-file=version_info.txt --distpath ".\Analysis"
|
||||
File diff suppressed because it is too large
Load Diff
Generated
+7
@@ -0,0 +1,7 @@
|
||||
# This file is automatically @generated by Poetry 1.8.5 and should not be changed by hand.
|
||||
package = []
|
||||
|
||||
[metadata]
|
||||
lock-version = "2.0"
|
||||
python-versions = "^3.11"
|
||||
content-hash = "81b2fa642d7f2d1219cf80112ace12d689d053d81be7f7addb98144d56fc0fb2"
|
||||
@@ -0,0 +1,947 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "d53385f4-0763-4d6a-a3de-4269a044115d",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# 1. 数据读取"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"id": "88be1d08-21a6-4ad5-bdce-d77821cd790c",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import pandas as pd\n",
|
||||
"\n",
|
||||
"def read_specified_rows(file_path, row_index):\n",
|
||||
" if file_path.endswith('.csv'):\n",
|
||||
" df = pd.read_csv(file_path, header=None, encoding='utf-8')\n",
|
||||
" else:\n",
|
||||
" raise ValueError(\"仅支持 CSV 文件\")\n",
|
||||
"\n",
|
||||
" # 选取第一列并转换为字符串列表\n",
|
||||
" selected_data = df.iloc[row_index:, 0].astype(str).tolist()\n",
|
||||
" return selected_data\n",
|
||||
"\n",
|
||||
"# 示例用法\n",
|
||||
"file_path = \"D:/博微知识助手400问分类_2.13.16.33.csv\" # 可替换为 Excel 文件\n",
|
||||
"row_index = 2 # 读取第 1, 3, 5, 7 行(索引从 0 开始)\n",
|
||||
"\n",
|
||||
"result_list = read_specified_rows(file_path, row_index)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"id": "6f208b20-778d-4923-a463-4283bed21160",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"('多个工程需要统一修改定额中材料的单价是否可以呢', '可以导入多个投标报价新建全口径预算工程吗', 444)"
|
||||
]
|
||||
},
|
||||
"execution_count": 3,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"result_list[0], result_list[-1], len(result_list)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "dd23a946-ae58-4ff7-b611-a37c61ca1504",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# 2.prefix_re"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "1ae7e16e-2870-450f-a0b2-8ba2925e1cdd",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 2.1 检测后缀名"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"id": "b7866697-0c75-4abb-aeb2-f467b3eca50f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import re\n",
|
||||
"\n",
|
||||
"def detect_fields(input_str):\n",
|
||||
" # 定义要检测的字段列表\n",
|
||||
" fields = [\n",
|
||||
" \"xzwb\", \"bxqd2\", \"bpz17\", \"zwqd\", \"bwpw\", \"BJGX\", \"bt2\", \"BDQ3\", \"BT2\", \n",
|
||||
" \"gec5\", \"BDY3\", \"dwg\", \"bwpwz\", \"BDD3\", \"bt1\", \"bphq18\", \"zwzj\", \"bczc2\", \n",
|
||||
" \"BPQ\", \"BPY\", \"BDQ3\", \"SXZB23\", \"SXZ\", \"xzwb2\", \"bpz17\" \n",
|
||||
" ]\n",
|
||||
" \n",
|
||||
" # 构建正则表达式模式,匹配大小写不敏感且前面可能带有.\n",
|
||||
" # 去掉 \\b 以允许字段是其他字符串的一部分\n",
|
||||
" pattern = r'(?:\\.?)(' + '|'.join(re.escape(field) for field in fields) + r')'\n",
|
||||
" \n",
|
||||
" # 使用 re.IGNORECASE 标志来忽略大小写\n",
|
||||
" if re.search(pattern, input_str, re.IGNORECASE):\n",
|
||||
" return True\n",
|
||||
" else:\n",
|
||||
" return False\n",
|
||||
"\n",
|
||||
"index1 = []\n",
|
||||
"for i in range(len(result_list)):\n",
|
||||
" if detect_fields(result_list[i]):\n",
|
||||
" # print(i, result_list[i])\n",
|
||||
" index1.append(i)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "5854667e-f149-4eb3-b97b-5daa4056a19c",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 2.2 检测“锁”"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"id": "c3be0a91-2a50-4669-95b4-925d84bbad0a",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def word_query(input_str, target_word=\"软件\"):\n",
|
||||
" pattern = rf\"{target_word}\" \n",
|
||||
" return bool(re.search(pattern, input_str)) \n",
|
||||
"\n",
|
||||
"index2 = []\n",
|
||||
"for i in range(len(result_list)):\n",
|
||||
" if word_query(result_list[i]) == True:\n",
|
||||
" # print(i, result_list[i])\n",
|
||||
" index2.append(i)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 10,
|
||||
"id": "c137ffce-aebe-41bc-afb6-fe31788b35c2",
|
||||
"metadata": {
|
||||
"scrolled": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def word_query(input_str, target_word=\"工程\"):\n",
|
||||
" pattern = rf\"{target_word}\" \n",
|
||||
" return bool(re.search(pattern, input_str)) \n",
|
||||
"\n",
|
||||
"index3=[]\n",
|
||||
"for i in range(len(result_list)):\n",
|
||||
" if word_query(result_list[i]):\n",
|
||||
" # print(i, result_list[i])\n",
|
||||
" index3.append(i)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 12,
|
||||
"id": "b6a68005-ce58-48e3-88d7-dd9564d7a81c",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def word_query(input_str, target_word=\"计价\"):\n",
|
||||
" pattern = rf\"{target_word}\" \n",
|
||||
" return bool(re.search(pattern, input_str)) \n",
|
||||
"\n",
|
||||
"index4=[]\n",
|
||||
"for i in range(len(result_list)):\n",
|
||||
" if word_query(result_list[i]):\n",
|
||||
" # print(i, result_list[i])\n",
|
||||
" index4.append(i)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 14,
|
||||
"id": "1c053ae1-dff0-4ff8-9039-c64d8246e402",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def word_query(input_str, target_word=\"配网\"):\n",
|
||||
" pattern = rf\"{target_word}\" \n",
|
||||
" return bool(re.search(pattern, input_str)) \n",
|
||||
"\n",
|
||||
"index5=[]\n",
|
||||
"for i in range(len(result_list)):\n",
|
||||
" if word_query(result_list[i]):\n",
|
||||
" # print(i, result_list[i])\n",
|
||||
" index5.append(i)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 16,
|
||||
"id": "de72b59d-137e-4507-b91d-776f23f2cd1b",
|
||||
"metadata": {
|
||||
"scrolled": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def word_query(input_str, target_word=\"清单\"):\n",
|
||||
" pattern = rf\"{target_word}\" \n",
|
||||
" return bool(re.search(pattern, input_str)) \n",
|
||||
"\n",
|
||||
"index6=[]\n",
|
||||
"for i in range(len(result_list)):\n",
|
||||
" if word_query(result_list[i]):\n",
|
||||
" # print(i, result_list[i])\n",
|
||||
" index6.append(i)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 18,
|
||||
"id": "80704f93-65b3-439e-b688-d8ea74217e9d",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def word_query(input_str, target_word=\"定额\"):\n",
|
||||
" pattern = rf\"{target_word}\" \n",
|
||||
" return bool(re.search(pattern, input_str)) \n",
|
||||
"\n",
|
||||
"index7=[]\n",
|
||||
"for i in range(len(result_list)):\n",
|
||||
" if word_query(result_list[i]):\n",
|
||||
" # print(i, result_list[i])\n",
|
||||
" index7.append(i)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 20,
|
||||
"id": "ff0213ff-eddb-4d25-90b6-d009edf94bfc",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def word_query(input_str, target_word=\"施工\"):\n",
|
||||
" pattern = rf\"{target_word}\" \n",
|
||||
" return bool(re.search(pattern, input_str)) \n",
|
||||
"\n",
|
||||
"index8=[]\n",
|
||||
"for i in range(len(result_list)):\n",
|
||||
" if word_query(result_list[i]):\n",
|
||||
" # print(i, result_list[i])\n",
|
||||
" index8.append(i)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 22,
|
||||
"id": "5f08eedc-d642-45bb-82ec-3526f9616d68",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def word_query(input_str, target_word=\"技改\"):\n",
|
||||
" pattern = rf\"{target_word}\" \n",
|
||||
" return bool(re.search(pattern, input_str)) \n",
|
||||
"\n",
|
||||
"index9=[]\n",
|
||||
"for i in range(len(result_list)):\n",
|
||||
" if word_query(result_list[i]):\n",
|
||||
" # print(i, result_list[i])\n",
|
||||
" index9.append(i)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 24,
|
||||
"id": "789bd94a-7d21-4382-8c01-0f0373a66455",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def word_query(input_str, target_word=\"计算\"):\n",
|
||||
" pattern = rf\"{target_word}\" \n",
|
||||
" return bool(re.search(pattern, input_str)) \n",
|
||||
"\n",
|
||||
"index10=[]\n",
|
||||
"for i in range(len(result_list)):\n",
|
||||
" if word_query(result_list[i]):\n",
|
||||
" # print(i, result_list[i])\n",
|
||||
" index10.append(i)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 11,
|
||||
"id": "8cd839bc-a72f-4c35-bcf5-1f755bd16740",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"25 .bpz17对应的哪个锁\n",
|
||||
"79 软件锁怎么自动注册不起了呢\n",
|
||||
"80 问下锁激活怎么弄?\n",
|
||||
"102 zwqd请问这是用什么锁做的\n",
|
||||
"109 网络锁怎么登录\n",
|
||||
"151 19-029758帮查下一下锁号\n",
|
||||
"164 怎么激活锁保险\n",
|
||||
"172 打开工程提示需要检修高级版锁\n",
|
||||
"194 清单锁住了,怎么解锁\n",
|
||||
"210 我想知道这个锁有问题吗,为什么激活不了呢\n",
|
||||
"214 你好,显示我的锁号注册失败是什么原因\n",
|
||||
"246 查询锁许可证号锁号19-079728,19-079718\n",
|
||||
"249 我的清单锁不好用了,总是找不到可用许可证\n",
|
||||
"251 配网设计锁不好使\n",
|
||||
"254 2009年版的软件,插上了锁,怎么打不开\n",
|
||||
"262 配网2017软件读不到锁,打不开软件\n",
|
||||
"264 软件锁激活\n",
|
||||
"297 插了电建的锁 识别不出来,打开软件首行灰色\n",
|
||||
"303 软件是识别不到锁\n",
|
||||
"310 主网造价国网清单的锁,接入结算后,费用和投标时候的投标价格不一样\n",
|
||||
"319 想调定额量,怎么解锁\n",
|
||||
"332 新的软件锁插入显示锁中未找到本软件可用的许可证,请问应该怎么解决呢\n",
|
||||
"351 可以用网络锁登陆吗\n",
|
||||
"360 清单怎么解锁\n",
|
||||
"377 锁怎么激活呢\n",
|
||||
"392 我有个新的锁,怎么注册?\n",
|
||||
"419 请问清单如何解锁\n",
|
||||
"425 我想咨询这我个工程后缀是zwzj 要用什么锁打开\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"import re\n",
|
||||
"\n",
|
||||
"def word_query(input_str, target_word=\"锁\"):\n",
|
||||
" pattern = rf\"{target_word}\" \n",
|
||||
" return bool(re.search(pattern, input_str)) \n",
|
||||
"\n",
|
||||
"index11=[]\n",
|
||||
"for i in range(len(result_list)):\n",
|
||||
" if word_query(result_list[i]):\n",
|
||||
" print(i, result_list[i])\n",
|
||||
" index11.append(i)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 28,
|
||||
"id": "54e94090-3acb-4550-80bc-01c2f8191ec2",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"306"
|
||||
]
|
||||
},
|
||||
"execution_count": 28,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"index = index1 + index2 + index3 + index4 + index5 + index6 + index7 + index8 + index9 + index10 + index11\n",
|
||||
"len(set(index))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 32,
|
||||
"id": "1b8b8559-ea36-454f-915d-da2122b8a620",
|
||||
"metadata": {
|
||||
"scrolled": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"other_index = []\n",
|
||||
"other_content = []\n",
|
||||
"for i in range(len(result_list)):\n",
|
||||
" if i not in set(index):\n",
|
||||
" other_index.append(i+3)\n",
|
||||
" other_content.append(result_list[i])\n",
|
||||
" # print((i + 3),result_list[i])"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 34,
|
||||
"id": "09634a84-0df0-4bf7-9926-3fccf30b588f",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"138"
|
||||
]
|
||||
},
|
||||
"execution_count": 34,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"len(other_index)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 36,
|
||||
"id": "1229f23d-17de-4f1e-a48c-6bd8f2b77eeb",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"(10, '怎样新增取费表')"
|
||||
]
|
||||
},
|
||||
"execution_count": 36,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"other_index[0], other_content[0]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "7dfaabd3-7956-4842-882c-16f2566563b0",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "ab78d90d-deaa-46e4-9629-212b1be5991c",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "4b0ce7ae-b9dd-4713-b39a-6ddd820914e3",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "2d0517bb-106f-410b-b34c-891597440219",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"id": "1166e47b-741f-44a3-a341-14440e015309",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"from langchain_openai import ChatOpenAI\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"# Qwen/Qwen2.5-72B-Instruct\n",
|
||||
"# deepseek-ai/DeepSeek-R1\n",
|
||||
"# deepseek-ai/DeepSeek-V3\n",
|
||||
"qwen_llm = ChatOpenAI(\n",
|
||||
" openai_api_base=\"https://api.siliconflow.cn/v1\",\n",
|
||||
" model_name=\"Qwen/Qwen2.5-72B-Instruct\",\n",
|
||||
" openai_api_key=\"sk-muuqautpcyuowjtgfecbnivqodlhzydtfslqkmwbknawejsx\"\n",
|
||||
")\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"id": "03871a43-8859-47bb-bc67-6b137b3a7205",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"from langchain_core.prompts import ChatPromptTemplate\n",
|
||||
"from langchain_core.output_parsers import StrOutputParser"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 38,
|
||||
"id": "85179eaa-303e-44a1-aa3e-f7d84ac8be08",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"100%|████████████████████████████████████████████████████████████████| 144/144 [03:48<00:00, 1.59s/it]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"PromptTemplate2 = \"\"\"\n",
|
||||
"你是博微公司的电力造价员专家,需要将后续用户输入的对于多款软件产品使用和业务方面的咨询问题转化。\n",
|
||||
"请站在电力造价领域将用户的问题转为书面化咨询语句,不要假设上下文,更不要尝试回答问题\n",
|
||||
"\n",
|
||||
"# 用户输入\n",
|
||||
"{query}\n",
|
||||
"\n",
|
||||
"# 注意,不要扩展礼貌用词等等\n",
|
||||
"\"\"\"\n",
|
||||
"\n",
|
||||
"Prompt2 = ChatPromptTemplate.from_template(PromptTemplate2)\n",
|
||||
"\n",
|
||||
"Chain2 = Prompt2 | qwen_llm | StrOutputParser()\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"from tqdm import tqdm\n",
|
||||
"\n",
|
||||
"id_info2 = []\n",
|
||||
"for i in tqdm(result_list[300:]):\n",
|
||||
" id_info2.append(Chain2.invoke({\"query\":i}))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 39,
|
||||
"id": "6247506d-f131-4b7d-b04b-79e24f078989",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"144"
|
||||
]
|
||||
},
|
||||
"execution_count": 39,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"len(id_info2)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 40,
|
||||
"id": "eccc683c-98b0-4132-8c85-5beeb871a640",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def save_list_to_txt(filename, data_list):\n",
|
||||
" with open(filename, \"w\", encoding=\"utf-8\") as f:\n",
|
||||
" f.write(\"\\n\".join(data_list)) # 每个元素换行\n",
|
||||
"\n",
|
||||
"save_list_to_txt(\"ceshi100.txt\", id_info2)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "4be940c3-e2ee-4efb-87e3-328cfaf59602",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# prompt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 10,
|
||||
"id": "33c374c9-0ac7-460d-90ce-2a617a20e081",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"PromptTemplate1 = \"\"\"\n",
|
||||
"你是博微公司的电力造价员专家,需要将后续用户输入的对博微公司多款软件产品使用和业务方面的咨询问题进行意图分类。\n",
|
||||
"并且站在电力造价领域角度上,将用户的问题理解意图后采用以下指定槽位结构填充将用户问题转化为JSON格式输出。\n",
|
||||
"如果问题中没有给出对应槽位的值则为未知,而不要假设上下文,更不要尝试回答问题。\n",
|
||||
"\n",
|
||||
"# 用户输入\n",
|
||||
"{query}\n",
|
||||
"\n",
|
||||
"# 一级意图\n",
|
||||
"[操作指南, 规范解读, 费用构成, 其他]\n",
|
||||
"\n",
|
||||
"# 二级意图\n",
|
||||
"## 操作指南\n",
|
||||
"下载安装注册(系统环境要求、安装包的下载和安装步骤、激活码获取与绑定,离线激活流程、版本冲突、操作西戎适配性等)\n",
|
||||
"软件使用操作(如 新建/打开工程, 数据相关操作, 报表生成与导出、版本兼容性处理等;以及计价通软件、造价软件相关操作咨询)\n",
|
||||
"数据管理(如 数据备份与恢复,版本兼容性处理,多人协作权限设置)\n",
|
||||
"\n",
|
||||
"### 规范解读\n",
|
||||
"国家规范(如 《电力建设工程概预算编制规定》, 《电网工程建设预算编制与计算标准》,预估相关)\n",
|
||||
"行业标准(如 变电工程定额应用, 线路工程取费规则,主网和配网和技改检修的定额)\n",
|
||||
"地方政策(如 地区人工费调整系数, 特殊材料价差处理)\n",
|
||||
"行业知识查询(行业知识的解读查询)\n",
|
||||
"\n",
|
||||
"### 费用构成\n",
|
||||
"费用类别解析(如 建筑工程费, 安装工程费, 设备购置费)\n",
|
||||
"费用计算逻辑(如 直接费(人工、材料、机械), 间接费(企业管理费、规费), 利润与税金)\n",
|
||||
"特殊场景费用(如 临时设施费, 冬季施工增加费)\n",
|
||||
"\n",
|
||||
"# 意图类别的槽位结构:\n",
|
||||
"\n",
|
||||
"## 操作指南 \n",
|
||||
"一级意图: \n",
|
||||
"二级意图:\n",
|
||||
"software: 用户提到的具体软件产品名称。\n",
|
||||
"functionality: 用户询问的具体功能或操作步骤。\n",
|
||||
"specifics: 关于问题的具体描述或背景信息(如果有提及)。\n",
|
||||
"version: 软件版本号(如果有提及)。\n",
|
||||
"standard: 具体的电力造价规范或标准(如果有提及)。\n",
|
||||
"context: 问题的上下文或应用场景,例如特定项目、合同条款等。\n",
|
||||
"\n",
|
||||
"## 规范解读\n",
|
||||
"一级意图:\n",
|
||||
"二级意图: \n",
|
||||
"standard: 具体的电力造价规范或标准名称,例如《电力工程建设预算编制与计算规定》等等。\n",
|
||||
"section: 规范中的具体章节或条款编号。\n",
|
||||
"interpretation: 用户希望解读的具体内容或条款,例如某一条款的具体含义、适用范围等。\n",
|
||||
"context: 问题的具体上下文或应用场景,例如某个项目、合同条款、特定工程阶段等。\n",
|
||||
"software: 如果涉及软件操作,具体使用的博微公司软件产品名称(如果有提及)。\n",
|
||||
"version: 软件版本号(如果有提及)。\n",
|
||||
"specifics: 关于问题的具体描述或背景信息。\n",
|
||||
"example: 是否需要具体的示例来帮助理解条款的应用。\n",
|
||||
"\n",
|
||||
"## 费用构成\n",
|
||||
"一级意图: \n",
|
||||
"二级意图:\n",
|
||||
"software: 用户提到的具体软件产品名称(隐含为博微公司的某款电力造价软件)。\n",
|
||||
"functionality: 用户询问的具体功能或操作步骤(如果适用)。\n",
|
||||
"specifics: 关于问题的具体描述或背景信息。\n",
|
||||
"version: 软件版本号(如果有提及)。\n",
|
||||
"fee_type: 费用类型,如设计费、施工图预算编制费、竣工图文件编制费等。\n",
|
||||
"cost_component: 具体的成本组成部分,例如直接成本、间接成本、管理费等。\n",
|
||||
"inclusion: 是否包含特定费用项,例如是否包含某项费用或是否需要单独计列。\n",
|
||||
"basis: 计算依据或标准,例如按工程造价的百分比、固定金额等。\n",
|
||||
"context: 问题的上下文或应用场景,例如某个项目、合同条款、特定工程阶段等。\n",
|
||||
"standard: 涉及的具体电力造价规范或标准,例如《电力工程建设预算编制与计算规定》等等。\n",
|
||||
"\n",
|
||||
"## 其他\n",
|
||||
"一级意图: \n",
|
||||
"二级意图:\n",
|
||||
"qa: 问题咨询\n",
|
||||
"ty: 闲聊\n",
|
||||
"\n",
|
||||
"# 注意:\n",
|
||||
"1. 请按JSON格式返回,未知字段填'未知'\n",
|
||||
"2. json的keys,一定含有'一级意图'、'二级意图',且无论用户输入上下文多少,输出json只有一个\n",
|
||||
"\n",
|
||||
"\"\"\"\n",
|
||||
"\n",
|
||||
"Prompt1 = ChatPromptTemplate.from_template(PromptTemplate1)\n",
|
||||
"\n",
|
||||
"Chain1 = Prompt1 | qwen_llm | StrOutputParser()\n",
|
||||
"\n",
|
||||
"####################################################################\n",
|
||||
"\n",
|
||||
"PromptTemplate2 = \"\"\"\n",
|
||||
"请在电力造价领域角度上,对用户的输入进行指定槽位的填充,并转换为JSON结构输出。\n",
|
||||
"如果问题中没有给出对应槽位的值则为未知,而不要假设上下文,更不要尝试回答问题。\n",
|
||||
"\n",
|
||||
"# 用户输入\n",
|
||||
"{query}\n",
|
||||
"\n",
|
||||
"# 槽位结构:\n",
|
||||
"\n",
|
||||
"## 操作指南 \n",
|
||||
"一级意图: 操作指南\n",
|
||||
"二级意图:下载安装注册\n",
|
||||
"software: 用户提到的具体软件产品名称(如果适用)。\n",
|
||||
"functionality: 用户询问的具体功能或操作步骤(如果适用)。\n",
|
||||
"issueType: 问题的具体类型,如“咨询费用包含内容”、“操作方法不明”等。\n",
|
||||
"specifics: 关于问题的具体描述或背景信息。\n",
|
||||
"version: 软件版本号(如果适用)。\n",
|
||||
"standard: 具体的电力造价规范或标准(如果有提及)。\n",
|
||||
"context: 问题的上下文或应用场景,例如特定项目、合同条款等。\n",
|
||||
"\n",
|
||||
"# 注意:\n",
|
||||
"1. 请按JSON格式返回,未知字段填'未知'\n",
|
||||
"2. 一级意图: 操作指南 和 二级意图:下载安装注册 是固定不变的\n",
|
||||
"3. 无论用户输入上下文多少,输出json只有一个\n",
|
||||
"\n",
|
||||
"\"\"\"\n",
|
||||
"Prompt2 = ChatPromptTemplate.from_template(PromptTemplate2)\n",
|
||||
"\n",
|
||||
"Chain2 = Prompt2 | qwen_llm | StrOutputParser()\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"# query = \"多个工程要修改建筑的材料和机械价格\"\n",
|
||||
"# result1 = Chain1.invoke({\"query\":query})\n",
|
||||
"# print(result1)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "35f36068-b2a9-491a-8b35-292565aa0542",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"Chain1.invoke(\"\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "7c197c26-3a5c-43b4-9940-0cdbfcc69622",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## pipe"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 12,
|
||||
"id": "d06537d9-6cd2-45bf-8fd5-a0620d95db86",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import re\n",
|
||||
"\n",
|
||||
"def detect_fields(input_str):\n",
|
||||
" # 定义要检测的字段列表\n",
|
||||
" fields = [\n",
|
||||
" \"xzwb\", \"bxqd2\", \"bpz17\", \"zwqd\", \"bwpw\", \"BJGX\", \"bt2\", \"BDQ3\", \"BT2\", \n",
|
||||
" \"gec5\", \"BDY3\", \"dwg\", \"bwpwz\", \"BDD3\", \"bt1\", \"bphq18\", \"zwzj\", \"bczc2\", \n",
|
||||
" \"BPQ\", \"BPY\", \"BDQ3\", \"SXZB23\", \"SXZ\", \"xzwb2\", \"bpz17\" \n",
|
||||
" ]\n",
|
||||
" \n",
|
||||
" # 构建正则表达式模式,匹配大小写不敏感且前面可能带有.\n",
|
||||
" # 去掉 \\b 以允许字段是其他字符串的一部分\n",
|
||||
" pattern = r'(?:\\.?)(' + '|'.join(re.escape(field) for field in fields) + r')'\n",
|
||||
" \n",
|
||||
" # 使用 re.IGNORECASE 标志来忽略大小写\n",
|
||||
" if re.search(pattern, input_str, re.IGNORECASE):\n",
|
||||
" return True\n",
|
||||
" else:\n",
|
||||
" return False\n",
|
||||
"\n",
|
||||
"def word_query(input_str, target_word=\"锁\"):\n",
|
||||
" pattern = rf\"{target_word}\" \n",
|
||||
" return bool(re.search(pattern, input_str)) "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 84,
|
||||
"id": "c836c925-e143-4c49-8366-da265fe70dd9",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 94/94 [14:30<00:00, 9.26s/it]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"from tqdm import tqdm\n",
|
||||
"\n",
|
||||
"id_info1 = []\n",
|
||||
"for i in tqdm(result_list[350:]):\n",
|
||||
" if detect_fields(i) or word_query(i):\n",
|
||||
" id_info1.append(Chain2.invoke({\"query\":i})) \n",
|
||||
" else:\n",
|
||||
" id_info1.append(Chain1.invoke({\"query\":i})) \n",
|
||||
" "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 86,
|
||||
"id": "dfdbdb26-0c81-481a-8694-ca7339781ff5",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"(94, 94)"
|
||||
]
|
||||
},
|
||||
"execution_count": 86,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"import re\n",
|
||||
"\n",
|
||||
"# 正则表达式匹配 \"一级意图\" 和 \"二级意图\" 的值\n",
|
||||
"pattern = r'\"(一级意图|二级意图)\"\\s*:\\s*\"([^\"]+)\"'\n",
|
||||
"\n",
|
||||
"# 初始化两个列表\n",
|
||||
"list1 = []\n",
|
||||
"list2 = []\n",
|
||||
"\n",
|
||||
"for i in id_info1:\n",
|
||||
" matches = re.findall(pattern, i)\n",
|
||||
"\n",
|
||||
" for key, value in matches:\n",
|
||||
" if key == \"一级意图\":\n",
|
||||
" list1.append(value)\n",
|
||||
" elif key == \"二级意图\":\n",
|
||||
" list2.append(value)\n",
|
||||
"\n",
|
||||
"len(list1), len(list2)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 80,
|
||||
"id": "5ecc2d23-bb2c-4d40-bb8b-9e0e6f7f88e3",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"'我在取费标修改完 报表输出没有变化'"
|
||||
]
|
||||
},
|
||||
"execution_count": 80,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"result_list[349]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 48,
|
||||
"id": "0054ca5b-0464-462e-be10-43a419d401af",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"False"
|
||||
]
|
||||
},
|
||||
"execution_count": 48,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"detect_fields(result_list[332]) "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 68,
|
||||
"id": "d8dae57a-3303-49d8-b7bb-396c83449bde",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"```json\n",
|
||||
"{\n",
|
||||
" \"操作指南\": \"操作指南\",\n",
|
||||
" \"二级意图\": \"下载安装注册\",\n",
|
||||
" \"software\": \"bphq18\",\n",
|
||||
" \"functionality\": \"未知\",\n",
|
||||
" \"issueType\": \"咨询费用包含内容\",\n",
|
||||
" \"specifics\": \"后缀是什么软件\",\n",
|
||||
" \"version\": \"未知\",\n",
|
||||
" \"standard\": \"未知\",\n",
|
||||
" \"context\": \"未知\"\n",
|
||||
"}\n",
|
||||
"```\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"print(id_info1[5])"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 88,
|
||||
"id": "2a1767a1-0578-4645-ad2b-032ae22073fc",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"文件已保存:list1.txt 和 list2.txt\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# 保存列表数据到 txt 文件\n",
|
||||
"def save_list_to_txt(filename, data_list):\n",
|
||||
" with open(filename, \"w\", encoding=\"utf-8\") as f:\n",
|
||||
" f.write(\"\\n\".join(data_list)) # 每个元素换行\n",
|
||||
"\n",
|
||||
"# 保存到 txt 文件\n",
|
||||
"save_list_to_txt(\"list1.txt\", list1)\n",
|
||||
"save_list_to_txt(\"list2.txt\", list2)\n",
|
||||
"\n",
|
||||
"print(\"文件已保存:list1.txt 和 list2.txt\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 76,
|
||||
"id": "d93f91c7-0116-4408-99bd-f8a06ccfc50d",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def save_list_to_txt(filename, data_list):\n",
|
||||
" with open(filename, \"w\", encoding=\"utf-8\") as f:\n",
|
||||
" f.write(\"\\n\".join(data_list)) # 每个元素换行\n",
|
||||
"\n",
|
||||
"save_list_to_txt(\"ceshi100.txt\", id_info1)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "5e06817a-18d1-451d-99a0-a9be3df1a46e",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "dify_lab",
|
||||
"language": "python",
|
||||
"name": "dify_lab"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.11.9"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
[tool.poetry]
|
||||
name = "difyAnalysis"
|
||||
version = "0.1.0"
|
||||
description = ""
|
||||
authors = ["ouyangyouzhang <ouyangyouzhang@booway.com.cn>"]
|
||||
readme = "README.md"
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = "^3.11"
|
||||
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry-core"]
|
||||
build-backend = "poetry.core.masonry.api"
|
||||
|
||||
[[tool.poetry.source]]
|
||||
name = "ali-mirrors"
|
||||
url = "http://mirrors.aliyun.com/pypi/simple/"
|
||||
priority = "primary"
|
||||
Binary file not shown.
@@ -0,0 +1,777 @@
|
||||
{
|
||||
"报表": [
|
||||
"表单",
|
||||
"统计表",
|
||||
"文档"
|
||||
],
|
||||
"导出": [
|
||||
"生成",
|
||||
"下载",
|
||||
"输出"
|
||||
],
|
||||
"导入": [
|
||||
"上传",
|
||||
"读取",
|
||||
"载入"
|
||||
],
|
||||
"批量": [
|
||||
"整体",
|
||||
"一次性",
|
||||
"多选"
|
||||
],
|
||||
"打印": [
|
||||
"生成PDF",
|
||||
"输出纸质",
|
||||
"复印"
|
||||
],
|
||||
"设置": [
|
||||
"配置",
|
||||
"调整",
|
||||
"修改"
|
||||
],
|
||||
"物料": [
|
||||
"材料",
|
||||
"设备",
|
||||
"主材"
|
||||
],
|
||||
"工程": [
|
||||
"造价工程",
|
||||
"项目",
|
||||
"施工"
|
||||
],
|
||||
"计算": [
|
||||
"评估",
|
||||
"统计",
|
||||
"运算"
|
||||
],
|
||||
"调整": [
|
||||
"变更",
|
||||
"修正",
|
||||
"修改"
|
||||
],
|
||||
"市场价": [
|
||||
"成本价",
|
||||
"售价",
|
||||
"物价"
|
||||
],
|
||||
"费率": [
|
||||
"收费比例",
|
||||
"税率",
|
||||
"计费标准"
|
||||
],
|
||||
"设备": [
|
||||
"机器",
|
||||
"器材",
|
||||
"装置"
|
||||
],
|
||||
"材料": [
|
||||
"物料",
|
||||
"资源",
|
||||
"原料"
|
||||
],
|
||||
"定额": [
|
||||
"基准",
|
||||
"标准",
|
||||
"规范"
|
||||
],
|
||||
"汇总": [
|
||||
"合计",
|
||||
"统计",
|
||||
"计算总额"
|
||||
],
|
||||
"合并": [
|
||||
"整合",
|
||||
"归类",
|
||||
"统一"
|
||||
],
|
||||
"模板": [
|
||||
"标准格式",
|
||||
"格式",
|
||||
"样式"
|
||||
],
|
||||
"查询": [
|
||||
"检索",
|
||||
"搜索",
|
||||
"查找"
|
||||
],
|
||||
"删除": [
|
||||
"移除",
|
||||
"去除",
|
||||
"清除"
|
||||
],
|
||||
"添加": [
|
||||
"补充",
|
||||
"插入",
|
||||
"录入"
|
||||
],
|
||||
"修改": [
|
||||
"变更",
|
||||
"更改",
|
||||
"调整"
|
||||
],
|
||||
"刷新": [
|
||||
"更新",
|
||||
"重置",
|
||||
"同步"
|
||||
],
|
||||
"备份": [
|
||||
"存档",
|
||||
"存储",
|
||||
"复制"
|
||||
],
|
||||
"同步": [
|
||||
"更新",
|
||||
"一致",
|
||||
"对齐"
|
||||
],
|
||||
"运距": [
|
||||
"运输距离",
|
||||
"运送范围",
|
||||
"物流范围"
|
||||
],
|
||||
"损耗": [
|
||||
"消耗",
|
||||
"损失",
|
||||
"折损"
|
||||
],
|
||||
"增值税": [
|
||||
"VAT",
|
||||
"税负",
|
||||
"税款"
|
||||
],
|
||||
"人工": [
|
||||
"人工费",
|
||||
"劳务",
|
||||
"人工成本"
|
||||
],
|
||||
"卸车": [
|
||||
"转运",
|
||||
"装卸",
|
||||
"搬运"
|
||||
],
|
||||
"保管": [
|
||||
"存储",
|
||||
"存放",
|
||||
"储存"
|
||||
],
|
||||
"运输": [
|
||||
"物流",
|
||||
"运送",
|
||||
"配送"
|
||||
],
|
||||
"计算式": [
|
||||
"计算方法",
|
||||
"公式",
|
||||
"计算模型"
|
||||
],
|
||||
"金额": [
|
||||
"费用",
|
||||
"支出",
|
||||
"成本"
|
||||
],
|
||||
"编号": [
|
||||
"ID",
|
||||
"标识",
|
||||
"代码"
|
||||
],
|
||||
"价差": [
|
||||
"差价",
|
||||
"成本差",
|
||||
"价格差"
|
||||
],
|
||||
"审核": [
|
||||
"审查",
|
||||
"检查",
|
||||
"核对"
|
||||
],
|
||||
"管理": [
|
||||
"运维",
|
||||
"控制",
|
||||
"维护"
|
||||
],
|
||||
"匹配": [
|
||||
"对接",
|
||||
"关联",
|
||||
"适配"
|
||||
],
|
||||
"转换": [
|
||||
"变换",
|
||||
"转化",
|
||||
"换算"
|
||||
],
|
||||
"参数": [
|
||||
"变量",
|
||||
"设定值",
|
||||
"调节值"
|
||||
],
|
||||
"供货方": [
|
||||
"提供商",
|
||||
"销售方",
|
||||
"供应商"
|
||||
],
|
||||
"页面": [
|
||||
"窗口",
|
||||
"界面",
|
||||
"显示页"
|
||||
],
|
||||
"页码": [
|
||||
"页数",
|
||||
"页面编号",
|
||||
"序号"
|
||||
],
|
||||
"字体": [
|
||||
"字形",
|
||||
"排版",
|
||||
"文字样式"
|
||||
],
|
||||
"页眉": [
|
||||
"标题栏",
|
||||
"表头",
|
||||
"上部标识"
|
||||
],
|
||||
"页脚": [
|
||||
"表尾",
|
||||
"底部信息",
|
||||
"下部标识"
|
||||
],
|
||||
"汇总级别": [
|
||||
"合计层次",
|
||||
"归类等级",
|
||||
"统计层级"
|
||||
],
|
||||
"配网": [
|
||||
"电网",
|
||||
"配电网络",
|
||||
"供电系统"
|
||||
],
|
||||
"定额调整": [
|
||||
"标准修改",
|
||||
"费用修正",
|
||||
"基准调整"
|
||||
],
|
||||
"市场价系数": [
|
||||
"成本系数",
|
||||
"价格调整",
|
||||
"定价指数"
|
||||
],
|
||||
"文件": [
|
||||
"文档",
|
||||
"数据",
|
||||
"资料"
|
||||
],
|
||||
"表单": [
|
||||
"统计表",
|
||||
"报表",
|
||||
"登记表"
|
||||
],
|
||||
"信息": [
|
||||
"数据",
|
||||
"资料",
|
||||
"消息"
|
||||
],
|
||||
"工程量": [
|
||||
"施工量",
|
||||
"工作量",
|
||||
"项目量"
|
||||
],
|
||||
"费用": [
|
||||
"成本",
|
||||
"支出",
|
||||
"开销"
|
||||
],
|
||||
"项目": [
|
||||
"方案",
|
||||
"工程",
|
||||
"任务"
|
||||
],
|
||||
"施工": [
|
||||
"作业",
|
||||
"操作",
|
||||
"建设"
|
||||
],
|
||||
"设备类别": [
|
||||
"器材种类",
|
||||
"装置类型",
|
||||
"设备分类"
|
||||
],
|
||||
"组合件": [
|
||||
"组件",
|
||||
"组合部件",
|
||||
"拼装部件"
|
||||
],
|
||||
"生成": [
|
||||
"制作",
|
||||
"创建",
|
||||
"生产"
|
||||
],
|
||||
"统计": [
|
||||
"计算",
|
||||
"分析",
|
||||
"汇总"
|
||||
],
|
||||
"公路": [
|
||||
"道路",
|
||||
"高速",
|
||||
"国道"
|
||||
],
|
||||
"铁路": [
|
||||
"铁道",
|
||||
"铁路线",
|
||||
"轨道"
|
||||
],
|
||||
"运杂费": [
|
||||
"运输杂费",
|
||||
"物流费用",
|
||||
"配送费用"
|
||||
],
|
||||
"更新": [
|
||||
"刷新",
|
||||
"升级",
|
||||
"同步"
|
||||
],
|
||||
"格式": [
|
||||
"结构",
|
||||
"模版",
|
||||
"样式"
|
||||
],
|
||||
"显示": [
|
||||
"展示",
|
||||
"呈现",
|
||||
"展现"
|
||||
],
|
||||
"隐藏": [
|
||||
"隐藏",
|
||||
"遮盖",
|
||||
"不显示"
|
||||
],
|
||||
"分类": [
|
||||
"类别",
|
||||
"归类",
|
||||
"分组"
|
||||
],
|
||||
"线路": [
|
||||
"输电线路",
|
||||
"电缆",
|
||||
"电力线路"
|
||||
],
|
||||
"修改记录": [
|
||||
"日志",
|
||||
"变更记录",
|
||||
"历史记录"
|
||||
],
|
||||
"主材": [
|
||||
"核心物料",
|
||||
"主要材料",
|
||||
"基础材料"
|
||||
],
|
||||
"变更": [
|
||||
"调整",
|
||||
"改动",
|
||||
"修改"
|
||||
],
|
||||
"经济作物": [
|
||||
"经济植物",
|
||||
"农作物",
|
||||
"高价值作物"
|
||||
],
|
||||
"增值": [
|
||||
"税收",
|
||||
"附加值",
|
||||
"价值提升"
|
||||
],
|
||||
"造价": [
|
||||
"费用评估",
|
||||
"成本估算",
|
||||
"价格计算"
|
||||
],
|
||||
"超高": [
|
||||
"超限",
|
||||
"高度超标",
|
||||
"额外高度"
|
||||
],
|
||||
"电力": [
|
||||
"供电",
|
||||
"能源",
|
||||
"电气"
|
||||
],
|
||||
"电缆": [
|
||||
"电线",
|
||||
"电力线",
|
||||
"输电线"
|
||||
],
|
||||
"跨越": [
|
||||
"横跨",
|
||||
"超越",
|
||||
"跨界"
|
||||
],
|
||||
"社会保险": [
|
||||
"社会福利",
|
||||
"保险费",
|
||||
"社保"
|
||||
],
|
||||
"住房公积金": [
|
||||
"公积金",
|
||||
"房贷基金",
|
||||
"住房补贴"
|
||||
],
|
||||
"费率调整": [
|
||||
"计费变更",
|
||||
"价格调整",
|
||||
"费用修改"
|
||||
],
|
||||
"密码": [
|
||||
"访问码",
|
||||
"口令",
|
||||
"解锁码"
|
||||
],
|
||||
"解锁": [
|
||||
"解除锁定",
|
||||
"开锁",
|
||||
"解封"
|
||||
],
|
||||
"软件": [
|
||||
"平台",
|
||||
"程序",
|
||||
"系统"
|
||||
],
|
||||
"升级": [
|
||||
"版本提升",
|
||||
"更新",
|
||||
"优化"
|
||||
],
|
||||
"许可证": [
|
||||
"许可文件",
|
||||
"授权",
|
||||
"认证"
|
||||
],
|
||||
"清单": [
|
||||
"项目信息",
|
||||
"目录",
|
||||
"明细"
|
||||
],
|
||||
"项目划分": [
|
||||
"项目分类",
|
||||
"工程分组",
|
||||
"层级划分"
|
||||
],
|
||||
"技改": [
|
||||
"升级改造",
|
||||
"改造工程",
|
||||
"技术改造"
|
||||
],
|
||||
"检修": [
|
||||
"保养",
|
||||
"维修",
|
||||
"维护"
|
||||
],
|
||||
"迁改": [
|
||||
"调整",
|
||||
"改动",
|
||||
"搬迁改造"
|
||||
],
|
||||
"预规": [
|
||||
"预估",
|
||||
"规划",
|
||||
"预计"
|
||||
],
|
||||
"估算": [
|
||||
"成本预测",
|
||||
"费用测算",
|
||||
"价格评估"
|
||||
],
|
||||
"取费": [
|
||||
"费用标准",
|
||||
"取费标准",
|
||||
"费用计算"
|
||||
],
|
||||
"贷款利息": [
|
||||
"借款利息",
|
||||
"融资利息",
|
||||
"建设期利息"
|
||||
],
|
||||
"模板参数": [
|
||||
"设置参数",
|
||||
"系统参数",
|
||||
"配置参数"
|
||||
],
|
||||
"统计分析": [
|
||||
"报表统计",
|
||||
"数据分析",
|
||||
"计算分析"
|
||||
],
|
||||
"调差": [
|
||||
"价格调整",
|
||||
"市场调整",
|
||||
"费用变动"
|
||||
],
|
||||
"费用模板": [
|
||||
"价格模板",
|
||||
"费用标准",
|
||||
"成本模版"
|
||||
],
|
||||
"工地运输": [
|
||||
"施工运输",
|
||||
"现场运输",
|
||||
"工地物流"
|
||||
],
|
||||
"物料库": [
|
||||
"设备库",
|
||||
"材料数据库",
|
||||
"物资存储"
|
||||
],
|
||||
"资源管理": [
|
||||
"库存管理",
|
||||
"物料控制",
|
||||
"材料管理"
|
||||
],
|
||||
"调试费用": [
|
||||
"系统测试费",
|
||||
"试运行费",
|
||||
"安装调试费"
|
||||
],
|
||||
"钢筋量": [
|
||||
"钢筋工程量",
|
||||
"钢筋用量",
|
||||
"钢筋计算"
|
||||
],
|
||||
"五金计算": [
|
||||
"五金费计算",
|
||||
"五金材料核算",
|
||||
"五金成本测算"
|
||||
],
|
||||
"迁改费用": [
|
||||
"改造费用",
|
||||
"调整费",
|
||||
"搬迁成本"
|
||||
],
|
||||
"工程加密": [
|
||||
"项目安全",
|
||||
"工程保护",
|
||||
"数据加密"
|
||||
],
|
||||
"工程审核": [
|
||||
"费用审核",
|
||||
"项目审查",
|
||||
"施工审核"
|
||||
],
|
||||
"应急措施费": [
|
||||
"突发事件费用",
|
||||
"应急预备费",
|
||||
"安全防范费"
|
||||
],
|
||||
"设备配送费": [
|
||||
"设备运输费",
|
||||
"器材配送费",
|
||||
"设备物流成本"
|
||||
],
|
||||
"安全文明施工费": [
|
||||
"施工安全费",
|
||||
"文明施工成本",
|
||||
"安全管理费"
|
||||
],
|
||||
"储能": [
|
||||
"电池储能",
|
||||
"储能系统",
|
||||
"能源存储"
|
||||
],
|
||||
"锂电池": [
|
||||
"储能电池",
|
||||
"锂离子电池",
|
||||
"蓄电池"
|
||||
],
|
||||
"储能电站": [
|
||||
"电能存储站",
|
||||
"储能设施",
|
||||
"能源站"
|
||||
],
|
||||
"技术经济": [
|
||||
"技经",
|
||||
"技术参数",
|
||||
"经济测算"
|
||||
],
|
||||
"工程调差": [
|
||||
"成本变更",
|
||||
"市场价修正",
|
||||
"费用调整"
|
||||
],
|
||||
"电池储能": [
|
||||
"蓄电池系统",
|
||||
"电力存储",
|
||||
"能量存储"
|
||||
],
|
||||
"混凝土": [
|
||||
"水泥混凝土",
|
||||
"施工混凝土",
|
||||
"建筑混凝土"
|
||||
],
|
||||
"清水混凝土": [
|
||||
"清洁混凝土",
|
||||
"裸露混凝土",
|
||||
"光面混凝土"
|
||||
],
|
||||
"泵车浇制": [
|
||||
"机械浇筑",
|
||||
"泵送浇筑",
|
||||
"混凝土浇筑"
|
||||
],
|
||||
"消耗量": [
|
||||
"用量",
|
||||
"消耗数据",
|
||||
"物料使用量"
|
||||
],
|
||||
"工程精度": [
|
||||
"项目精细度",
|
||||
"预算精度",
|
||||
"施工精确度"
|
||||
],
|
||||
"勘察费": [
|
||||
"地勘费用",
|
||||
"调查费用",
|
||||
"测绘费"
|
||||
],
|
||||
"设计费": [
|
||||
"工程设计费用",
|
||||
"规划设计费",
|
||||
"技术设计成本"
|
||||
],
|
||||
"服务业增值税率": [
|
||||
"行业税率",
|
||||
"商业税率",
|
||||
"企业增值税"
|
||||
],
|
||||
"其他费用": [
|
||||
"杂项费用",
|
||||
"额外开销",
|
||||
"附加费用"
|
||||
],
|
||||
"特殊地区增加费": [
|
||||
"区域加价",
|
||||
"地理附加费",
|
||||
"特区费用"
|
||||
],
|
||||
"取费表": [
|
||||
"预算费用表",
|
||||
"费用表",
|
||||
"成本清单"
|
||||
],
|
||||
"计算预览": [
|
||||
"成本预估",
|
||||
"费用预览",
|
||||
"估算检查"
|
||||
],
|
||||
"备份管理": [
|
||||
"文件存档",
|
||||
"历史记录",
|
||||
"数据备份"
|
||||
],
|
||||
"软件申请": [
|
||||
"使用许可",
|
||||
"试用申请",
|
||||
"授权申请"
|
||||
],
|
||||
"储能计价": [
|
||||
"储能造价",
|
||||
"储能预算",
|
||||
"能源估算"
|
||||
],
|
||||
"信息价库": [
|
||||
"市场价格库",
|
||||
"报价数据库",
|
||||
"定价库"
|
||||
],
|
||||
"组合件库": [
|
||||
"工程部件库",
|
||||
"组合结构库",
|
||||
"组件库"
|
||||
],
|
||||
"主材设备互转": [
|
||||
"材料调拨",
|
||||
"主材设备转换",
|
||||
"物资互换"
|
||||
],
|
||||
"输电线路": [
|
||||
"线路建设",
|
||||
"电力输送",
|
||||
"输电工程"
|
||||
],
|
||||
"施工总承包": [
|
||||
"工程承建",
|
||||
"项目承包",
|
||||
"工程总包"
|
||||
],
|
||||
"预算": [
|
||||
"造价计算",
|
||||
"成本估算",
|
||||
"费用测算"
|
||||
],
|
||||
"投标报价": [
|
||||
"投标成本",
|
||||
"竞标价",
|
||||
"标书报价"
|
||||
],
|
||||
"工程费用": [
|
||||
"成本支出",
|
||||
"建设费用",
|
||||
"项目开支"
|
||||
],
|
||||
"拆除工程": [
|
||||
"清理作业",
|
||||
"旧建筑拆除",
|
||||
"设备拆除"
|
||||
],
|
||||
"固定综合单价": [
|
||||
"恒定单价",
|
||||
"统一单价",
|
||||
"综合单价锁定"
|
||||
],
|
||||
"全费用综合单价": [
|
||||
"综合总价",
|
||||
"全包单价",
|
||||
"所有成本单价"
|
||||
],
|
||||
"行业清单工程": [
|
||||
"行业工程量清单",
|
||||
"行业定额清单",
|
||||
"行业标准清单"
|
||||
],
|
||||
"建筑工程量清单": [
|
||||
"工程施工清单",
|
||||
"建设清单",
|
||||
"施工清单"
|
||||
],
|
||||
"计价规范": [
|
||||
"工程计价规范",
|
||||
"造价标准",
|
||||
"施工计价标准"
|
||||
],
|
||||
"国网2023规范": [
|
||||
"2023版计价规则",
|
||||
"国家电网规范",
|
||||
"电力造价规范"
|
||||
],
|
||||
"土质比例": [
|
||||
"土壤配比",
|
||||
"地质成分",
|
||||
"土壤类型"
|
||||
],
|
||||
"监造费": [
|
||||
"采购监管费",
|
||||
"设备监理费",
|
||||
"质量监控费用"
|
||||
],
|
||||
"合同价": [
|
||||
"合同总价",
|
||||
"项目合同金额",
|
||||
"签约价格"
|
||||
],
|
||||
"结算价": [
|
||||
"决算价格",
|
||||
"最终结算金额",
|
||||
"结算款项"
|
||||
],
|
||||
"招标控制价": [
|
||||
"竞标上限",
|
||||
"投标最高限价",
|
||||
"预算控制价"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
import os
|
||||
|
||||
path = "C:/Users/oyyz/Desktop/新建文件夹"
|
||||
|
||||
total_chars = 0
|
||||
# 遍历目录下的所有文件
|
||||
for filename in os.listdir(path):
|
||||
# 只处理txt文件
|
||||
if filename.endswith('.txt'):
|
||||
file_path = os.path.join(path, filename)
|
||||
try:
|
||||
with open(file_path, 'r', encoding='utf-8') as f:
|
||||
content = f.read()
|
||||
chars = len(content)
|
||||
total_chars += chars
|
||||
print(f"{filename}: {chars} 个字符")
|
||||
except Exception as e:
|
||||
print(f"读取文件 {filename} 时出错: {e}")
|
||||
|
||||
print(f"\n所有txt文件共包含 {total_chars} 个字符")
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
# UTF-8
|
||||
#
|
||||
# For the syntax of this file, see:
|
||||
# https://pyinstaller.readthedocs.io/en/stable/spec-files.html#spec-file-version-info
|
||||
|
||||
VSVersionInfo(
|
||||
ffi=FixedFileInfo(
|
||||
filevers=(1, 0, 0, 1),
|
||||
prodvers=(1, 0, 0, 1),
|
||||
mask=0x3f,
|
||||
flags=0x0,
|
||||
OS=0x40004,
|
||||
fileType=0x1,
|
||||
subtype=0x0,
|
||||
date=(0, 0)
|
||||
),
|
||||
kids=[
|
||||
StringFileInfo(
|
||||
[
|
||||
StringTable(
|
||||
'040904B0',
|
||||
[StringStruct('CompanyName', '江西博微新技术有限公司'),
|
||||
StringStruct('FileDescription', 'Analysis'),
|
||||
StringStruct('FileVersion', '1.0.0.1'),
|
||||
StringStruct('InternalName', 'Analysis'),
|
||||
StringStruct('LegalCopyright', '© 江西博微新技术有限公司. All rights reserved.'),
|
||||
StringStruct('OriginalFilename', 'Analysis.exe'),
|
||||
StringStruct('ProductName', 'Analysis'),
|
||||
StringStruct('ProductVersion', '1.0.0.1')])
|
||||
]),
|
||||
VarFileInfo([VarStruct('Translation', [1033, 1200])])
|
||||
]
|
||||
)
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"url":"http://10.1.0.145:8090/graphql",
|
||||
"Authorization":"Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcGkiOjEsImdycCI6MSwiaWF0IjoxNzIzNjMxMjcwLCJleHAiOjE4MTgzMDQwNzAsImF1ZCI6InVybjp3aWtpLmpzIiwiaXNzIjoidXJuOndpa2kuanMifQ.g5H1xVMtk7Q3uvrRdtD3aTm49dQkS11cYdDKIwXo7DthOOTGj9DmFO7yILNDU7XFACTZc1Ej6ryguYV_8vGqoc-Rc7LciwvqS_RHDYUKZNKENbv8df9UGDMB-F9DT_airGc1lGJXgVqypxejDL3fY8aRMGXm7GBIlZKY4JTeI2uJZxffgfqKGrOvc3EOtsGgJzKZo4OyQ8UInGtCTiuq6-mLj_Syix_1z52K1tgfnF4E4-rZH_zCD05hUlUMYUV-KWhPkeOEGR5xbRTrulfCvzDD4T0CX4pI-keSKmgVn1HYSSN4o1Tj_l9zsyhUoLRzhzPK29Q3uekIc9obrvCHrg"
|
||||
}
|
||||
+324
@@ -0,0 +1,324 @@
|
||||
"""
|
||||
===================================
|
||||
@Auther:WenZ
|
||||
@Company: BooWay
|
||||
@project:booway_dm
|
||||
===================================
|
||||
"""
|
||||
|
||||
|
||||
# from langchain_community.chat_models import ChatOpenAI
|
||||
from langchain_openai import ChatOpenAI
|
||||
from langchain_core.output_parsers import StrOutputParser
|
||||
from langchain_core.prompts import ChatPromptTemplate
|
||||
from langchain_core.prompts.prompt import PromptTemplate
|
||||
from langchain_core.output_parsers import JsonOutputParser
|
||||
|
||||
|
||||
# qwen_llm = ChatOpenAI(model='deepseek-qwen2.5-32b',base_url="http://172.20.0.145:9995/v1/",api_key='233',temperature=1)
|
||||
|
||||
# temperature=0.7
|
||||
qwen_llm = ChatOpenAI(
|
||||
openai_api_base="https://api.siliconflow.cn/v1",
|
||||
model_name="Qwen/Qwen2.5-72B-Instruct",
|
||||
# sk-muuqautpcyuowjtgfecbnivqodlhzydtfslqkmwbknawejsx
|
||||
openai_api_key="sk-bbeamiumkouptsrueilgufqqyuumelcsivxwjbdugqwsqhwj",
|
||||
temperature=0.1
|
||||
)
|
||||
|
||||
deep_v3 = ChatOpenAI(
|
||||
openai_api_base="https://api.siliconflow.cn/v1",
|
||||
model_name="deepseek-ai/DeepSeek-V3",
|
||||
# sk-muuqautpcyuowjtgfecbnivqodlhzydtfslqkmwbknawejsx
|
||||
openai_api_key="sk-bbeamiumkouptsrueilgufqqyuumelcsivxwjbdugqwsqhwj",
|
||||
temperature=0.1
|
||||
)
|
||||
|
||||
|
||||
def suffix_answers():
|
||||
PromptTemplate1 = """
|
||||
根据用户输入和相关知识回答问题
|
||||
|
||||
# 用户输入
|
||||
{query}
|
||||
|
||||
# 相关知识
|
||||
{kg}
|
||||
|
||||
# 注意:
|
||||
- 每次回答和核心意思是:'此后缀名文件用某某或哪些软件打开'
|
||||
- 对于相关知识中有多个软件的要全部回答
|
||||
- 不要有过多解释,仅仅根据kg回答即可
|
||||
"""
|
||||
|
||||
Prompt = ChatPromptTemplate.from_template(PromptTemplate1)
|
||||
|
||||
Chain = Prompt | qwen_llm | StrOutputParser()
|
||||
|
||||
return Chain
|
||||
|
||||
# 关于下载安装
|
||||
# 查询功能(询问软件功能或用途):【新型储能计价通C1】可以做批次工程吗
|
||||
# 后缀名问题(专属子意图)
|
||||
# 操作指导(询问具体使用方法):【西藏造价软件Z1】怎么查看人工机械费用
|
||||
# 故障排查(解决软件错误问题):【技改检修2016软件】初始化失败了
|
||||
# 费用计算(专属意图,复杂计算推理)
|
||||
# 下载与安装(询问软件的下载和安装):【配网D3软件】程序包发我;【配网D3软件】怎么安装
|
||||
|
||||
def Vertical_classification():
|
||||
PromptTemplate1 = """
|
||||
根据用户输入进行垂直领域分类
|
||||
|
||||
目前的垂直分类:【'闲聊', '软件咨询'】
|
||||
|
||||
# 软件咨询包括以下:
|
||||
1. 查询功能(询问软件功能或用途,包括后缀名问题)
|
||||
2. 操作指导(询问具体使用方法)
|
||||
3. 故障排查(解决软件错误问题)
|
||||
4. 下载安装(关于软件的下载和安装问题)
|
||||
|
||||
# 用户输入
|
||||
{query}
|
||||
|
||||
# 注意:
|
||||
1. 你只能回答是'闲聊' 或者 '软件咨询',绝对不能有其他回复
|
||||
"""
|
||||
|
||||
Prompt = ChatPromptTemplate.from_template(PromptTemplate1)
|
||||
|
||||
Chain = Prompt | qwen_llm | StrOutputParser()
|
||||
|
||||
return Chain
|
||||
|
||||
# chain_vertical = Vertical_classification()
|
||||
|
||||
|
||||
def small_talk():
|
||||
PromptTemplate1 = """
|
||||
你是一个开放性的聊天助手,请以礼貌的方式进行回复
|
||||
|
||||
# 用户输入
|
||||
{query}
|
||||
|
||||
# 注意
|
||||
1. 对于用户发送类似“你好”、“hi”、“嗨”之类的问候语,需要固定回复:“您好,尊贵的VIP,我是booway小助手,很高兴为您服务”
|
||||
2. 对于用户发送类似“你是谁”、“你能干什么”、“你有什么功能”之类的询问身份和功能的语句,需要固定回复:“您好,我是booway小助手,如您需要相关电力造价软件的使用咨询,可以和我沟通”
|
||||
3. 初次之外的聊天,不需要告知用户的身份和你的身份
|
||||
"""
|
||||
|
||||
Prompt = ChatPromptTemplate.from_template(PromptTemplate1)
|
||||
|
||||
Chain = Prompt | qwen_llm | StrOutputParser()
|
||||
|
||||
return Chain
|
||||
|
||||
|
||||
# chain_small_talk = small_talk()
|
||||
|
||||
|
||||
# 查询功能(询问软件功能或用途):【新型储能计价通C1】可以做批次工程吗
|
||||
# 后缀名问题(专属子意图)
|
||||
# 操作指导(询问具体使用方法):【西藏造价软件Z1】怎么查看人工机械费用
|
||||
# 故障排查(解决软件错误问题):【技改检修2016软件】初始化失败了
|
||||
# 费用计算(专属意图,复杂计算推理)
|
||||
# 下载与安装(询问软件的下载和安装):【配网D3软件】程序包发我;【配网D3软件】怎么安装
|
||||
def intention_judge():
|
||||
# 费用计算另处理
|
||||
PromptTemplate1 = """
|
||||
你是一个智能意图分类助手。请根据用户的问题,将其归类到以下意图中:
|
||||
|
||||
1. 查询功能(询问软件功能或用途)
|
||||
2. 操作指导(询问具体使用方法)
|
||||
3. 故障排查(解决软件错误问题)
|
||||
4. 下载安装(关于软件的下载和安装问题)
|
||||
|
||||
用户的问题是:"{query}"
|
||||
|
||||
请明确指出该问题属于哪个意图类别。
|
||||
|
||||
输出格式:str类型
|
||||
|
||||
注意你的回复答案一定是[查询功能、操作指导、故障排查、下载安装]之一,不要有其他回答,不要解释说明
|
||||
"""
|
||||
|
||||
Prompt = ChatPromptTemplate.from_template(PromptTemplate1)
|
||||
|
||||
Chain = Prompt | qwen_llm | StrOutputParser()
|
||||
|
||||
return Chain
|
||||
|
||||
|
||||
def domain_judge():
|
||||
# 费用计算另处理
|
||||
PromptTemplate1 = """
|
||||
你是一个领域问题分类助手。请根据用户的问题,将其归类到以下软件领域中:
|
||||
|
||||
1. 西藏造价软件Z1
|
||||
2. 新型储能计价通C1
|
||||
3. 技改检修计价通T1
|
||||
4. 未知 (用户输入没有提到具体软件名称,就回答‘未知’)
|
||||
|
||||
用户输入:"{query}"
|
||||
|
||||
请明确指出该问题属于哪个领域问题分类。
|
||||
|
||||
输出格式:str类型
|
||||
|
||||
注意:
|
||||
1. 你的回复答案一定是[西藏造价软件Z1、新型储能计价通C1、技改检修计价通T1、未知]之一,不要有其他回答,不要解释说明
|
||||
2. 如果用户输入没有说明具体哪个软件,则回答‘未知’
|
||||
"""
|
||||
|
||||
Prompt = ChatPromptTemplate.from_template(PromptTemplate1)
|
||||
|
||||
Chain = Prompt | deep_v3 | StrOutputParser()
|
||||
|
||||
return Chain
|
||||
|
||||
def domain_judge_v2():
|
||||
# 费用计算另处理
|
||||
PromptTemplate1 = """
|
||||
你是一个不全软件名称的助手。请根据用户的问题,进行补全:
|
||||
|
||||
1. 西藏造价软件Z1
|
||||
2. 新型储能计价通C1
|
||||
3. 技改检修计价通T1
|
||||
4. 未知 (用户输入没有提到具体软件名称,就回答‘未知’)
|
||||
|
||||
用户输入:"{query}"
|
||||
|
||||
输出格式:str类型
|
||||
|
||||
注意:
|
||||
1. 你的回复答案一定是[西藏造价软件Z1、新型储能计价通C1、技改检修计价通T1、未知]之一,不要有其他回答,不要解释说明
|
||||
"""
|
||||
|
||||
Prompt = ChatPromptTemplate.from_template(PromptTemplate1)
|
||||
|
||||
Chain = Prompt | deep_v3 | StrOutputParser()
|
||||
|
||||
return Chain
|
||||
|
||||
|
||||
def judge_5W2H():
|
||||
PromptTemplate1 = """
|
||||
你是一位专业的语言分析师。请根据以下输入,识别出它属于5W2H中的哪一类:
|
||||
- What: 表示“什么”。
|
||||
- Why: 表示“为什么”。
|
||||
- When: 表示“什么时候”。
|
||||
- Where: 表示“在哪里”。
|
||||
- Who: 表示“谁”。
|
||||
- How: 表示“如何”。
|
||||
- How much: 表示“多少”。
|
||||
|
||||
输入: {query}
|
||||
请判断并仅返回类别名称。
|
||||
"""
|
||||
|
||||
Prompt = ChatPromptTemplate.from_template(PromptTemplate1)
|
||||
|
||||
Chain = Prompt | qwen_llm | StrOutputParser()
|
||||
|
||||
return Chain
|
||||
|
||||
|
||||
def extract_keywords():
|
||||
PromptTemplate1 = """
|
||||
你是一位专业的语言分析师。请根据以下输入内容,精准提取“需求”部分:
|
||||
|
||||
软件名称:{software_name}
|
||||
5W2H 类型:{_5w2h_type}
|
||||
用户输入:{query}
|
||||
|
||||
提取规则:
|
||||
仅提取用户输入中,除软件名称和5W2H类型以外的“需求”部分,保持原意简洁输出,不添加解释或思考过程。
|
||||
|
||||
示例1:
|
||||
软件名称:新型储能计价通C1
|
||||
5W2H 类型:How
|
||||
用户输入:储能软件,怎么批量将乙供主材改为甲供
|
||||
输出:批量将乙供主材改为甲供
|
||||
|
||||
示例2:
|
||||
软件名称:西藏造价软件Z1
|
||||
5W2H 类型:What
|
||||
用户输入:西藏Z1软件,海报高度选择不同影响什么
|
||||
输出:海报高度选择不同影响什么
|
||||
|
||||
注意事项:
|
||||
- 输出仅包含“需求”内容
|
||||
- “需求”需要你根据语义总结
|
||||
- 不要输出任何解释或推理过程
|
||||
"""
|
||||
|
||||
Prompt = ChatPromptTemplate.from_template(PromptTemplate1)
|
||||
|
||||
Chain = Prompt | qwen_llm | StrOutputParser()
|
||||
|
||||
return Chain
|
||||
|
||||
# def answer_questions():
|
||||
# PromptTemplate1 = """
|
||||
# 你是一个回答助手,请根据检索到的知识内容来回答用户的问题。
|
||||
#
|
||||
# # 用户问题:
|
||||
# {query}
|
||||
#
|
||||
# # 检索到的知识内容:
|
||||
# {kg}
|
||||
#
|
||||
# # 回答要求:
|
||||
# 1. 仅依据检索到的知识内容进行回答,不要引入任何其他未提供的知识。
|
||||
# 2. 如果检索内容中仅有部分信息与你判断相关,请结合有用部分作答,忽略无关内容。
|
||||
# 3. 如果你无法根据检索内容推理或回答用户问题,请回答:“没有相关知识”。
|
||||
#
|
||||
# """
|
||||
#
|
||||
# Prompt = ChatPromptTemplate.from_template(PromptTemplate1)
|
||||
#
|
||||
# Chain = Prompt | deep_v3 | StrOutputParser()
|
||||
#
|
||||
# return Chain
|
||||
|
||||
def answer_questions():
|
||||
PromptTemplate1 = """
|
||||
请严格根据以下框架回答用户问题:
|
||||
|
||||
# 用户问题:
|
||||
{query}
|
||||
|
||||
# 检索到的知识内容:
|
||||
{kg}
|
||||
|
||||
# 回答规则 (必须逐条遵守):
|
||||
1. 相关性优先原则
|
||||
- 必须严格检查检索内容与用户问题的相关性
|
||||
- 仅当检索内容中存在至少一条与问题直接相关的明确证据时,才允许作答
|
||||
- 若检索内容整体与问题无关,即使内容正确,也必须回答"没有相关知识"
|
||||
|
||||
2. 精准引用原则
|
||||
- 回答必须完全基于检索内容中的有效证据
|
||||
- 禁止添加任何外部知识、常识推理或主观猜测
|
||||
- 禁止对检索内容进行延伸解读,仅允许直接相关的事实陈述
|
||||
|
||||
3. 部分相关处理
|
||||
- 当检索内容中只有部分段落相关时:
|
||||
1. 先验证该段落是否直接对应问题核心
|
||||
2. 确认无误后仅使用该部分作答
|
||||
3. 主动忽略其他无关内容
|
||||
|
||||
4. 拒绝回答场景
|
||||
- 检索内容与问题无逻辑关联时
|
||||
- 需要连接多个非直接相关片段进行推理时
|
||||
- 存在相关表述但缺乏明确证据支持时
|
||||
|
||||
# 回答要求
|
||||
1. 基于以上回答规则,仅做回答,不要加上思考过程
|
||||
|
||||
"""
|
||||
|
||||
Prompt = ChatPromptTemplate.from_template(PromptTemplate1)
|
||||
|
||||
Chain = Prompt | deep_v3 | StrOutputParser()
|
||||
|
||||
return Chain
|
||||
@@ -0,0 +1,204 @@
|
||||
"""
|
||||
===================================
|
||||
@Auther:WenZ
|
||||
@Company: BooWay
|
||||
@project:booway_dm
|
||||
===================================
|
||||
"""
|
||||
|
||||
# from langchain_community.chat_models import ChatOpenAI
|
||||
from langchain_openai import ChatOpenAI
|
||||
from langchain_core.output_parsers import StrOutputParser
|
||||
from langchain_core.prompts import ChatPromptTemplate
|
||||
from langchain_core.prompts.prompt import PromptTemplate
|
||||
from langchain_core.output_parsers import JsonOutputParser
|
||||
|
||||
|
||||
# qwen_llm = ChatOpenAI(model='deepseek-qwen2.5-32b',base_url="http://172.20.0.145:9995/v1/",api_key='233',temperature=1)
|
||||
|
||||
# temperature=0.7
|
||||
qwen_llm = ChatOpenAI(
|
||||
openai_api_base="https://api.siliconflow.cn/v1",
|
||||
model_name="Qwen/Qwen2.5-72B-Instruct",
|
||||
# sk-muuqautpcyuowjtgfecbnivqodlhzydtfslqkmwbknawejsx
|
||||
openai_api_key="sk-bbeamiumkouptsrueilgufqqyuumelcsivxwjbdugqwsqhwj",
|
||||
temperature=0.1
|
||||
)
|
||||
|
||||
deep_v3 = ChatOpenAI(
|
||||
openai_api_base="https://api.siliconflow.cn/v1",
|
||||
model_name="deepseek-ai/DeepSeek-V3",
|
||||
# sk-muuqautpcyuowjtgfecbnivqodlhzydtfslqkmwbknawejsx
|
||||
openai_api_key="sk-bbeamiumkouptsrueilgufqqyuumelcsivxwjbdugqwsqhwj",
|
||||
temperature=0.1
|
||||
)
|
||||
|
||||
# 软件名重写
|
||||
def software_name_rewrite():
|
||||
PromptTemplate = """
|
||||
你要根据用户问题,将软件全称替换上去
|
||||
|
||||
用户问题:{query}
|
||||
软件全称:{software_name}
|
||||
|
||||
仅做替换,不做其他任何改变
|
||||
"""
|
||||
|
||||
Prompt = ChatPromptTemplate.from_template(PromptTemplate)
|
||||
|
||||
Chain = Prompt | qwen_llm | StrOutputParser()
|
||||
|
||||
return Chain
|
||||
|
||||
def retrieval_rewrite():
|
||||
PromptTemplate = """
|
||||
你是一名专业的问答优化助手,任务是基于多维度信息,对用户的问题进行重构以提升知识库的检索准确率。
|
||||
|
||||
请严格按以下步骤重构用户问题:
|
||||
# 第一步,了解输入信息
|
||||
- 原始问题:{query}
|
||||
- 5W2H类型:{question_type}
|
||||
- 意图识别:{intention_type}
|
||||
- 检索到的关键词:{keywords}
|
||||
|
||||
# 第二步,关键词与意图匹配校验
|
||||
- 判断检索到的关键词是否与用户意图匹配。
|
||||
- 若不匹配,直接输出:知识库无检索内容,待更新
|
||||
- 若匹配,进入下一步
|
||||
|
||||
# 步骤三:问题专业术语转换
|
||||
- 以检索到的关键词替换口语化表述,明确专业术语,形成专业、自然的重构问题。
|
||||
|
||||
# 示例:
|
||||
1. 示例1:关键词匹配
|
||||
输入:
|
||||
原始问题:【西藏造价软件Z1】如何把西藏老定额工程升级成西藏Z1的新定额工程
|
||||
5W2H类型:how
|
||||
意图识别:操作指导
|
||||
检索到的关键词:【'老版本定额升级', '批量设置定额'】
|
||||
输出:
|
||||
【西藏造价软件Z1】如何进行【老版本定额升级】?
|
||||
|
||||
2. 示例2:关键词不匹配
|
||||
输入:
|
||||
原始问题:【西藏造价软件Z1】软件界面字体太小了怎么办?
|
||||
5W2H类型:how
|
||||
意图识别:界面操作
|
||||
检索到的关键词:【'定额升级', '工程批量导入'】
|
||||
输出:
|
||||
知识库无检索内容,待更新
|
||||
|
||||
# 注意
|
||||
- 现在请严格按照以上流程和格式,处理接下来输入的问题,确保结果的专业性和检索准确性
|
||||
- 不要输出思考过程,仅输出处理结果
|
||||
""".strip()
|
||||
|
||||
Prompt = ChatPromptTemplate.from_template(PromptTemplate)
|
||||
|
||||
Chain = Prompt | qwen_llm | StrOutputParser()
|
||||
|
||||
return Chain
|
||||
|
||||
def to_normal_rewrite():
|
||||
PromptTemplate = """
|
||||
你是一个智能问答重写助手,请将用户提出的问题,重写为结构化、规范表达,符合下列范式:
|
||||
【软件名称】【其他内容】
|
||||
|
||||
请根据以下用户问题进行规范表达:
|
||||
|
||||
用户问题:{query}
|
||||
|
||||
结构化问题:
|
||||
""".strip()
|
||||
|
||||
Prompt = ChatPromptTemplate.from_template(PromptTemplate)
|
||||
|
||||
Chain = Prompt | deep_v3 | StrOutputParser()
|
||||
|
||||
return Chain
|
||||
|
||||
# 查询功能
|
||||
def query_function_rewrite():
|
||||
PromptTemplate = """
|
||||
你是一个智能问答重写助手,请将用户提出的关于“软件功能查询类”的问题,重写为结构化、规范表达,符合下列范式之一:
|
||||
1. 【软件名称】的【功能模块/名词】是做什么的?
|
||||
2. 【软件名称】如何【动作动词】【功能模块/名词】?
|
||||
|
||||
请根据以下用户问题进行规范表达:
|
||||
|
||||
用户问题:{query}
|
||||
|
||||
结构化问题:
|
||||
""".strip()
|
||||
|
||||
Prompt = ChatPromptTemplate.from_template(PromptTemplate)
|
||||
|
||||
Chain = Prompt | deep_v3 | StrOutputParser()
|
||||
|
||||
return Chain
|
||||
|
||||
# 操作指导
|
||||
def operation_guidance_rewrite():
|
||||
PromptTemplate = """
|
||||
你是一个智能问答重写助手,请将用户提出的关于“软件操作指导类”的问题,重写为结构化、规范表达,符合以下范式之一:
|
||||
1. 【软件名称】怎么使用【某功能/工具】?
|
||||
2. 【软件名称】如何【批量操作/处理】【内容类型】?
|
||||
|
||||
请根据以下用户问题进行规范表达:
|
||||
|
||||
用户问题:{query}
|
||||
|
||||
结构化问题:
|
||||
""".strip()
|
||||
|
||||
Prompt = ChatPromptTemplate.from_template(PromptTemplate)
|
||||
|
||||
Chain = Prompt | deep_v3 | StrOutputParser()
|
||||
|
||||
return Chain
|
||||
|
||||
# 故障排查
|
||||
def troubleshooting_rewrite():
|
||||
PromptTemplate = """
|
||||
你是一个智能问答重写助手,请将用户提出的关于“软件故障排查类”的问题,重写为结构化、规范表达,符合以下范式之一:
|
||||
1. 【软件名称】出现【报错信息/故障现象】怎么办?
|
||||
2. 为什么【软件名称】打不开/闪退/安装失败?
|
||||
3. 【软件名称】提示【具体错误】是什么意思?
|
||||
4. 如何修复【软件名称】中的【功能异常】问题?
|
||||
|
||||
请根据以下用户问题进行规范表达:
|
||||
|
||||
用户问题:{query}
|
||||
|
||||
结构化问题:
|
||||
""".strip()
|
||||
|
||||
Prompt = ChatPromptTemplate.from_template(PromptTemplate)
|
||||
|
||||
Chain = Prompt | deep_v3 | StrOutputParser()
|
||||
|
||||
return Chain
|
||||
|
||||
# 下载安装
|
||||
def access_rewrite():
|
||||
PromptTemplate = """
|
||||
你是一个智能问答重写助手,请将用户提出的关于“软件下载与安装类”的问题,重写为结构化、规范表达,符合以下范式之一:
|
||||
1. 怎么下载【软件名称/插件】?
|
||||
2. 【软件名称/插件】怎么下载不了?
|
||||
3. 如何在【操作系统名称】上安装【软件名称】?
|
||||
|
||||
请根据以下用户问题进行规范表达:
|
||||
|
||||
用户问题:{query}
|
||||
|
||||
结构化问题:
|
||||
""".strip()
|
||||
|
||||
Prompt = ChatPromptTemplate.from_template(PromptTemplate)
|
||||
|
||||
Chain = Prompt | deep_v3 | StrOutputParser()
|
||||
|
||||
return Chain
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
[
|
||||
{
|
||||
"name":"博微官网下载资源",
|
||||
"synonymous":["博微官网安装包"],
|
||||
"description":"博微官网地址:booway.com.cn"
|
||||
},
|
||||
{
|
||||
"name":"人材机调差",
|
||||
"synonymous":[],
|
||||
"description":"工程需要对人材机进行调整价差,可按市场价进行调差或按一定的系数进行调差。"
|
||||
},
|
||||
{
|
||||
"name":"dmp报错",
|
||||
"synonymous":["dmp报错","dmp闪退","dmp未响应","dmp卡死"],
|
||||
"description":"该报错提示为新版软件统一的报错提示,一般是由于环境因素或错误的文件导致的。"
|
||||
},
|
||||
{
|
||||
"name":"历史版本",
|
||||
"synonymous":[],
|
||||
"description":"历史版本需要引导用户到博微官网上下载。"
|
||||
},
|
||||
{
|
||||
"name":"历史插件",
|
||||
"synonymous":[],
|
||||
"description":"历史插件需要引导用户到博微官网上下载。"
|
||||
},
|
||||
{
|
||||
"name":"博微软件助手",
|
||||
"synonymous":[],
|
||||
"description":""
|
||||
},
|
||||
{
|
||||
"name":"锁",
|
||||
"synonymous":["软件锁","网络锁","云锁"],
|
||||
"description":"保护软件免遭非法复制和使用"
|
||||
},
|
||||
{
|
||||
"name":"合并锁",
|
||||
"synonymous":[],
|
||||
"description":""
|
||||
},
|
||||
{
|
||||
"name":"软件锁号",
|
||||
"synonymous":["锁号"],
|
||||
"description":"软件中用于标识和管理锁的唯一编号或标识符"
|
||||
},
|
||||
{
|
||||
"name":".NET框架",
|
||||
"synonymous":[".NET Framework"],
|
||||
"description":"由微软开发的一种软件框架,用于构建、运行和部署各种类型的应用程序"
|
||||
},
|
||||
{
|
||||
"name":"网络锁服务器",
|
||||
"synonymous":["服务器安装程序","锁服务器2008版","电力工程造价2008服务器"],
|
||||
"description":"一种软件授权管理解决方案,它通过网络为多个客户端提供软件许可证管理和验证服务"
|
||||
},
|
||||
{
|
||||
"name":".NET2.0框架",
|
||||
"synonymous":[".net2.0框架","Framework_2.0_SDK"],
|
||||
"description":"由微软开发的一种软件框架,用于构建、运行和部署各种类型的应用程序"
|
||||
},
|
||||
{
|
||||
"name":"锁许可证",
|
||||
"synonymous":[""],
|
||||
"description":"在软件开发和系统管理中用于控制资源访问的一种机制。"
|
||||
},
|
||||
{
|
||||
"name":"锁驱动",
|
||||
"synonymous":[],
|
||||
"description":"用于管理和控制资源访问的软件模块"
|
||||
},
|
||||
{
|
||||
"name":"安装流程",
|
||||
"synonymous":["安装操作步骤"],
|
||||
"description":""
|
||||
},
|
||||
{
|
||||
"name":"端口占用",
|
||||
"synonymous":["端口被占用"],
|
||||
"description":""
|
||||
},
|
||||
{
|
||||
"name":"runtime error",
|
||||
"synonymous":["运行时错误"],
|
||||
"description":"在程序执行过程中发生的一种错误"
|
||||
},
|
||||
{
|
||||
"name":"普通锁",
|
||||
"synonymous":[],
|
||||
"description":"仅支持永久授权,锁丢失后不可控制,不支持补锁"
|
||||
},
|
||||
{
|
||||
"name":"保险锁",
|
||||
"synonymous":[],
|
||||
"description":"购买并开通“丢锁补锁”服务的新一代加密锁;“丢锁补锁”服务收费500元/个,主要为补锁硬件成本费用和服务费用(详情联系当地负责人了解)"
|
||||
},
|
||||
{
|
||||
"name":"锁冲突",
|
||||
"synonymous":["新老软件锁冲突"],
|
||||
"description":"完成了单机锁的注册后,每次打开博微软件都要进行注册。"
|
||||
},
|
||||
{
|
||||
"name":"数据库连接错误",
|
||||
"synonymous":["数据库连接出现错误"],
|
||||
"description":"一般为数据库与网络端未正常连接导致,可修改数据库配置以达到数据库与网络端正常连接。"
|
||||
},
|
||||
{
|
||||
"name":"LockSoftwareService",
|
||||
"synonymous":[],
|
||||
"description":"用于管理和控制软件锁的服务或模块"
|
||||
},
|
||||
{
|
||||
"name":"Error at hooking API",
|
||||
"synonymous":[],
|
||||
"description":"在尝试对某个 API 进行挂钩(hooking)时发生的错误"
|
||||
}
|
||||
]
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,80 @@
|
||||
[
|
||||
{
|
||||
"name": "历史版本下载",
|
||||
"describe": {
|
||||
"使用场景": "如何下载之前的历史版本/历史插件",
|
||||
"知识原理": "",
|
||||
"费用去向": "历史版本需要引导用户到博微官网上下载。",
|
||||
"操作方法": "登录官网下载——>找到需要下载的软件图标点击进入——>下方“历史版本”列表,找到需要的版本——>点击“查看”按钮,进入下载页面;",
|
||||
"补充说明": "",
|
||||
"常见问题": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "历史插件下载",
|
||||
"describe": {
|
||||
"使用场景": "如何下载之前的历史版本/历史插件",
|
||||
"知识原理": "",
|
||||
"费用去向": "历史版本需要引导用户到博微官网上下载。",
|
||||
"操作方法": "登录官网下载——>找到需要下载的软件图标点击进入——>下方“历史版本”列表,找到需要的版本——>点击“查看”按钮,进入下载页面;",
|
||||
"补充说明": "",
|
||||
"常见问题": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "从博微官网下载程序",
|
||||
"describe": {
|
||||
"使用场景": "1、如何登录博微官网下载程序;2、博微官网上如何下载程序?",
|
||||
"知识原理": "场景1:为什么不能发送云盘链接?场景2:电脑网络受限,没有外网 ,进不了官网下载,但是可以收邮件,所以要求我们发exe安装包,如何应对?场景3:客户不愿意自己去下载,就是要发送安装包,如何应对?场景4:如果用户坚持要包,不给就投诉,如何处理?以上使用场景均需要先引导用户到博微官网上下载程序",
|
||||
"费用去向": "",
|
||||
"操作方法": "在百度搜索“博微软件下载”进入——>上方选择软件分类——>下方选择软件图标——>点击进入软件下载页面——>点击“立即下载”,输入手机号及动态码登录即可下载",
|
||||
"补充说明": "",
|
||||
"常见问题": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "博微软件助手下载",
|
||||
"describe": {
|
||||
"使用场景": "1、如何下载程序?2、下载程序有没有便捷的方法?",
|
||||
"知识原理": "场景1:为什么不能发送云盘链接?场景2:电脑网络受限,没有外网 ,进不了官网下载,但是可以收邮件,所以要求我们发exe安装包,如何应对?场景3:客户不愿意自己去下载,就是要发送安装包,如何应对?场景4:如果用户坚持要包,不给就投诉,如何处理?……以上使用场景均需要先引导用户到博微软件助手或者官网上下载程序",
|
||||
"费用去向": "",
|
||||
"操作方法": "如需更新已安装博微软件的最新版本打开软件助手——>点击“软件管理”页签——>“我的软件”中点击“一键升级”即可升级到最新版本;如需安装之前未安装的博微软件,点击“软件管理”页签——>“软件下载”中点击“下载地址”,进入软件下载页面,输入手机号及验证码登录下载即可;",
|
||||
"补充说明": "",
|
||||
"常见问题": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "配网工程计价通D3软件下载",
|
||||
"describe": {
|
||||
"使用场景": "",
|
||||
"知识原理": "",
|
||||
"费用去向": "",
|
||||
"操作方法": "第一步:百度搜索“江西博微新技术有限公司”/输入网址(https://www.booway.com.cn/)进入官网;第二步:点击右侧“软件下载”或“售后服务”进入“软件下载”;第三步:点击“登录”,可通过账号密码/手机快捷登录/微信/QQ扫描二维码进行登录。第四步:“软件分类”配电网工程造价--选择“配网博微配网工程计价通D3软件(64位)”,进入后点击立即下载。",
|
||||
"补充说明": "",
|
||||
"常见问题": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "安装包下载",
|
||||
"describe": {
|
||||
"使用场景": "博微官网提供软件程序安装包、软件信息价库安装包、插件安装包等资源免费下载。",
|
||||
"知识原理": "",
|
||||
"费用去向": "",
|
||||
"操作方法": "1、进入博微公司的官方网站:[http://www.booway.com.cn](http://www.booway.com.cn/),进入“服务”——“软件下载”;2.进入软件下载页面后,左侧“产品系列”选择需下载软件类型-右边选择相应的板块;例如电力工程造价2016软件,就选择电力工程造价系列-通用版本。3.跳转至下载区域,直接点击“下载”按钮** ,或点击资源名称(跳转至该资源详细介绍页面);4. 点击“下载”后,弹出“会员登录”窗口,输入已注册账号和密码即开始下载资源。如忘记密码,点击“忘记密码”,系统会发送邮件至注册邮箱,到邮箱中打开链接修改密码。如尚未注册,点击“免费注册”,花1分钟时间即可完成注册。该账号同时可在博微云课堂、博微云盘使用",
|
||||
"补充说明": "1、普通会员(注册后未关联锁信息),下载资源仅限安装程序;2、VIP会员(注册后关联锁信息),可下载除安装程序以外的所有资源;3、普通会员升级为VIP会员的方法,见网站注册会员方法。4、博微官网注册账号,在博微云课堂、博微云盘通用。在博微云课堂可观看免费视频。",
|
||||
"常见问题": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "资源下载",
|
||||
"describe": {
|
||||
"使用场景": "博微官网提供软件程序安装包、软件信息价库安装包、插件安装包等资源免费下载。",
|
||||
"知识原理": "",
|
||||
"费用去向": "",
|
||||
"操作方法": "1、进入博微公司的官方网站:[http://www.booway.com.cn](http://www.booway.com.cn/),进入“服务”——“软件下载”;2.进入软件下载页面后,左侧“产品系列”选择需下载软件类型-右边选择相应的板块;例如电力工程造价2016软件,就选择电力工程造价系列-通用版本。3.跳转至下载区域,直接点击“下载”按钮** ,或点击资源名称(跳转至该资源详细介绍页面);4. 点击“下载”后,弹出“会员登录”窗口,输入已注册账号和密码即开始下载资源。如忘记密码,点击“忘记密码”,系统会发送邮件至注册邮箱,到邮箱中打开链接修改密码。如尚未注册,点击“免费注册”,花1分钟时间即可完成注册。该账号同时可在博微云课堂、博微云盘使用",
|
||||
"补充说明": "1、普通会员(注册后未关联锁信息),下载资源仅限安装程序;2、VIP会员(注册后关联锁信息),可下载除安装程序以外的所有资源;3、普通会员升级为VIP会员的方法,见网站注册会员方法。4、博微官网注册账号,在博微云课堂、博微云盘通用。在博微云课堂可观看免费视频。",
|
||||
"常见问题": ""
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# 使用场景
|
||||
|
||||
博微官网提供软件程序安装包、软件信息价库安装包、插件安装包等资源免费下载。
|
||||
|
||||
# 操作方法
|
||||
|
||||
1、进入博微公司的官方网站:[http://www.booway.com.cn](http://www.booway.com.cn/),进入“服务”——“软件下载”;
|
||||
|
||||
|
||||
|
||||
2.进入软件下载页面后,左侧“产品系列”选择需下载软件类型-右边选择相应的板块;
|
||||
|
||||
例如电力工程造价2016软件,就选择电力工程造价系列-通用版本。
|
||||
|
||||
|
||||
|
||||
**3****、跳转至下载区域,直接点击“下载”按钮** ,或点击资源名称(跳转至该资源详细介绍页面);
|
||||
|
||||
|
||||
**4、点击“下载”后,弹出“会员登录”窗口,输入已注册账号和密码即开始下载资源。**
|
||||
|
||||
如忘记密码,点击“忘记密码”,系统会发送邮件至注册邮箱,到邮箱中打开链接修改密码。
|
||||
|
||||
如尚未注册,点击“免费注册”,花1分钟时间即可完成注册。
|
||||
|
||||
该账号同时可在博微云课堂、博微云盘使用。
|
||||
|
||||
|
||||
|
||||
# 补充说明
|
||||
|
||||
1、普通会员(注册后未关联锁信息),下载资源仅限安装程序;
|
||||
|
||||
2、VIP会员(注册后关联锁信息),可下载除安装程序以外的所有资源;
|
||||
|
||||
3、普通会员升级为VIP会员的方法,见网站注册会员方法。
|
||||
|
||||
4、博微官网注册账号,在博微云课堂、博微云盘通用。在博微云课堂可观看免费视频。
|
||||
|
||||
[ 博微云课堂](http://learn.boowayun.com/):<http://learn.boowayun.com/>
|
||||
@@ -0,0 +1,23 @@
|
||||
# 使用场景
|
||||
|
||||
如何下载之前的历史版本/历史插件;
|
||||
|
||||
# 知识原理
|
||||
|
||||
# 费用去向
|
||||
|
||||
历史版本需要引导用户到博微官网上下载。
|
||||
|
||||
# 操作方法
|
||||
|
||||
登录官网下载——>找到需要下载的软件图标点击进入——>下方“历史版本”列表,找到需要的版本——>点击“查看”按钮,进入下载页面;
|
||||
|
||||
|
||||
|
||||
# 补充说明
|
||||
|
||||
暂无
|
||||
|
||||
# 常见问题
|
||||
|
||||
暂无
|
||||
@@ -0,0 +1,35 @@
|
||||
# 使用场景
|
||||
|
||||
1、如何登录博微官网下载程序;
|
||||
|
||||
2、博微官网上如何下载程序?
|
||||
|
||||
# 知识原理
|
||||
|
||||
场景1:为什么不能发送云盘链接?
|
||||
|
||||
场景2:电脑网络受限,没有外网 ,进不了官网下载,但是可以收邮件,所以要求我们发exe安装包,如何应对?
|
||||
|
||||
场景3:客户不愿意自己去下载,就是要发送安装包,如何应对?
|
||||
|
||||
场景4:如果用户坚持要包,不给就投诉,如何处理?
|
||||
|
||||
……
|
||||
|
||||
以上使用场景均需要先引导用户到博微官网上下载程序
|
||||
|
||||
# 费用去向
|
||||
|
||||
# 操作方法
|
||||
|
||||
在百度搜索“博微软件下载”进入——>上方选择软件分类——>下方选择软件图标——>点击进入软件下载页面——>点击“立即下载”,输入手机号及动态码登录即可下载
|
||||
|
||||
|
||||
|
||||
# 补充说明
|
||||
|
||||
暂无
|
||||
|
||||
# 常见问题
|
||||
|
||||
暂无
|
||||
@@ -0,0 +1,39 @@
|
||||
# 使用场景
|
||||
|
||||
1、如何下载程序?
|
||||
|
||||
2、下载程序有没有便捷的方法?
|
||||
|
||||
# 知识原理
|
||||
|
||||
场景1:为什么不能发送云盘链接?
|
||||
|
||||
场景2:电脑网络受限,没有外网 ,进不了官网下载,但是可以收邮件,所以要求我们发exe安装包,如何应对?
|
||||
|
||||
场景3:客户不愿意自己去下载,就是要发送安装包,如何应对?
|
||||
|
||||
场景4:如果用户坚持要包,不给就投诉,如何处理?
|
||||
|
||||
……
|
||||
|
||||
以上使用场景均需要先引导用户到博微软件助手或者官网上下载程序
|
||||
|
||||
# 费用去向
|
||||
|
||||
# 操作方法
|
||||
|
||||
如需更新已安装博微软件的最新版本
|
||||
|
||||
打开软件助手——>点击“软件管理”页签——>“我的软件”中点击“一键升级”即可升级到最新版本;
|
||||
|
||||
|
||||
|
||||
如需安装之前未安装的博微软件
|
||||
|
||||
点击“软件管理”页签——>“软件下载”中点击“下载地址”,进入软件下载页面,输入手机号及验证码登录下载即可;
|
||||
|
||||
|
||||
|
||||
# 常见问题
|
||||
|
||||
# 补充说明
|
||||
@@ -0,0 +1,34 @@
|
||||
# 使用场景
|
||||
|
||||
# 知识原理
|
||||
|
||||
# 操作方法
|
||||
|
||||
## 引导配网D3软件官网下载操作
|
||||
|
||||
## 第一步:百度搜索“江西博微新技术有限公司”/输入网址(https://www.booway.com.cn/)进入官网;
|
||||
|
||||
## 第二步:点击右侧“软件下载”或“售后服务”进入“软件下载”;
|
||||
|
||||
## 第三步:点击“登录”,可通过账号密码/手机快捷登录/微信/QQ扫描二维码进行登录。
|
||||
|
||||
|
||||
|
||||
第四步:“软件分类”配电网工程造价--选择“配网博微配网工程计价通D3软件(64位)”,进入后点击立即下载。
|
||||
|
||||
下载
|
||||
|
||||
## 引导博微软件助手下载操作
|
||||
|
||||
## 第一步:打开博微软件助手,右上角点击“请登录”,可选择:手机快捷登录/账号密码登录的方式;
|
||||
|
||||
## 第二步:登录后,可选择【软件管理】-点击“软件管家”,软件分类中选择“配电网工程造价”或
|
||||
搜索栏快速通过关键字搜索,找到“配网工程计价通D3”,点击下载。
|
||||
|
||||
|
||||
|
||||
## 官网用户账号注册操作
|
||||
|
||||
## 若无博微用户账号,可点击账号密码登录,选择免费注册。
|
||||
@@ -0,0 +1,40 @@
|
||||
# 问题现象
|
||||
|
||||
软件安装正常,双击打开软件的时候,提示“成功将出错信息报错到······,请将此文件发送到博微公司排错处理”,如下图。或者是软件在使用过程中、点击报表输出、退出软件等,也会弹出下列报错提示。
|
||||
|
||||
注:报错提示信息形式通常有以下两类,其根目录都会生成dmp报错文件。
|
||||
|
||||
|
||||
|
||||
# 知识原理
|
||||
|
||||
该报错提示为新版软件统一的报错提示,一般是由于环境因素或错误的文件导致的。
|
||||
|
||||
# 软件操作
|
||||
|
||||
一、处理该问题之前,建议确认以下信息:
|
||||
|
||||
1、当前软件版本是什么?
|
||||
|
||||
2、做什么操作的时候出现的报错?
|
||||
|
||||
(如果是生成报表报错,可以排查电脑虚拟打印机设置情况,相关词条:[Xp系统添加虚拟打印机](index.php?doc-view-2367)
|
||||
[WIN7、WIN10系统添加虚拟打印机](index.php?doc-view-4094) )
|
||||
|
||||
3、以前是否出现过,该问题的发生频率?
|
||||
|
||||
4、是否升级过软件?以何种方式升级的软件(在线升级/下载安装包方式升级?)
|
||||
|
||||
5、主程序与插件版本是否兼容,根据各产品情况,自行排查。
|
||||
|
||||
二、问题排查处理
|
||||
|
||||
确认上述问题后,还不能解决,则按照防盗版流程排查,相关词条:[防盗版应对话术/产品安全策略处理方案](index.php?doc-view-4727)
|
||||
|
||||
若排查后不能确定是盗版,则重新发送安装包,直接覆盖安装,看是否还会报错。(出现过由于程序安装不完整,导致的报错)
|
||||
|
||||
# 常见问题
|
||||
|
||||
1、打开软件出现DMP报错?
|
||||
|
||||
2、点击报表输出界面,软件弹出DMP报错,软件自动退出;
|
||||
@@ -0,0 +1,33 @@
|
||||
# 使用场景
|
||||
|
||||
1.【现象1】打开**工程** 提示不是有效的Win32应用程序。
|
||||
|
||||
|
||||
|
||||
|
||||
2.【现象2】打开**软件** 提示不是有效的Win32应用程序。
|
||||
|
||||
# 知识原理
|
||||
|
||||
1.【现象1】是因为工程与默认打开方式的关联被破坏了。
|
||||
2.【现象2】很可能是电脑中毒了。
|
||||
|
||||
# 操作方法
|
||||
|
||||
1.针对【现象1】,可以尝试修改文件的默认打开方式。
|
||||
我们以配网软件为例,操作方法如下:
|
||||
|
||||
1)定位工程文件图标,点击鼠标“右键——打开方式——选择默认程序”;
|
||||
|
||||
2)在弹窗的推荐程序中选择默认程序为配网软件程序,若推荐程序中没有找到,可点击“其他程序”或右下角的“浏览”按钮查找配网软件程序,并勾选左下角“始终使用选择的程序打开这种文件”。
|
||||
|
||||
|
||||
|
||||
2.针对【现象2】,先用杀毒软件全盘杀毒,然后下载安装最新版本软件安装包,重新安装,若重装之后还是无法正常打开,则与博微客服联系。
|
||||
|
||||
# 补充说明
|
||||
|
||||
# 常见问题
|
||||
|
||||
1.打开工程提示不是有效的Win32应用程序?
|
||||
2.打开软件提示不是有效的Win32应用程序?
|
||||
@@ -0,0 +1,21 @@
|
||||
# 使用场景
|
||||
|
||||
内蒙古农牧配网软件、辽宁配电网工程量清单软件插上软件锁之后,设备管理器显示正常,但是软件读不到锁,登入界面“锁已插好,首次使用,我要注册软件许可证”是灰色的,进入不了注册界面,根据软件读锁失败正常流程排查之后,问题仍然无法解决,遇见此问题按照下方“操作方法”进行处理。
|
||||
|
||||
|
||||
|
||||
# 知识原理
|
||||
|
||||
# 操作方法
|
||||
|
||||
**主要原因** :使用的软件程序版本很久没有更新,软件自带的锁组件和最新的软件锁程序不匹配,导致软件读不到锁。
|
||||
|
||||
**解决方法** :软件程序更新到最新版本即可。
|
||||
|
||||
# 补充说明
|
||||
|
||||
# 常见问题
|
||||
|
||||
1、为什么内蒙农牧配网(辽宁配网清单)软件,首次使用是灰色的?
|
||||
|
||||
2、怎么软件读不到锁呢?
|
||||
@@ -0,0 +1,25 @@
|
||||
# 使用场景
|
||||
|
||||
成功安装软件,但软件无法注册。其他常规可能导致无法注册的情况都一一确认,都找不到原因,遇见此情况,请查看下方“操作方法”进行处理。
|
||||
|
||||
# 知识原理
|
||||
|
||||
现象描述:成功安装软件,但软件无法注册。其他常规可能导致无法注册的情况都一一确认,都找不到原因。
|
||||
|
||||
原因分析:经核对锁信息后,发现写锁错误,内部编码不一致。
|
||||
|
||||
# 费用去向
|
||||
|
||||
# 操作方法
|
||||
|
||||
**问题原因:** 当软件锁写锁错误,内部编码不一致时,会出现该问题。
|
||||
|
||||
**处理方法:** 联系博微客服,将锁寄回,重新写取锁信息。
|
||||
|
||||
# 补充说明
|
||||
|
||||
该问题属于特殊情况,几率比较小。
|
||||
|
||||
# 常见问题
|
||||
|
||||
1.软件注册不上?
|
||||
@@ -0,0 +1,37 @@
|
||||
# 使用场景
|
||||
|
||||
安装注册类问题无法直接定位问题时收集电脑基本信息给技术工程师检测分析。
|
||||
|
||||
# 知识原理
|
||||
|
||||
无
|
||||
|
||||
# 费用去向
|
||||
|
||||
无
|
||||
|
||||
# 操作方法
|
||||
|
||||
1、打开博微软件助手,点击“检测报告”-“开始收集”-导出,存放桌面就可以。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# 补充说明
|
||||
|
||||
博微助手2.0之前版本操作如下:
|
||||
|
||||
1、打开博微软件助手,在软件锁管理的诊断和修复中点击“一键检测”
|
||||
|
||||
|
||||
|
||||
2、检测完成后点击深度体检
|
||||
|
||||
|
||||
|
||||
3、深度体检完成后点击导出按钮,即可导出检测报告。
|
||||
|
||||
|
||||
|
||||
# 常见问题
|
||||
@@ -0,0 +1,152 @@
|
||||
# 一、主网清单规范编码
|
||||
|
||||
工程量招标项目清单的项目编码由十二位编码组成,共分五级:
|
||||
|
||||
1、第一级为二位**工程代码** ,用英文字母表示。
|
||||
|
||||
**国网清单11规范:** “BT” 变电建筑、“BA” 变电安装;“HT”换流站建筑、“HA”
|
||||
换流站安装;“BT”通信建筑、“TA”通信安装;**“SK”** 架空线路、“LT”电缆建筑、“LA”电缆安装;
|
||||
|
||||
**国网清单14规范:** “BT” 变电建筑、“BA” 变电安装;“HT”换流站建筑、“HA”
|
||||
换流站安装;“BT”通信建筑、“TA”通信安装(TS为通信安装对应架空光(电)缆和敷设光(电)缆的项目编码);“JT”接地建筑、“JA”接地安装、**“SD”**
|
||||
架空线路、“LT”电缆建筑、“LA”电缆安装;“SD”光缆线路;
|
||||
|
||||
**行业清单 11规范:**“BT” 变电建筑、“BA” 变电安装;“HT”换流站建筑、“HA”
|
||||
换流站安装;“BT”通信建筑、“TA”通信安装;**“SD”架空线路** 、“LT”电缆建筑、“LA”电缆安装;
|
||||
|
||||
**“FT” 燃煤发电建筑、“FA”燃煤 发电安装;“RT”燃气发电建筑、“RA”燃气发电建筑;**
|
||||
|
||||
**行业清单 17规范:**“2A” 变电建筑、“2B” 变电安装;“2C”开关站建筑、“2D”
|
||||
开关站安装;“2E”换流站建筑、“2F”换流站安装;”2G“换流站接地极建筑、”2H“换流站接地极安装;”2J“串联补偿建筑、”2K“串联补偿安装;”2L“静止无功补偿建筑、”2M“静止无功补偿安装;”2N“调相机建筑工程、”2P“调相机安装工程;”2A“通信建筑工程、”2Q“通信安装工程;**“3A”架空线路**
|
||||
、“3B”电缆建筑、“3C”电缆安装;
|
||||
|
||||
**“1A” 燃煤发电建筑;“1B”燃煤机务工程、”1C“燃煤电气工程;“1D”燃气建筑工程;“1E”燃气机务工程、”1F“燃气电气工程;**
|
||||
|
||||
**行业清单 2021规范:**“2A” 变电建筑、“2B” 变电安装;“2C”开关站建筑、“2D”
|
||||
开关站安装;“2E”换流站建筑、“2F”换流站安装;”2L“换流站接地极建筑、”2M“换流站接地极安装;”2G“串联补偿建筑、”2H“串联补偿安装;”2J“静止无功补偿建筑、”2K“静止无功补偿安装;”2N“调相机建筑工程、”2P“调相机安装工程;”2Q“通信建筑工程、”2R“通信安装工程;****
|
||||
“3A”架空线路、“3B”电缆建筑、“3C”电缆安装;
|
||||
|
||||
**“1A” 燃煤发电建筑;“1B”燃煤机务工程、”1C“燃煤电气工程;“1D”燃气建筑工程;“1E”燃气机务工程、”1F“燃气电气工程;**
|
||||
|
||||
2、第二级和第三级为**项目划分编码** ,分别用两位阿拉伯数字表示;
|
||||
|
||||
3、第四级为**清单项目名称编码** ,用一位英文字母加两位阿拉伯数字表示;
|
||||
|
||||
4、第五级为清单项目特征**顺序码** ,用三位阿拉伯数字表示.
|
||||
|
||||
|
||||
|
||||
# 二、技改检修清单规范编码
|
||||
|
||||
## 技改行业2018清单编码(技改清单T 1软件/技改行业清单2018软件)
|
||||
|
||||
## 一、清单编码 技改 检修 拆除 建筑 JA、JB XA CA 电气 JC、JD、JE、JF XC、XD、XE、XF CC 通信 JG XG、XH
|
||||
CG、CH 架空 JK XK CK 电缆 JL XL CL 措施项目 JM JM JM二、项目划分编码 技改 检修 变电站 建筑 JA XA 安装 JE
|
||||
XE 建筑拆除 JA 无 安装拆除 JE 无 换流站 建筑 JB XB 安装 JF XF 建筑拆除 JB 无 安装拆除 JF 无 技改 检修 通信站 建筑
|
||||
JM XM 安装 JN XN 建筑拆除 JM 无 安装拆除 JN 无 串联补偿站 建筑 JC XC 安装 JG XG 建筑拆除 JC 无 安装拆除 JG 无
|
||||
技改 检修 接地极极址工程 建筑 JD XD 安装 JH XH 建筑拆除 JD 无 安装拆除 JH 无 配电(开关)站工程 建筑 JP XP 安装 JR
|
||||
XR 建筑拆除 JP 无 安装拆除 JR 无 技改 检修 充(换)电站工程 建筑 JQ XQ 安装 JS XS 建筑拆除 JQ 无 安装拆除 JS 无
|
||||
架空输电线路 安装 JK XK 拆除 JK 无 通信线路 安装 JN XN 拆除 JN 无 技改 检修 电缆线路 建筑 JL XL 安装 JL XL
|
||||
建筑拆除 JL 无 安装拆除 JL 无青海专版清单编码(T1清单青海专版/技改检修2016青海专版) 技改 检修变电站 建筑 GB XB 安装 GA XA
|
||||
建筑拆除 CB 无 安装拆除 CA 无换流站 建筑 GH XH 安装 GL XL 建筑拆除 CH 无 安装拆除 CL 无 技改 检修 通信站 建筑 GT
|
||||
XT 安装 GG XG 建筑拆除 CT 无 安装拆除 CG 无 串联补偿站 建筑 GC XC 安装 GZ XZ 建筑拆除 CC 无 安装拆除 CZ 技改
|
||||
检修 配电站工程 建筑 GW XW 安装 GP XP 建筑拆除 CW 无 安装拆除 CP 无 架空输电线路 安装 GJ XJ 拆除 CJ 无 通信线路 安装
|
||||
GX XX 拆除 CX 无 技改 检修 电缆线路 建筑 GD XD 安装 GS XS 建筑拆除 CD 无 安装拆除 CS
|
||||
无蒙东清单编码(技改检修2016蒙东专版)
|
||||
|
||||
##
|
||||
1、第一级为二位工程代码,用英文字母表示。如下表:技改检修变电站建筑GTXT安装GAXA建筑拆除CT无安装拆除CA无换流站建筑GHXH安装GZXJ建筑拆除CH无安装拆除CZ无通信站建筑GFXZ安装GNXS建筑拆除CF无安装拆除CN无串联补偿站建筑GCXC安装GBXB建筑拆除CC无安装拆除CB无配电站建筑GPXP安装GXXD建筑拆除CP无安装拆除CX无架空输电线路安装GKXK拆除CK无电缆线路建筑GLXL安装GDXM建筑拆除CL无安装拆除CD无通信线路安装GQXX拆除CQ无2、第二级和第三级为项目划分编码,分别用两位阿拉伯数字表示;3、第四级为清单项目名称编码,用一位英文字母加两位阿拉伯数字表示;4、第五级为清单项目特征顺序码,用三位阿拉伯数字表示。
|
||||
|
||||
# 三、核电清单规范编码
|
||||
|
||||
1.核电建造工程清单:JA、JB、JC、JD、JE、JF、JG、JH、JJ、JK、JL、JM、JN、JP、ZJ
|
||||
|
||||
2.核电工艺设备管道安装工程清单库:GA、GB、GC、GD、GE、GF、GG、GH、GJ、GK、GL、ZG
|
||||
|
||||
3.核电通风空调安装工程清单库:TA、TB、TC、ZT
|
||||
|
||||
4.核电电气安装工程清单库:DA、DB、DC、DD、DE、DF、DG、DJ、DK、DM、DN、DP、DQ、DR、ZD
|
||||
|
||||
5.核电仪表与控制安装工程清单库:YA、YB、YC、YD、YE、YF、YG、YH、ZY
|
||||
|
||||
6.核电措施项目清单库:ZZ
|
||||
编码格式如:JA01.01.02
|
||||
|
||||
|
||||
|
||||
# 四、配网清单规范编码
|
||||
|
||||
**软件**| **清单规范**| **清单编码位数**| **清单编码**|
|
||||
配网造价2017| 国网清单| 12位(形如PX1101A11001)| -| PD
|
||||
配电站| PX
|
||||
架空线路| PL
|
||||
电缆线路| PZ
|
||||
通信| | |
|
||||
辽宁清单| 12位(形如PD1101A11001)| -| PD
|
||||
配电站| PC
|
||||
充(换)电站| PX
|
||||
架空线路| PL
|
||||
电缆线路| | |
|
||||
山西清单| 12位(形如PD1101A11001)| -| PD
|
||||
配电站| PC
|
||||
充(换)电站| PX
|
||||
架空线路| PL
|
||||
电缆线路| | |
|
||||
内蒙清单| 11位(形如NPT10101001)| -| NPT
|
||||
土建| NPA
|
||||
安装| | | | |
|
||||
广东配网2017| 广东清单| 12位(形如PA1111PA0101)| -| PA
|
||||
配电(开关)站| PB
|
||||
充(换)电站| PE
|
||||
架空线路| PF
|
||||
电缆线路| | |
|
||||
广州清单| 10位(形如PT10101001)| -| PT
|
||||
建筑| PA
|
||||
安装| | | | |
|
||||
行业清单2018| 行业清单2018| 12位(形如PA1111PA0101)| 专业工程项目划分代码| PA
|
||||
配电(开关)站建筑| PB
|
||||
充(换)电站建筑| PC
|
||||
配电(开关)站安装| PD
|
||||
充(换)电站安装| PE
|
||||
架空线路| PF
|
||||
电缆线路|
|
||||
清单项目名称编码| PA
|
||||
配电(开关)站| PG
|
||||
通信及自动化| PK
|
||||
架空线路| PL
|
||||
电缆线路| PM
|
||||
措施项目| |
|
||||
行业清单nmp2018| 内蒙行业清单2018| 12位(形如PA1111PT0101)| 专业工程项目划分代码| PA
|
||||
配电(开关)站建筑| PB
|
||||
充(换)电站建筑| PC
|
||||
配电(开关)站安装| PD
|
||||
充(换)电站安装| PE
|
||||
架空线路| PF
|
||||
电缆线路|
|
||||
清单项目名称编码| PA
|
||||
配电(开关)站建筑| PG
|
||||
通信及自动化| PK
|
||||
架空线路| PL
|
||||
电缆线路| |
|
||||
西藏配网清单2020 | 行业清单2018 | 12位(形如PA1111PT0101) | 专业工程项目划分代码 | PA
|
||||
配电(开关)站建筑 | PB
|
||||
充(换)电站建筑 | PC
|
||||
配电(开关)站安装| PD
|
||||
充(换)电站安装| PE
|
||||
架空线路 | PF
|
||||
电缆线路
|
||||
---|---|---|---|---|---|---|---|---|---
|
||||
清单项目名称编码| PA
|
||||
配电(开关)站| PG
|
||||
通信及自动化| PK架空线路| PL
|
||||
电缆线路| PM
|
||||
措施项目|
|
||||
|
||||
|
||||
注:行业清单编码分为三级,第一级为专业工程项目划分代码(由两位英文字母加四位阿拉伯数字表示),第二级为清单项目名称编码(用两位英文字母加两位阿拉伯数字表示),因此表格中分两行说明
|
||||
|
||||
# 五、新能源清单规范编码
|
||||
|
||||
**光伏清单:** “GF1” 光伏建筑、“GF2” 光伏安装;“GF4”光伏措施二“ ;
|
||||
|
||||
**风电清单:** “FL1” 风电建筑、“FL2” 风电安装;“FL4”风电措施二“ ;
|
||||
@@ -0,0 +1,57 @@
|
||||
使用场景
|
||||
|
||||
1、目前,用户大部分电脑上都安装了杀毒软件,最常见的有360杀毒、金山杀毒、QQ电脑管家等,由于杀毒软件更新和我们软件更新频率不一致,如果软件更新添加了新的组件,就会导致杀毒软件无法读取,默认为病毒,被查杀,最后致使软件安装完成之后无法正常使用。
|
||||
|
||||
2、如遇杀毒软件将博微软件组件认定为病毒/危险文件时,在启动或使用博微软件时会出现报错或提示,可参照本词条“操作方法”进行排查处理。
|
||||
|
||||
例如以下现象——
|
||||
|
||||
【现象1】
|
||||
|
||||
软件安装过程中弹出提示,有文件为危险文件,默认被拦截;或者打开软件提示应用程序错误/软件双击没有反应,打不开等现象,很可能是杀毒软件误杀程序文件造成的;
|
||||
|
||||
|
||||
|
||||
【现象2】
|
||||
|
||||
双击软件图标时提示软件无法启动程序,因为计算机丢失...
|
||||
|
||||
|
||||
|
||||
# 知识原理
|
||||
|
||||
# 操作方法
|
||||
|
||||
如出现杀毒软件拦截软件程序,可以通过以下两种设置方法确保软件正常运行:
|
||||
|
||||
**关闭实时监控**
|
||||
|
||||
1、在电脑任务栏的通知区域(一般在电脑右下角)选择已经运行的杀毒软件,右键--文件系统实时防护,默认是“已开启”,单击关闭实时防护功能;
|
||||
|
||||
2、然后重新安装软件。
|
||||
|
||||
**添加信任文件:**
|
||||
|
||||
以360杀毒软件操作为例
|
||||
|
||||
1、在电脑任务栏的通知区域(一般在电脑右下角)选择已经运行的杀毒软件,右键--设置,在弹出的对话框选中左侧的“白名单文件”;
|
||||
|
||||
|
||||
|
||||
2、点击添加,浏览到软件安装目录,选中软件启动图标,点击确认;
|
||||
|
||||
|
||||
|
||||
3、添加完成之后在文件区域会显示软件图标,然后点击确定就设置完成;这样软件在启动的时候,杀毒软件就不会再次检测拦截软件启动文件;
|
||||
|
||||
# 补充说明
|
||||
|
||||
1、相关词条:[杀毒软件误删组件](http://192.168.0.10/hdwiki/index.php?doc-view-3891)
|
||||
|
||||
2、如果再次安装软件,并更换了安装目录,需要重新设置新目录为信任文件。
|
||||
|
||||
|
||||
|
||||
# 常见问题
|
||||
|
||||
1、安装软件弹出杀毒软件拦截文件对话框,软件双击无法打开?
|
||||
@@ -0,0 +1,30 @@
|
||||
# 使用场景
|
||||
|
||||
注册软件提示需要许可证号,如何获得?
|
||||
|
||||
# 操作方法
|
||||
|
||||
目前查询锁信息提供**自助查询** 及**人工查询** 两种方法。
|
||||
|
||||
自助查询:您可用微信添加朋友,查找“**booway博微服务** ”关注后,在对话窗口下方的自助菜单"**有奖调查-自助查号**
|
||||
"中,输入注册单位名称和锁标签,即可查询到锁注册号。
|
||||
|
||||
可以在官网的服务-自助查号中进行查询。
|
||||
|
||||
|
||||
|
||||
人工查询:当您自助查询失败时,可通过**博微在线服务** 或**拨打客服热线0791-88116116** ,获得人工帮助。
|
||||
|
||||
# 补充说明
|
||||
|
||||
1、博微在线服务可通过以下三种方式获得:
|
||||
|
||||
1)博微官网首页:[www.booway.com.cn](http://);
|
||||
|
||||
2)软件界面上方”点击获得在线服务“;
|
||||
|
||||
3)安装软件时自带博微在线客服端。
|
||||
|
||||
2、博微人工服务时间为周一至周日 8:30-18:00,非人工服务时间需要注册号,建议采用微信自助查询方式获得注册号。
|
||||
|
||||
3、锁标签号即软件锁上刻的数字,亦称为锁号。
|
||||
@@ -0,0 +1,43 @@
|
||||
# 使用场景
|
||||
|
||||
1、怎么注册官网会员?
|
||||
|
||||
# 操作方法
|
||||
|
||||
**注册普通会员:**
|
||||
|
||||
1、首先进入博微公司的官方网站:[http://www.booway.com.cn](http://www.booway.com.cn/),选择下方下载中心“提供最新软件下载”;
|
||||
|
||||
|
||||
|
||||
2、进入产品下载区域,点击右上角“登录”后,选择“免费注册”;
|
||||
|
||||
|
||||
|
||||
3、进入注册界面,设置登录的账号和密码以及自己的基本信息,完成设置之后点击“同意协议及注册”,完成普通会员注册
|
||||
|
||||
|
||||
|
||||
4.官网也提供了QQ快捷登录,使用QQ快捷登录也可以登录官网。QQ登录需要关联账号,也可选择不关联直接登录。
|
||||
|
||||
|
||||
|
||||
**关联产品升级为 VIP****用户:**
|
||||
|
||||
1、注册普通会员后重新登录,自动进入“用户中心”,选择左侧区域的产品信息。
|
||||
|
||||
2、点击左上角"关联软件锁",输入自己的软件锁标签号和序列号完成后,点击"提交"。
|
||||
|
||||
注:序列号是和锁对应的注册软件时的许可证号(最好是把许可证号复制粘贴进入,不要复制到空格)
|
||||
|
||||
|
||||
|
||||
**6**
|
||||
|
||||
3、完成关联锁号后,需重新登录网站,会员权利即可生效。
|
||||
|
||||
|
||||
|
||||
# 补充说明
|
||||
|
||||
1、注册普通会员成功后会提示“关联产品”(数秒后自动跳转登录页面),此时点击“关联产品”也可进入关联锁信息界面。
|
||||
@@ -0,0 +1,31 @@
|
||||
# 使用场景
|
||||
|
||||
工程打不开,提示“工程文件只读或已经打开?
|
||||
|
||||
|
||||
|
||||
目前出现这类问题各款软件都有出现:配网2017、配网D3、电力建设计价通软件、技改检修计价通T1软件
|
||||
|
||||
1、计价通软件因为工程未关闭,并且使用微信测试版发送的,才会出现这类问题
|
||||
|
||||
2、可能是工程存放的文件夹没有权限造成的
|
||||
|
||||
# 费用去向
|
||||
|
||||
# 操作方法
|
||||
|
||||
工程打不开,提示“工程文件只读或已经打开?
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
方法二:设置工程存放文件夹的权限解决
|
||||
|
||||
点击“工程文件夹”,鼠标右键“属性-安全“,选择系统-编辑,勾选“完全控制”,确定
|
||||
|
||||
|
||||
|
||||
# 补充说明
|
||||
|
||||
# 常见问题
|
||||
@@ -0,0 +1,23 @@
|
||||
# 使用场景
|
||||
|
||||
双击CAD图标,默认进入配网设计软件界面,或启动配设计软件后,无法进入到设计软件中,遇到此类问题,可以参照本词条中的“操作方法”处理。
|
||||
|
||||
# 知识原理
|
||||
|
||||
出现该问题主要是因为配置项未能重新识别到AutoCAD原配置项。
|
||||
|
||||
# 操作方法
|
||||
|
||||
1、打开AutoCAD软件,进入工具->选项界面;
|
||||
|
||||
|
||||
|
||||
2、选中带尖括号的配置项(<<未命名配置>>)将其置为当前,则软件界面就会恢复原AutoCAD界面。
|
||||
|
||||
# 补充说明
|
||||
|
||||
2010、2014等高版本CAD,需在命令栏输入“OP”,点击回车键,即可进入CAD“配置”界面。
|
||||
|
||||
# 常见问题
|
||||
|
||||
1、为什么我打开CAD时,总是进入你们配网设计软件了?
|
||||
@@ -0,0 +1,40 @@
|
||||
# 知识原理
|
||||
|
||||
**软件锁的参数主要包含:**
|
||||
|
||||
1、软件锁容量
|
||||
|
||||
即从深思洛克采购回来的容量为8K、容量为32K、容量为64K的软件锁硬件。
|
||||
|
||||
区分方法:这个区分容量方法保持与原来一致,但建议不要省略"容量"两个字。即最好始终称呼32K容量、64K容量。
|
||||
|
||||
2、软件锁内程序差别
|
||||
|
||||
即适用于造价08、技改、06清单、配网等软件的老一代锁程序(客服人员所说的8K锁程序)和目前最新的适用于清单2、配网设计、造价2013版,内蒙清单软件、辽宁清单软件的新软件锁程序(客服人员所说的32K锁程序)。
|
||||
|
||||
区分方法:对于锁内程序的区分方法容易与锁硬件容量相混淆,所以建议更改原来的称呼方法。锁内程序的区分建议以软件锁应用方案的差别来区分。例如:老一代锁程序最好称呼为"一代锁程序"、新软件锁程序称呼为"二代锁程序"。这样就不容易混乱了。
|
||||
|
||||
**目前市场现存的软件锁情况****:**
|
||||
|
||||
**各年份软件锁**| **锁容量**| **锁内程序**| **对应软件**| **注册号体现形式**
|
||||
---|---|---|---|---
|
||||
10-之前的软件锁| 8k容量| 一代锁程序| 造价08、技改、06清单、配网等软件| 纯数字或字母与数字混合
|
||||
11-的锁| 8k容量| 一代锁程序| 造价08、技改、06清单、配网等软件| 纯数字或字母与数字混合
|
||||
32k容量| 一代锁程序| 造价08、技改、06清单、配网等软件| 纯数字或字母与数字混合
|
||||
32k容量| 二代锁程序| 清单2、配网设计、造价2013版,内蒙清单、辽宁清单软件| BW+数字
|
||||
12-的锁| 32k容量| 一代锁程序| 造价08、技改、06清单、配网等软件| 纯数字或字母与数字混合
|
||||
32k容量| 二代锁程序| 清单2、配网设计、造价2013版,内蒙清单、辽宁清单软件| BW+数字
|
||||
13-的锁| 64k容量| 一代锁程序| 造价08、技改、06清单、配网等软件| 纯数字或字母与数字混合
|
||||
64k容量| 二代锁程序| 清单2、配网设计、造价2013版,内蒙清单、辽宁清单软件| BW+数字
|
||||
|
||||
(注:可能还有部分其他类型,但目前没有办法收集,所以待后期遇到再行整理)
|
||||
|
||||
# 费用去向
|
||||
|
||||
# 软件操作
|
||||
|
||||
# 常见问题
|
||||
|
||||
1.新锁注册老软件注册不上怎么回事?
|
||||
|
||||
2.新锁注册老软件能否使用?
|
||||
@@ -0,0 +1,42 @@
|
||||
# 使用场景
|
||||
|
||||
设置“隐藏已知文件类型的扩展名”之后工程无法显示后缀名,导致无法判断编制该工程的软件,可通过以下方法将后缀显示出来。
|
||||
|
||||
# 操作步骤
|
||||
|
||||
**XP系统**
|
||||
|
||||
1、打开我的电脑,点击菜单栏工具按钮--文件夹选项。
|
||||
|
||||
|
||||
|
||||
2、点击查看,高级设置中,取消“隐藏已知文件类型的扩展名”勾选。
|
||||
|
||||
|
||||
|
||||
**win7系统**
|
||||
|
||||
1、打开计算机,点击左上角组织按钮--文件夹及搜索选项。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
2、点击查看,高级设置中,取消“隐藏已知文件类型的扩展名”勾选。
|
||||
|
||||
|
||||
|
||||
|
||||
**win8、win10系统**
|
||||
|
||||
1、打开计算机,点击查看按钮,勾选“文件扩展名”。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# 常见问题
|
||||
|
||||
1、工程的后缀名看不到,如何设置?
|
||||
@@ -0,0 +1,460 @@
|
||||
# 计价通系列
|
||||
|
||||
|
||||
|
||||
软件名称 | 工程文件类别 | 工程文件后缀名
|
||||
---|---|---
|
||||
博微电力建设计价通软件 | 概预算工程(定额计价) | zwzj
|
||||
建安预算工程 | zwzj
|
||||
全口径预算工程 | zwzj
|
||||
招投标工程(清单计价) | zwqd
|
||||
清单结算工程(清单计价) | zwqd
|
||||
西藏Z1软件 | 概预算工程(定额计价) | BZ11
|
||||
建安预算工程 | BZ14
|
||||
全口径预算工程 | BZ14
|
||||
招投标工程(清单计价) | BZ12
|
||||
清单结算工程(清单计价) | BZ13
|
||||
概预算工程的架线合并方案 | BZFA11
|
||||
建安预算的架线合并方案 | BZFA14
|
||||
|
||||
# 主网造价
|
||||
|
||||
|
||||
|
||||
软件名称 | 工程文件类别 | 工程文件后缀名
|
||||
---|---|---
|
||||
电力工程造价2016 | 变电 | bwbd7
|
||||
发电 | bwfd7
|
||||
线路 | bwsd7
|
||||
估算指标变电 | bwbd8
|
||||
估算指标发电 | bwsd8
|
||||
估算指标线路 | bwsd8
|
||||
架线合并方案 | bwfa7
|
||||
西藏电力工程造价2016 | 主网变电 | xzwbd2
|
||||
主网线路 | xzwsd2
|
||||
配网变电 | xpwbd2
|
||||
配网线路 | xpwsd2
|
||||
电力工程造价2014 | 变电 | bwbd6
|
||||
发电 | bwfd6
|
||||
线路 | bwsd6
|
||||
架线合并方案 | bwfa6
|
||||
西藏电力工程造价2014 | 主网变电 | xzwbd
|
||||
主网线路 | xzwsd
|
||||
配网变电 | xpwbd
|
||||
配网线路 | xpwsd
|
||||
电力工程造价2008版 | 变电 | bwbd5
|
||||
发电 | bwfd5
|
||||
线路 | bwsd5
|
||||
变电审核工程 | bwbd5s
|
||||
发电审核工程 | bwfd5s
|
||||
线路审核工程 | bwsd5s
|
||||
电力工程造价2005版(变电) | 变电 | BWEPC
|
||||
电力工程造价2005版(发电) | 发电
|
||||
电力工程造价2005版(线路) | 线路
|
||||
工程造价2005(新预规、定额)(发电) | 变电
|
||||
工程造价2005(新预规、定额)(变电) | 发电
|
||||
工程造价2005(新预规、定额)(线路) | 线路
|
||||
|
||||
# 新能源系列
|
||||
|
||||
|
||||
|
||||
软件名称 | 工程文件类别 | 工程文件后缀名
|
||||
---|---|---
|
||||
光伏发电2018 | | bgz18
|
||||
核电厂工程计价2018 | | BHD
|
||||
核电清单计价2018 | | bhq18j
|
||||
博微新能源建设计价通N1软件 | 光伏发电清单计价 | BXNQ
|
||||
风力发电定额计价 | BXND
|
||||
风力发电清单计价 | BXNQ
|
||||
博微储能计价通C1软件 | | BC11
|
||||
|
||||
# 营销软件
|
||||
|
||||
|
||||
|
||||
软件名称 | 工程文件类别 | 工程文件后缀名
|
||||
---|---|---
|
||||
陕西电力营销工程计价通M1软件 | | BMSX
|
||||
|
||||
# 全过程系列
|
||||
|
||||
|
||||
|
||||
软件名称 | 工程文件类别 | 工程文件后缀名
|
||||
---|---|---
|
||||
博微电力建设全过程计价软件 | 变电概预算工程 | bwbd9
|
||||
线路概预算工程 | bwsd9
|
||||
清单计价施工图预算工程(变电) | bdys
|
||||
清单计价施工图预算工程(线路) | sdys
|
||||
变电招标工程 | bqd9z
|
||||
线路招标工程 | sqd9z
|
||||
变电投标工程 | bqd9t
|
||||
线路投标工程 | sqd9t
|
||||
变电结算工程 | sbqd9s
|
||||
线路结算工程 | ssqd9s
|
||||
|
||||
# 经济评价软件系列
|
||||
|
||||
|
||||
|
||||
软件名称 | 工程文件类别 | 工程文件后缀名
|
||||
---|---|---
|
||||
经济评价2015软件 | 火电工程 | pjhd
|
||||
热电工程 | pjrd
|
||||
输变电工程 | pjdw
|
||||
核电工程 | pjud
|
||||
风电工程 | pjfd
|
||||
光电工程 | pjgd
|
||||
制氢工程 | pjzq
|
||||
储能工程 | pjcn
|
||||
风光工程 | pjfg
|
||||
火电建设项目经济评价 | | prg
|
||||
电网建设项目经济评价 |
|
||||
|
||||
# 技改检修
|
||||
|
||||
|
||||
|
||||
软件名称 | 工程文件类别 | 工程文件后缀名
|
||||
---|---|---
|
||||
博微技改检修工程计价通T1软件 | 概预算工程 | BT1
|
||||
应急工程 | BT1
|
||||
批次工程 | BT1P
|
||||
博微技改检修清单计价通T1软件 | | BT2
|
||||
博微技改检修清单计价通T1软件(青海清单2022) | | QHBT3
|
||||
博微电力技改检修造价软件BJG2018 | | BJGQ
|
||||
**辽宁电力技改检修清单软件BJG2019** | | BJGL
|
||||
**博微电力技改检修造价软件BJG2016** | | BJGX
|
||||
博微电力技改检修造价软件BJG2015 | | BJG
|
||||
**南方电网抢修工程预算编制软件** | | BJGT
|
||||
**电网技改检修工程预算编制软件(2.0)** | 变电技改 | bdjg2
|
||||
变电检修 | bdjx2
|
||||
线路技改 | sdjg2
|
||||
线路检修 | sdjx2
|
||||
**电网技改检修工程预算编制软件(1.0)** | 变电技改 | bwbdjg
|
||||
线路技改 | bwsdjg
|
||||
变电检修 | bwbdjx
|
||||
线路检修 | bwsdjx
|
||||
四川电网设备检修预算编制软件 | 设备 | scsb
|
||||
线路 | scxl
|
||||
山东/华北/江苏电网检修工程预算编制系统 | 设备 | bwsb
|
||||
线路 | bwxl
|
||||
蒙东技改检修工程计价软件 | 变电技改(招投标) | bqjg
|
||||
变电技改(预算) | byqjg
|
||||
变电技改(结算) | bsqjg
|
||||
变电检修(招投标) | bqjx
|
||||
变电检修(预算) | byqjx
|
||||
变电检修(结算) | bsqjx
|
||||
线路技改(招投标) | sqjg
|
||||
线路技改(预算) | syqjg
|
||||
线路技改(结算) | ssqjg
|
||||
线路检修(招投标) | sqjx
|
||||
线路检修(预算) | syqjx
|
||||
线路检修(结算) | ssqjx
|
||||
电网技改检修计价软件 | 变电技改(招投标) | bqg
|
||||
变电技改(预算) | byqg
|
||||
线路技改(招投标) | sqg
|
||||
线路技改(预算) | syqg
|
||||
变电检修(招投标) | bqx
|
||||
变电检修(预算) | byqx
|
||||
线路检修(招投标) | sqx
|
||||
线路检修(预算) | syqx
|
||||
|
||||
# 配网系列软件
|
||||
|
||||
软件名称 | 使用定额 /类型 | 工程文件后缀名
|
||||
---|---|---
|
||||
配电网工程造价编制软件
|
||||
(含专版:江西/新疆/云南/福建/黑龙江/江苏/广西) | 配网2009定额 | 单项工程:bwpw 批次造价:bwpwm
|
||||
配电网工程造价编制软件(**增值税版** ) (含专版:江西/新疆/云南//黑龙江) | 单项工程:bwpwz 批次造价:bwpwmz
|
||||
配电网工程造价编制软件(广东专版) | bwpwgd
|
||||
内蒙古电力(集团)有限责任公司
|
||||
20kV及以下农村牧区配网工程计价软件 | 电子标书/清单预算/投标报价/清单结算:nmeqd6
|
||||
内蒙古电力(集团)有限责任公司
|
||||
20kV及以下农村牧区配网工程计价软件(**增值税版** ) | 电子标书/清单预算/投标报价/清单结算:nmeqd6z
|
||||
辽宁配电网工程量清单软件 | 电子标书/清单预算/投标报价/清单结算:lnpqd6
|
||||
辽宁配电网工程量清单软件(**增值税版** ) | 电子标书/清单预算/投标报价/清单结算:lnpqd6z
|
||||
20kv及以下配电网工程量清单计价软件 | 清单综合单价:bpdqq 结算综合单价:bpdqj
|
||||
清单预算:bpdqq 工程量清单文件:bprjq
|
||||
20kv及以下配电网工程量清单计价软件(**增值税版** ) | 清单综合单价:bpdqq**z** 结算综合单价:bpdqj**z**
|
||||
清单预算:bpdqc**z** 工程量清单文件:bprjq
|
||||
重庆农网专项 | | bwnw
|
||||
重庆农网升级改造 | bwnwzx
|
||||
配电网工程设计2012 | 配网设计 | 设计工程文件:col
|
||||
配电网工程设计2016(含各专版) | 设计工程文件:pwsj
|
||||
技经接口文件:pjte
|
||||
配电网工程造价2014
|
||||
| 配网2009定额 | 定额概预算:bwp2 清单招投标:bwp1 清单结算:bwp3 批次工程:bwpc 工程量清单:bwbs(截至1.6版本不能直接打开,只能导入新建招投标工程)
|
||||
配电网工程造价2014(**增值税版** ) | 定额概预算:bwp2z 清单招投标:bwp1z 清单结算:bwp3z 批次工程:bwpcz
|
||||
云南配网清单2016软件 | 投标报价/招标控制价:yhp1 清单结算:yhp3 工程量清单:bwbs
|
||||
博微配电网工程造价软件BWP2017(全国通用版) | 配网2016定额 | 定额工程:bpz17
|
||||
清单计价:bpq17
|
||||
批次造价:bpp17
|
||||
结算工程:bps17 成本加酬金工程:bpc17(需要使用2.11.0版本) 工程量清单文件:BQD(各专版一致)
|
||||
博微配电网工程造价软件BWP2017(内蒙专版) | 清单预算:bpy17
|
||||
清单计价:bpq17
|
||||
清单结算:bps17
|
||||
博微配电网工程造价软件BWP2017(辽宁专版) | 定额工程:bpz17
|
||||
清单计价:bpq17
|
||||
定额批次造价/清单批次:bpp17
|
||||
清单结算:bps17
|
||||
博微配电网工程造价软件BWP2017(山西专版) | 定额工程:bpz17
|
||||
清单计价:bpq17
|
||||
批次造价:bpp17
|
||||
清单结算:bps17
|
||||
博微配电网工程造价软件BWP2017(云南专版) | 定额工程:bpz17
|
||||
批次造价:bpp17
|
||||
博微配电网工程造价软件BWP2017(贵州专版) | 定额工程:bpz17
|
||||
定额批次造价/清单批次:bpp17
|
||||
贵州清单(组合件形式):bpq17
|
||||
博微配电网工程造价软件BWP2017(江苏专版)
|
||||
| 定额工程(江苏标准工程):bpz17
|
||||
博微配电网工程造价软件BWP2017(河南专版) | 定额工程(河南标准工程/农网结算工程):bpz17
|
||||
博微配电网工程造价软件BWP2017(设计通用)
|
||||
| 定额工程:bpz17
|
||||
博微配电网工程造价软件GDP2017(广东专版) | 清单预算:bpy17
|
||||
清单计价:bpq17
|
||||
结算工程:bps17
|
||||
西藏配网工程造价软件2017 | 西藏2013定额 | 定额工程:bpz17
|
||||
配网清单计价2018 | 配网行业清单规范+2016版定额 | 清单计价:bphq18
|
||||
清单结算:bphs18
|
||||
内蒙古配网清单2018 | 内蒙配网行业清单规范+2016版定额 | 清单预算:bpy18
|
||||
清单计价:bpq18
|
||||
清单结算:bps18
|
||||
广西配网工程造价软件2019 | 配网2016定额 | 清单预算:bpy17
|
||||
清单计价:bpq17
|
||||
|
||||
西藏配网清单计价软件2020 | 配网行业清单规范+西藏2013定额 | 清单计价:zphq20
|
||||
结算工程:zphs20
|
||||
江苏配农网预结算应用软件JPW2018
|
||||
| 配网2016定额 | 清单预算:bhq18
|
||||
清单计价:bphq18
|
||||
清单结算:bphs18
|
||||
博微配网计价通D3软件 | 配网2016定额
|
||||
配网2021定额
|
||||
辽宁插件:辽宁清单规范2022 | 定额工程:BDD3(22定额)、bpz17(16定额)
|
||||
批次工程:BDP3(22定额)、bpp17(16定额)
|
||||
清单计价:BDQ3(22定额)、bpq17(16定额)
|
||||
清单结算:BDS3(22定额)、bps17(16定额)
|
||||
博微配网清单计价通D3软件 | 配网2016定额
|
||||
配网2021定额
|
||||
配网行业清单规范2018 | 清单计价:BDQ3(22定额)、bphq18(16定额)
|
||||
清单结算:BDS3(22定额)、bphs18(16定额)
|
||||
工程量清单:BQQ3 BQD3
|
||||
博微配网计价通D3软件(南网版) | 配网2016定额
|
||||
配网2022定额 | 清单预算:BDY3(22定额)、bpy17(16定额)
|
||||
清单计价:BDQ3(22定额)、bpq17(16定额)
|
||||
结算工程:BDS3
|
||||
博微配网计价通D3软件(内蒙专版) | 配网2016定额
|
||||
配网2022定额
|
||||
内蒙配网行业清单规范 | 清单预算:BDY3(22定额)、bpy18(16定额)
|
||||
清单计价:BDQ3(22定额)、bpq18(16定额)
|
||||
结算工程:BDS3(22定额)、bps18(16定额)
|
||||
博微配网计价通D3软件(贵州专版) | 配网2016定额
|
||||
配网2022定额 | 定额工程:BDD3(22定额)、bpz17(16定额)
|
||||
批次工程:BDP3(22定额)、bpp17(16定额)
|
||||
|
||||
|
||||
|
||||
|
||||
# 清单系列软件
|
||||
|
||||
软件名称 | 工程文件类别 | 工程文件后缀名
|
||||
---|---|---
|
||||
国网清单计价2016 | 变电工程 | bqd9
|
||||
线路工程 | sqd9
|
||||
变电结算工程 | sbqd9
|
||||
线路结算工程 | ssqd9
|
||||
西藏清单计价2016 | 变电工程 | bxqd2
|
||||
线路工程 | sxqd2
|
||||
变电结算工程 | sbxqd2
|
||||
线路结算工程 | ssxqd2
|
||||
变电建安预算/变电全口径预算工程 | zbdys
|
||||
线路建安预算/线路全口径预算工程 | zsdys
|
||||
行业清单计价2016 | 变电工程 | bhqd2
|
||||
线路工程 | shqd2
|
||||
发电工程 | fhqd2
|
||||
变电结算工程 | sbhqd2
|
||||
线路结算工程 | sshqd2
|
||||
国网清单计价2015(输变电工程工程量清单软件2014) | 变电工程 | bqd8
|
||||
线路工程 | sqd8
|
||||
变电结算工程 | sbqd8
|
||||
线路结算工程 | ssqd8
|
||||
西藏清单计价2015(博微电力工程量清单计价软件XZQ2015) | 变电工程 | bxqd
|
||||
线路工程 | sxqd
|
||||
变电结算工程 | sbxqd
|
||||
线路结算工程 | ssxqd
|
||||
输变电工程工程量清单软件II | 变电工程 | bwbqd6
|
||||
线路工程 | bweqd6
|
||||
变电结算工程 | bqd7
|
||||
线路结算工程 | sqd7
|
||||
电力建设工程量清单软件2014 | 变电工程 | bhqd
|
||||
线路工程 | shqd
|
||||
发电工程 | fhqd
|
||||
变电结算工程 | sbhqd
|
||||
线路结算工程 | sshqd
|
||||
电力工程量清单结算编制软件/输变电工程工程量清单结算编制软件 | 变电工程 | JSBQD
|
||||
线路工程 | JSEQD
|
||||
电力工程量清单计价2006变电版 | | BQD6
|
||||
电力工程量清单计价2006发电版 | | FQD6
|
||||
电力工程量清单计价2006线路版 | | EQD6
|
||||
电力工程量清单计价2009陕西变电版 | | BQD6
|
||||
电力工程量清单计价2009陕西线路版 | | EQD6
|
||||
电力工程量清单计价2009北京变电版 | | BJBQD6
|
||||
电力工程量清单计价2009北京线路版 | | BJEQD6
|
||||
电力工程量清单计价2009辽宁变电版 | | LNBQD6
|
||||
电力工程量清单计价2009辽宁线路版 | | LNEQD6
|
||||
电力工程量清单结算辽宁版 | 变电结算工程 | JSBQD6
|
||||
线路结算工程 | JSEQD6
|
||||
山东输变电工程量清单计价软件 | | SDQD6
|
||||
重庆电力建设清单结算计价通E1软件 | | zwqdc
|
||||
博微电力工程清单结算软件CQJ2016 | | sqd9c
|
||||
|
||||
# 国网大结算系列
|
||||
|
||||
|
||||
|
||||
软件名称 | 工程文件类别 | 工程文件后缀名
|
||||
---|---|---
|
||||
博微输变电工程结算2018 | | BJS2
|
||||
博微输变电工程结算2016 | | BJS
|
||||
输变电结算应用2012 | 工程 | jsgc2
|
||||
项目 | jsxm2
|
||||
输变电工程结算应用软件 | 工程 | jsgc
|
||||
项目 | jsxm
|
||||
|
||||
# 标准化应用系列软件(有更完整的对应标准化软件后缀)
|
||||
|
||||
<http://192.168.0.10/hdwiki/index.php?doc-view-6471>
|
||||
|
||||
国网输变电工程量清单标准化应用软件 招标版:zqd 或 zyzb
|
||||
|
||||
投标版:tqd 或 zytb
|
||||
|
||||
评标版:qdp
|
||||
|
||||
国网特高压直流工程工程量清单标准化应用软件 招标版: zlzbgc 或 zlzyzb
|
||||
投标版: zltbgc
|
||||
|
||||
江苏电力工程量清单标准化应用软件 招标版:zqd 或
|
||||
zyzb
|
||||
投标版:tqd
|
||||
|
||||
西藏输变电工程量清单标准化应用软件 招标版:xqbz 或 xzb
|
||||
|
||||
投标版:xqbt
|
||||
|
||||
水电工程量清单标准化应用软件 招标版:sdzyzb
|
||||
|
||||
输变电工程量清单标准化应用软件 招标版:bqbz 或
|
||||
tyzb
|
||||
|
||||
|
||||
|
||||
新疆输变电工程量清单标准化应用软件 招标版:xjqbz
|
||||
|
||||
|
||||
博微电力工程量清单标准化应用软件BQB2017 招标版:bqbz 或 tyzb17
|
||||
快捷图标简称:清单标准化应用2017 投标版:bqbt
|
||||
评标版:bqbp
|
||||
|
||||
国网输变电工程量清单标准化应用软件GWQB2017 招标版:gwqbz 或 zyzb
|
||||
快捷图标简称:国网输变电工程量清单标准化应用软件2017 投标版:gwqbt
|
||||
评标版:gwqbp
|
||||
|
||||
国网特高压直流工程量清单标准化应用软件ZLQB2017 招标版:zlqbz 或 zlzb17
|
||||
快捷图标简称:国网特高压直流工程量清单标准化应用软件2017 投标版:zlqbt
|
||||
评标版:zlqbp
|
||||
|
||||
国网特高压交流工程量清单标准化应用软件jlqb2017 招标版:jlqbz 或 jlzb17
|
||||
快捷图标简称:国网特高压交流工程量清单标准化应用软件2017 投标版:jlqbt
|
||||
评标版:jlqbp
|
||||
|
||||
博微电力工程量清单标准化应用软件JSQB2017 招标版:jsqbz 或 jszb17
|
||||
快捷图标简称:江苏电力清单标准化应用2017 投标版:jsqbt
|
||||
评标版:jsqbp
|
||||
|
||||
江西电力工程招标工程量清单标准化应用软件jxqb2017 招标版:jxqbz 或 jxzb17
|
||||
|
||||
快捷方式: 江西电力工程投标工程量清单标准化应用软件2017 投标版:jxqbt
|
||||
|
||||
评标版:jxqbp
|
||||
|
||||
福建电力工程投标工程量清单标准化应用软件fjqb2017 招标版:fjqbz 或 fjzb17
|
||||
|
||||
快捷方式:福建电力工程投标工程量清单标准化应用软件2017 投标版:fjqbt
|
||||
|
||||
评标版:fjqbp
|
||||
|
||||
|
||||
博微电力工程量清单标准化应用软件SXQB2017 招标版:sxqbz 或 sxzb17
|
||||
快捷图标简称:山西清单标准化应用2017 投标版:sxqbt
|
||||
评标版:sxqbp
|
||||
|
||||
博微电力工程量清单标准化应用软件XZQB2017 招标版:xzqbz 或 xzzb17
|
||||
快捷图标简称:西藏清单标准化应用2017 投标版:xzqbt
|
||||
评标版:xzqbp
|
||||
|
||||
西藏电力工程量清单标准化应用软件XZQB2021 招标版:xzbqz或xzzb21
|
||||
快捷图标简称:西藏清单标准化应用2021投标版:xzqbt
|
||||
|
||||
|
||||
|
||||
新疆输变电招标工程量清单标准化应用软件bxjqb2016 招标版:xjqbz 或
|
||||
xjzb
|
||||
快捷图标简称:新疆输变电投标工程量清单标准化应用软件 投标版:xjqbt
|
||||
评标版:xjqbp
|
||||
|
||||
新疆电力工程投标工程量清单标准化应用软件xjqb2017 招标版:xjqbz 或 xjzb17
|
||||
|
||||
快捷方式:新疆电力工程投标工程量清单标准化应用软件2017 投标版:xjqbt
|
||||
|
||||
评标版:xjqbp
|
||||
|
||||
|
||||
博微电力工程量清单标准化应用软件SDQB2017 招标版:sdqbz 或 sdzb17
|
||||
快捷图标简称:山东清单标准化应用2017 投标版:sdqbt
|
||||
评标版:sdqbp
|
||||
|
||||
|
||||
工程量清单高级应用-招投标辅助工具 招标版:hnqbz 或
|
||||
hnzb17
|
||||
快捷图标简称:工程量清单高级应用-招投标辅助工具 投标版:hnqbt
|
||||
评标版:hnqbp
|
||||
|
||||
博微电力工程量清单标准化应用软件QHQB2017 招标版:qhqbz 或 qhzb17
|
||||
快捷图标简称:青海清单标准化应用2017 投标版:qhqbt
|
||||
评标版:qhqbp
|
||||
|
||||
博微电力工程量清单标准化应用软件LNQB2017 招标版:lnqbz 或 lnzb17
|
||||
快捷图标简称:辽宁清单标准化应用2017 投标版:lnqbt
|
||||
评标版:lnqbp
|
||||
|
||||
博微电力工程量清单标准化应用软件SCQB2017 招标版:scqbz 或 sczb17
|
||||
快捷图标简称:四川清单标准化应用2017 投标版:scqbt
|
||||
评标版:scqbp
|
||||
|
||||
博微电力工程量清单标准化应用软件SXAQB2017 招标版:sxaqbz 或 sxazb17
|
||||
|
||||
快捷图标简称:陕西清单标准化应用2017 投标版:sxaqbt
|
||||
|
||||
|
||||
博微电力工程量清单标准化应用软件sxaqb2020 招标版:sxaqbz 或 sxazb20
|
||||
|
||||
快捷图标简称:陕西清单标准化应用2020 投标版:sxaqbt
|
||||
或sxatb20(导出的专用投标报表文件)
|
||||
|
||||
河南电力工程量清单标准化应用软件hnaqb2017 招标版:hnaqbz 或 hnzba17
|
||||
快捷图标简称:河南清单标准化应用2017 投标版:hnaqbt
|
||||
|
||||
重庆电力工程投标工程量清单标准化应用软件2020 招标版:cqqbz 或 cqzb20
|
||||
快捷图标简称:重庆清单标准化应用2020 投标版:cqqbt
|
||||
|
||||
甘肃电力工程量清单标准化应用软件GSQB2021 招标版:gsqbz 或 gszb21
|
||||
快捷图标简称:甘肃清单标准化应用2021投标版:gsqbt
|
||||
|
||||
特高压直流数字化招投标软件 招标版:zlzb23(专用招标文件后缀)
|
||||
博微数字化招投标工具软件(四川) 招标版:sczb23(专用招标文件后缀)
|
||||
数字化招投标工具
|
||||
招标版:gszb22(专用招标文件后缀)
|
||||
@@ -0,0 +1,33 @@
|
||||
# 使用场景
|
||||
|
||||
1、查询软件锁是单机锁还是网络锁。
|
||||
|
||||
2、查询锁中的专业信息。
|
||||
|
||||
3、查询锁保险到期时间。
|
||||
|
||||
# 功能入口
|
||||
|
||||
【软件锁】界面
|
||||
|
||||
# 操作步骤
|
||||
|
||||
**软件锁信息查询:**
|
||||
|
||||
打开博微软件助手——【软件锁】界面
|
||||
|
||||
|
||||
|
||||
1、锁类型:可查看软件锁为单机锁还是网络锁
|
||||
|
||||
2、锁标签:可查看软件锁的锁号
|
||||
|
||||
3、锁状态:可查看锁的使用状态
|
||||
|
||||
4、锁保险:可以查看软件锁保险是否到期或者到期时间,到期可激活
|
||||
|
||||
5、许可证:可查询软件锁中的锁专业,可注册软件锁专业
|
||||
|
||||
# 内部补充
|
||||
|
||||
如出现锁异常优先点击诊断修复进行一键检测,一键修复
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
# 使用场景
|
||||
|
||||
2.0.571版本博微助手,打开提示:缺少媒体组件,该功能无法使用,请先安装多媒体组件。
|
||||
|
||||
|
||||
|
||||
|
||||
# 知识原理
|
||||
|
||||
无
|
||||
|
||||
# 费用去向
|
||||
|
||||
无
|
||||
|
||||
# 软件操作
|
||||
|
||||
遇到博微助手打开提示:缺少媒体组件,无法使用该功能,请先安装多媒体组件
|
||||
|
||||
解决方法如下:
|
||||
|
||||
一、打开电脑“控制面板”,点击”启用或关闭windows功能“,勾选”媒体功能“,确定。
|
||||
|
||||
|
||||
|
||||
|
||||
二、如果设置后解决不了,发送工具“网页解决方法.reg",双击运行一下,点击”是“,确定;工具联系博微客服获取。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# 补充说明
|
||||
|
||||
# 常见问题
|
||||
@@ -0,0 +1,20 @@
|
||||
# 使用场景
|
||||
|
||||
软件安装到最后阶段,弹出提示“IPersistFile::save 失败!代码0x80070005.拒绝访问。”
|
||||
|
||||
|
||||
|
||||
# 知识原理
|
||||
|
||||
# 操作方法
|
||||
|
||||
在报错提示窗口点击“确定”按钮,继续安装步骤。
|
||||
|
||||
# 补充说明
|
||||
|
||||
1\. “IPersistFile”这是Ole_lib2库提供的一个接口,一般用于保存下载的网页文件。
|
||||
2.软件安装到最后阶段,一般是写注册表,创建快捷方式等步骤,该问题的原因应该是安装程序权限不够,系统出于安全原因禁止安装程序对该库文件的调用,所以应该影响不大。
|
||||
|
||||
# 常见问题
|
||||
|
||||
1.软件安装到最后阶段,弹出提示“IPersistFile::save 失败!代码0x80070005.拒绝访问。”?
|
||||
@@ -0,0 +1,116 @@
|
||||
# 使用场景
|
||||
|
||||
打开软件/切换界面时,弹出Internet Explorer提示窗口“在此页上的ActiveX控件和本页上的其它部分的交互可能不安全,你想允许这种交互吗?”
|
||||
|
||||
|
||||
|
||||
点击“是”之后,立即弹出“当前页面的[脚本](http://192.168.0.10/hdwiki/index.php?doc-
|
||||
view-5673)发生错误”的提示信息
|
||||
|
||||
|
||||
|
||||
# 知识原理
|
||||
|
||||
# 操作方法
|
||||
|
||||
遇到上述问题,可以按照以下方法顺序处理:
|
||||
|
||||
**注意事项**
|
||||
|
||||
防病毒软件扫描Internet 临时文件或已下载的程序文件夹并误报脚本文件为病毒也会导致显示问题,需要查看杀毒软件隔离区是否隔离了博微软件的相关文件。
|
||||
|
||||
同时脚本引擎文件损坏、IE相关文件夹损坏、视频卡驱动程序损坏、DirectX
|
||||
组件损坏都会造成显示问题,针对这样的情况,以下方法是不能解决问题的,此时需要重新安装IE浏览器或升级IE浏览器。
|
||||
|
||||
## 1、关闭“显示每个脚本错误的通知”
|
||||
|
||||
如果错误信息在每个网站中提示,可能是开启"显示有关每个脚本错误的通知"的功能,如果问题发生在一两个网站,可能是网站本身造成的,可忽略掉。
|
||||
|
||||
①鼠标右击"Internet Explorer"图标,弹出的菜单单击"属性"命令或单击"开始"菜单,单击"控制面板",双击"Internet 选项";
|
||||
|
||||
②弹出"Internet 属性"窗口,切换到"高级"选项卡,在设置框中清除"显示有关每个脚本错误的通知"的复选框,单击"确定"按钮使设置生效
|
||||
|
||||
|
||||
|
||||
##
|
||||
|
||||
##
|
||||
|
||||
##
|
||||
|
||||
## 2、测试其他账户、非IE内核浏览器
|
||||
|
||||
新建一个用户账户测试触发脚本的网页,如果同样存在问题,那么再使用非IE内核浏览器,如谷歌浏览器、火狐浏览器测试。
|
||||
|
||||
|
||||
|
||||
##
|
||||
|
||||
##
|
||||
|
||||
##
|
||||
|
||||
## 3、重置 Internet Explorer 安全设置
|
||||
|
||||
如果活动脚本、ActiveX 和 Java被 Internet Explorer 阻止,会导致中断网页的显示。
|
||||
|
||||
在"Internet 属性"界面切换到"安全"选项卡,单击"默认级别"按钮,设置完后单击"确定"按钮
|
||||
|
||||
|
||||
|
||||
##
|
||||
|
||||
##
|
||||
|
||||
##
|
||||
|
||||
## 4、清理 Internet 临时文件
|
||||
|
||||
①在"Internet 属性"界面的"常规"选项卡下单击"删除"按钮
|
||||
|
||||
|
||||
|
||||
②弹出"删除浏览的历史记录"对话框,选择"Internet 临时文件"、"Cookie"和"历史记录",单击"删除"按钮
|
||||
|
||||
|
||||
|
||||
##
|
||||
|
||||
##
|
||||
|
||||
## 5、关闭平衡滑动
|
||||
|
||||
如果您遇到的是视频显示问题,可测试关闭平滑滚动功能后问题还发生吗,因为该功能会导致脚本显示不正确
|
||||
|
||||
打开"Internet 属性"窗口,切换到"高级"选项卡,在以下的设置框中清除掉"使用平滑滚动"复选框,设置完成后单击"确定"按钮
|
||||
|
||||
|
||||
|
||||
关闭平滑滚动功能后此现象得到解决,那么请更新视频适配器的驱动程序
|
||||
|
||||
##
|
||||
|
||||
##
|
||||
|
||||
## 6、关闭硬件加速
|
||||
|
||||
硬件加速功能在浏览网页中设置不正确会导致此问题
|
||||
|
||||
单击"开始"菜单,单击"运行"命令,在打开框中键入"desk.cpl"命令,单击"确定"按钮
|
||||
|
||||
|
||||
|
||||
弹出"显示属性"窗口,切换到"设置"选项卡,单击"高级"按钮,弹出的对话框再切换到"疑难解答"选项卡,将"硬件加速"拉到无,最后单击"确定"按钮使设置生效。
|
||||
|
||||
|
||||
高级
|
||||
|
||||
# 常见问题
|
||||
|
||||
# 服务禁忌
|
||||
|
||||
1、截至目前为止,电力工程造价2014软件和配电网工程造价编制软件均出现过上述问题,但两款软件有所不同。
|
||||
|
||||
2、造价2014软件是在打开软件出现,配网软件是在切换不同界面时出现。
|
||||
|
||||
3、遇到该问题时,**请务必收集用户电脑当前环境下默认使用的浏览器及其版本**
|
||||
@@ -0,0 +1,33 @@
|
||||
# 使用场景
|
||||
|
||||
软件安装过程中弹出“windows正在配置AutoCAD
|
||||
2007,请稍后”的提示,当根据提示点击确定后,不能正常进入软件,弹出其他报错,若遇见此问题,处理方法请见下方“操作方法”。
|
||||
|
||||
# 知识原理
|
||||
|
||||
现象描述:软件安装过程中弹出以下对话框:
|
||||
|
||||
|
||||
|
||||
点击确定,不能正常进入软件,弹出以下界面:
|
||||
|
||||
|
||||
|
||||
持续多次点击取消才能进入软件。
|
||||
原因分析:博微软件与AutoCAD2007软件冲突。
|
||||
解决办法:先卸载AutoCAD2007软件,再重新安装博微软件,并建议客户装AutoCAD2004软件替代。
|
||||
|
||||
# 费用去向
|
||||
|
||||
# 操作方法
|
||||
|
||||
**原因分析:** 博微软件与AutoCAD2007软件冲突;
|
||||
**解决办法:** 先卸载AutoCAD2007软件,再重新安装博微软件,建议安装其他AutoCAD程序替代。
|
||||
|
||||
# 补充说明
|
||||
|
||||
一般是在老版本博微软件会出现该问题。
|
||||
|
||||
# 常见问题
|
||||
|
||||
1.提示与CAD2007有冲突怎么办?
|
||||
@@ -0,0 +1,18 @@
|
||||
# 使用场景
|
||||
|
||||
鼠标上划的情况下,电脑显示是向下的,操作是反向的该怎么处理
|
||||
|
||||
# 操作步骤
|
||||
|
||||
**1.找到鼠标属性**
|
||||
|
||||
要找到鼠标属性,可以通过以下几种方法:
|
||||
|
||||
* 通过[Windows设置](https://www.baidu.com/s?rsv_idx=1&tn=85070231_9_hao_pg&wd=Windows%E8%AE%BE%E7%BD%AE&fenlei=256&usm=4&ie=utf-8&rsv_pq=f9bbe0900008dbca&oq=%E9%BC%A0%E6%A0%87%E5%B1%9E%E6%80%A7%E5%9C%A8%E5%93%AA%E9%87%8C%E6%89%BE&rsv_t=b7edaibuVDGu8LFyF5zCBWAFEWH11IVx8sBnzwal9ygidtUMySYA%2BzoFo%2BZa%2B28Brtt%2FYg05qXY&rsv_dl=re_dqa_generate&sa=re_dqa_generate)查找:打开电脑的“设置”,进入“设备”选项,然后选择“鼠标”即可查看和调整鼠标属性。
|
||||
* 通过[控制面板](https://www.baidu.com/s?rsv_idx=1&tn=85070231_9_hao_pg&wd=%E6%8E%A7%E5%88%B6%E9%9D%A2%E6%9D%BF&fenlei=256&usm=4&ie=utf-8&rsv_pq=f9bbe0900008dbca&oq=%E9%BC%A0%E6%A0%87%E5%B1%9E%E6%80%A7%E5%9C%A8%E5%93%AA%E9%87%8C%E6%89%BE&rsv_t=fa16dP5mhiJSgZio57xZpp26ZwLe3UWYCeMhgCc3Odv%2F5sFWIZhtd%2B0cV0fujsaQXAmwt7J9K5Q&rsv_dl=re_dqa_generate&sa=re_dqa_generate)查找:点击“开始”菜单,选择“控制面板”,然后进入“硬件和声音”选项,找到“鼠标”图标并点击进入。
|
||||
* 通过个性化设置查找:在桌面空白处右键单击,选择“个性化”,然后在左边栏找到“更改鼠标指针”的选项并点击进入。
|
||||
* 通过桌面右下角的小三角图标:点击桌面右下方的小三角图标,双击空白处即可弹出鼠标属性对话框。
|
||||
|
||||
**2.进入滑轮设置**
|
||||
|
||||
选择“一次滚动下列行数”,后点击“确认”。可参考下图进行设置
|
||||
@@ -0,0 +1,288 @@
|
||||
# 一、安装案例
|
||||
|
||||
## 1.杀毒软件误杀
|
||||
|
||||
现象描述:安装过程中提示找不到相应的组件,无法继续安装。
|
||||
|
||||
原因分析:客户安装了360杀毒软件,该杀毒软件对部分博微软件控件或资源库进行误杀,导致软件无法安装。
|
||||
|
||||
解决方法:关闭360等杀毒软件之后重新安装。
|
||||
|
||||
## 2.与AutoCAD2007软件有冲突
|
||||
|
||||
现象描述:软件安装过程中弹出以下对话框:
|
||||
|
||||
|
||||
|
||||
点击确定,不能正常进入软件,弹出以下界面:
|
||||
|
||||
|
||||
|
||||
持续多次点击取消才能进入软件。
|
||||
|
||||
原因分析:博微软件与AutoCAD2007软件冲突。
|
||||
|
||||
解决办法:先卸载AutoCAD2007软件,再重新安装博微软件,并建议客户装AutoCAD2004软件替代。
|
||||
|
||||
## 3.与office2003软件冲突
|
||||
|
||||
现象描述:现象与AutoCAD2007软件冲突类似,软件安装过程中弹出对话框提示,但名称为“office2003”。
|
||||
|
||||
原因分析:博微软件与office2003软件冲突。
|
||||
|
||||
解决办法:卸载office2003软件之后重新装博微软件,再装office2003软件就不再报错。
|
||||
|
||||
新报错例子:
|
||||
|
||||
配网软件,安装完成之后打开出现以下报错
|
||||
|
||||
|
||||
|
||||
此类报错与之前所遇与office2003冲突报错不太一样。
|
||||
|
||||
建议处理方法为:卸载office2003,安装我们的软件之后,再安装office2003
|
||||
|
||||
## 4.软件兼容性问题
|
||||
|
||||
现象描述:安装常规步骤安装之后不能打开软件,并会出现死机或假死机现象。
|
||||
|
||||
电脑配置截图:
|
||||
|
||||
|
||||
|
||||
原因分析:主要表现在amd电脑,与博微软件不兼容。
|
||||
|
||||
解决方法:建议客户换电脑使用。
|
||||
|
||||
## 5.安装锁驱动过程中电脑卡死
|
||||
|
||||
现象描述:安装软件过程中,当到了安装锁驱动时,电脑卡死。
|
||||
|
||||
原因分析:杀毒软件拦截或误杀部分控件。
|
||||
|
||||
解决办法:关闭所有360等杀毒软件,到电脑C:\Program Files\Common Files\bowei或C:\Program Files
|
||||
(x86)\Common Files\bowei重新运行锁驱动。
|
||||
|
||||
主要软件类型:配网软件。
|
||||
|
||||
## 6.配网软件无法打开
|
||||
|
||||
现象描述:软件安装成功之后,点击软件图标无反应,软件无法打开。
|
||||
|
||||
原因分析:配网软件与部分.net框架不兼容。
|
||||
|
||||
解决方法:点击设置—控制面板—添加或删除程序,找到Microsoft.net Framework2.0两个插件卸载,以及配网软件卸载之后重新安装即可。
|
||||
|
||||
|
||||
|
||||
## 7.06清单软件无法打开
|
||||
|
||||
现象描述:06清单老软件安装成功后,无法打开,弹出如下提示:
|
||||
|
||||
|
||||
|
||||
原因分析:软件安装过程中“BWFW.DLL”控件没有自动个更新。
|
||||
|
||||
解决办法:到C:\Program Files\Common Files\bowei中粘贴一个“BWFW.DLL”控件。
|
||||
|
||||
## 8.清单低版本程序报错
|
||||
|
||||
现象描述:电脑上装过06清单高版本软件,卸载之后再装低版本软件的话,在新建工程的时候,会有提升需要升级,点击升级才能正常新建工程,如果是新建的电子标书,会出现打不开,提示软件版本太低。
|
||||
|
||||
原因分析:软件安装过程中“BwBillBDLib2.dll”控件没有自动更新。
|
||||
|
||||
解决办法:卸载软件,打开我的电脑中C:\Program Files\Common
|
||||
Files\bowei找到名为:BwBillBDLib2.dll的文件删掉,重新安装软件即可。
|
||||
|
||||
**9.老版本软件与C++程序冲突**
|
||||
|
||||
现象描述:软件在安装和使用的过程中,出现以下报错信息:
|
||||
|
||||
|
||||
|
||||
原因分析:老版本软件程序与C++程序冲突。
|
||||
|
||||
解决方法:先卸载C++程序,然后重新安装软件程序即可
|
||||
|
||||
**10.山东清单报表未输出数据问题**
|
||||
|
||||
现象描述:山东清单软件由1.2.1516版本升级为1.3.25版本后,卸载1.3.25版本,再重装1.2.1516版本,此时打开原1.2.1516版本的工程,清单报表无法生成和输出数据。
|
||||
|
||||
原因分析:软件升级后,将系统目录中属于山东清单清单库的插件(BwBillSDLib2.dll)进行了升级,卸载升级版本后,该插件未卸载,导致安装老版本时不能替换插件,从而引起了该问题。
|
||||
|
||||
解决方法:在电脑中找到C:\Program Files\Common Files\bowei \BwBillSDLib2.dll
|
||||
,并将该文件删除,重新安装1.2.1516版本,即可解决上述问题。
|
||||
|
||||
**11. 技改软件无法安装装材库**
|
||||
|
||||
现象描述:技改软件在安装装材库时,输入完注册号及单位之后出现“锁服务异常”的报错。
|
||||
|
||||
|
||||
|
||||
原因分析:判断为锁驱动未安装成功,但设备管理器处显示却正常,重新安装了锁驱动还是不行,卸载软件之后再安装也是一样,原因不明。
|
||||
|
||||
解决方案:安装锁驱动升级程序,解决了问题。
|
||||
|
||||
**12.安装07资源库时,提示程序启动失败, 位置2,信息:Unable to open database file**
|
||||
|
||||
现象描述:
|
||||
|
||||
|
||||
|
||||
原因分析:排查了是软件程序的问题原因,判断与客户的电脑语言环境或软件程序安装后系统无法正常加载注册表资源有关。
|
||||
|
||||
解决方案:
|
||||
|
||||
1)确认用户的区域语言是否默认为中文:控制面板-区域语言设置:区域选项和高级页签都显示中文。
|
||||
2)复制控件C:\Program Files\Common
|
||||
Files\bowei\BWFW.dll到C:\WINDOWS\SYSTEMS32下,注册。控件打开方式-浏览-
|
||||
程序System32\regsvr32.exe.
|
||||
|
||||
**13.清单软件无法读锁,PKG修复报错****
|
||||
**现象描述:清单软件插锁之后,软件读取不到锁,且设备管理器中能正常显示软件锁驱动。
|
||||
|
||||
|
||||
|
||||
原因分析:近期发现深思诺克锁与百度手机助手或驱动精灵会有冲突现象。
|
||||
|
||||
解决方案:将电脑上的百度手机助手或驱动精灵卸载之后,再更新或PKG修复软件锁即可正常使用。
|
||||
|
||||
# 二、注册案例
|
||||
|
||||
## 1\. 注册信息填写错误
|
||||
|
||||
现象描述:成功安装软件,但软件无法注册。
|
||||
原因分析:软件不能识别客户输入法或者复制注册单位、注册号过程中多复制空格。
|
||||
解决方法:
|
||||
|
||||
1)注册号复制粘贴到txt格式记事本中消除字体格式,然后从记事本中复制粘贴到注册框中,并提醒客户不要多复制空格。可将后两三个字符删除再手动输入。
|
||||
2)将输入法切换致半角模式,手动输入注册单位和注册号。
|
||||
|
||||
## 2\. 注册软件与锁中专业不对应
|
||||
|
||||
现象描述:注册单位和注册名正确输入,但无法完成注册,提示许可证错误
|
||||
原因分析:打开的软件与锁中的专业不对应
|
||||
解决方法:重新打开锁中对应专业的软件程序,完成注册
|
||||
|
||||
## 3\. 新老软件锁冲突
|
||||
|
||||
现象描述:完成了单机锁的注册后,每次打开博微软件都要进行注册。
|
||||
原因分析:客户电脑既有11软件也有老软件,新老软件冲突
|
||||
|
||||
解决方法:安装锁驱动升级程序。
|
||||
搜索博微百科词条“软件锁驱动升级程序”即可下载
|
||||
|
||||
## 4\. 写锁错误
|
||||
|
||||
现象描述:成功安装软件,但软件无法注册,经几台电脑试验后依然无法注册。
|
||||
原因分析:经核对锁信息后,发现写锁错误,内部编码不一致。
|
||||
解决方法:让客户把锁寄回,换锁。
|
||||
|
||||
## 5\. 与其他公司软件锁冲突
|
||||
|
||||
现象描述:软件突然不能使用,提示需要注册,注册后依然不能使用。
|
||||
原因分析:客户电脑同时插了其他公司的软件锁,有冲突。
|
||||
解决方法:拔掉其他公司锁后即可正常运行。
|
||||
|
||||
## 6\. 软件锁驱动问题
|
||||
|
||||
现象描述:一段时间没用软件,插上后提示需要重新注册,弹出“本机上没有找到可用的许可证。”反复注册依然不能解决。
|
||||
|
||||
|
||||
|
||||
|
||||
原因分析:原因不明
|
||||
解决方法:重装软件或者到重新运行锁驱动程序。
|
||||
其他提示:多为配网软件。
|
||||
|
||||
## 7\. 需安装锁驱动升级程序
|
||||
|
||||
现象描述:软件(多为配电网工程造编制价软件)正常安装,插锁后能读到锁并能输入注册单位和注册号,点击关闭,却弹出“本机上没有找到可用的许可证。”,
|
||||
重新注册依然失败。
|
||||
|
||||
|
||||
|
||||
原因分析: 原因不明。
|
||||
解决方法:安装锁驱动升级程序后可用正常注册使用。
|
||||
|
||||
## 8\. 注册成功自动退出
|
||||
|
||||
现象描述:程序注册之后,点关闭就整个程序退出了,就是运行不了程序。
|
||||
原因分析1:软件安装过程中360提示查出病毒,被360误杀部分控件;
|
||||
解决方法1:关闭360等杀毒软件之后重新安装软件。
|
||||
原因分析2:win7系统没有以管理员身份运行。
|
||||
解决方法2:以管理员身份运行软件。
|
||||
|
||||
## 9\. 打开工程提示无有效许可证
|
||||
|
||||
现象描述:打不开工程,提示无有效许可证,软件可以正常打开和新建,工程发到客服也能正常打开。
|
||||
原因分析:客户的锁只注册了线路或变电,而打开的工程是变电或线路工程。比如:客户的锁只注册了线路专业,而要打开的工程是变电工程。
|
||||
解决办法:确认客户锁号和工程类型,让客户插对应的锁来打开软件。
|
||||
近期出现的注册报错情况:
|
||||
试用锁,注册时软件名称显示不全
|
||||
|
||||
|
||||
|
||||
显示以上信息之后,依然能正常完成注册。但是在打开软件使用时,便提示“无有效许可证”
|
||||
|
||||
|
||||
|
||||
此类问题解决方案:换锁
|
||||
|
||||
## 10\. 网络锁变更注册信息错误
|
||||
|
||||
现象描述:用户使用人数上限与变更后人上上限不一致,查询锁注册信息发现节点量数据还是原来的
|
||||
|
||||
原因分析:锁变更后,锁发给用户后,注册号已经改变,但是原来的注册号虽然注销了,但是还是可以注册;或者用户没有用新注册号注册,直接插上锁也可以使用。
|
||||
|
||||
解决方法:可以尝试让用户再次注册,即让用户覆盖注册,是否成功,不成功执行下一步操作;让用户将原来的注册信息删除掉(路径:C:\Windows\System32),注册文件后缀名是.bwlic;然后再用新的注册号注册一遍。
|
||||
|
||||
|
||||
|
||||
# 三、锁问题案例
|
||||
|
||||
## 1\. 软件读不到锁
|
||||
|
||||
现象描述:设备管理器中智能卡阅读器显示黄色感叹号
|
||||
原因分析:锁驱动安装不成功
|
||||
解决方法:重新安装锁驱动。可在C:\Program Files\Common Files\bowei找到红蓝图标双击安装。也可发送锁驱动给客户安装
|
||||
|
||||
## 2\. 软件读不到锁
|
||||
|
||||
现象描述:设备管理器中智能卡阅读器显示问号,C盘找不到bowei文件夹,也找不到红蓝图标的锁驱动
|
||||
原因分析:锁驱动安装不成功,但发锁驱动给客户安装没用, 依然找不到bowei文件夹。锁驱动也更新不了。
|
||||
解决方法:重新安装软件,通过安装软件程序自带锁驱动安装,可解决该问题
|
||||
|
||||
## 3\. 锁坏了
|
||||
|
||||
现象描述:插上锁之后。电脑没反应,软件也读不到锁。锁的灯不会亮
|
||||
原因分析:可能是锁没插好,或者是USB接口有问题
|
||||
解决方法:重新拔插几次锁,还是不信行,换个USB接口试试,还是不行,换几台电脑试试,若依然是锁插上之后没有反应,则可判定为锁坏了,可以反馈给销售联系换锁事宜
|
||||
|
||||
## 4\. 锁松动问题
|
||||
|
||||
现象描述:软件使用的过程中,经常会突然弹出“无可用的许可证”或弹出登入界面,无法正常使用
|
||||
原因分析:
|
||||
①. 锁未插好,重新拔插一次
|
||||
②. 锁驱动问题,更新一下锁驱动,或重新安装锁驱动
|
||||
③. USB接口问题,建议换USB接口尝试
|
||||
④. 电脑问题,换几台电脑试试
|
||||
解决方法:若上述原因对应的处理方案都没有问题,则服务结束,若上述情况都尝试了,任然不行。则判断为锁松动了,需换锁。
|
||||
|
||||
## 5\. 锁与电脑兼容性问题
|
||||
|
||||
现象描述:使用软件时,经常出现死机或软件卡死情况
|
||||
原因分析:锁与电脑不兼容
|
||||
解决方法:发送检测工具(锁版本的检测工具和电脑主板芯片的检测工具)给客户检测,若结果为,锁版本低于2.4.0的及主板芯片为AMD的则需要换锁。
|
||||
|
||||
## 6\. 安装win7系统锁驱动1
|
||||
|
||||
现象描述:电脑读不到锁,在设备管理器出没有找到智能卡阅读器,也没有找到锁驱动
|
||||
原因分析:锁未插好;USB接口问题;或是锁驱动问题
|
||||
解决方法:重新拔插一次锁;换一个USB接口插一下;安装win7的锁驱动。
|
||||
|
||||
## 7\. 安装win7系统锁驱动2
|
||||
|
||||
现象描述:单机版显示为网络版登陆窗口(多发生在像05等老软件注册时),读不到锁。
|
||||
原因分析:win7系统或vista系统64位电脑,需要安装专门的驱动程序。
|
||||
解决办法: 安装win7系统、vista系统锁驱动后再插锁注册软件。
|
||||
@@ -0,0 +1,36 @@
|
||||
# 使用场景
|
||||
|
||||
安装程序无法创建目录—C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp,具体报错图片见下:
|
||||
|
||||
|
||||
|
||||
# 知识原理
|
||||
|
||||
问题原因主要由于安装程序不能访问临时目录或系统盘没空间导致,可更改环境变量将临时文件夹更改到其他盘符。
|
||||
|
||||
# 费用去向
|
||||
|
||||
# 软件操作
|
||||
|
||||
方法一:修改环境变量
|
||||
|
||||
1.找到桌面“计算机”,右键“属性”。
|
||||
|
||||
**计算机右键属性**
|
||||
|
||||
2.找到点击“高级系统设置”,找到“高级”标签,找到点击“环境变量”,并点击。
|
||||
|
||||
|
||||
|
||||
5.系统默认环境变量设置如下图,找到“用户变量”,并点击“编辑”,如:用户变量D:\TEMP。
|
||||
|
||||
|
||||
|
||||
方法二:C盘没空间了
|
||||
|
||||
把该目录下的文件全部删除,然后把c:\Documents and Settings\user\Local Settings\Temporary
|
||||
Internet Files\c:\WINDOWS\Prefetch\目录下的文件全部删除,最后清空回收站。
|
||||
|
||||
# 补充说明
|
||||
|
||||
# 常见问题
|
||||
@@ -0,0 +1,23 @@
|
||||
# 使用场景
|
||||
|
||||
安装配网设计软件过程中,提示注册表被破坏,遇到该问题,可以参照本词条中的“操作方法”处理。
|
||||
|
||||
# 知识原理
|
||||
|
||||
该问题的主要原因是第一次安装配网设计软件,在需要修改"注册表"时,防火墙或各种安全卫士禁用了注册表的修改,导致配置项无效
|
||||
|
||||
# 操作方法
|
||||
|
||||
1、打开AutoCAD软件,进入工具->选项界面,删除【PWSJ2012】选项;
|
||||
|
||||
|
||||
|
||||
2、关闭防火墙和各种安全卫士、杀毒软件等,再打开配网设计软件,将自动创建配置项,且软件可正常使用。
|
||||
|
||||
# 补充说明
|
||||
|
||||
配置项创建成功后,使用过程可开启防火墙或其他杀毒软件。
|
||||
|
||||
# 常见问题
|
||||
|
||||
安装配网设计软件提示注册表被破坏
|
||||
@@ -0,0 +1,76 @@
|
||||
# 使用场景
|
||||
|
||||
官网存放了各大主流产品的最新版本,用户在需要安装软件时或更新软件时,可以进入博微官网(www.booway.com.cn)进行软件下载。
|
||||
|
||||
# 操作方法
|
||||
|
||||
1.点击服务中的软件下载进入官网下载中心;
|
||||
|
||||
|
||||
|
||||
2.选择相应的软件系列,进入软件下载界面;
|
||||
|
||||
主要产品系列:(1)电力工程造价系列、(2)电力工程量清单计价系列、(3)输变电工程结算应用系列、(4)配电网工程造价系列、(5)电力工程技改检修造价系列、(6)电力工程量计算系列、(7)电力工程经济评价系列、(8)国网工程量清单标准化系列。
|
||||
|
||||
|
||||
|
||||
3.下载软件需要登录会员,您可以点击页面右上角的登录,登录账号,也可以使用QQ快捷登录;
|
||||
|
||||
|
||||
|
||||
4.进入软件下载页面,点击需要下载的软件,可跳转至下载区域,选择下载软件或插件
|
||||
|
||||
|
||||
|
||||
1.官网账号同时通用云课堂,已注册的用户可以登录云课堂查看相应的内容
|
||||
|
||||
2.官网账号忘记密码可以通过注册的邮箱或手机找回
|
||||
|
||||
# 其他问题
|
||||
|
||||
**1.无法下载或下载失败可参考以下操作执行:**
|
||||
|
||||
在官网下载中心下载软件,当出现以下现象时,可以尝试使用相应的方法,对各软件进行下载。
|
||||
|
||||
1.下载速度为0
|
||||
|
||||
2.下载软件提示下载失败
|
||||
|
||||
3.下载软件初始有速度,一段时间速度就变为0了
|
||||
|
||||
4.下载达到100%后,无法完成下载
|
||||
|
||||
|
||||
|
||||
|
||||
针对无法下载,下载速度为0等现象,可能是由于系统自带的IE浏览器版本过低,无法完成正常的下载导致的,可以尝试更换其他浏览器下载软件。
|
||||
|
||||
或者是由于浏览器自带的下载方式无法产生下载速度,可以尝试使用其他下载方式。
|
||||
|
||||
|
||||
|
||||
1.各下载方式中,如果浏览器自带下载无速度或无响应,可以尝试使用迅雷或百度云进行下载。
|
||||
|
||||
2.如上述方法仍然无法成功下载软件,可询问网络管理员或咨询博微客服。
|
||||
|
||||
**2.下载后文件无法安装或安装时出现问题可参照以下操作执行:**
|
||||
|
||||
1.下载的文件无法安装;
|
||||
|
||||
(1)下载完成后,不是正常的软件安装程序,显示的是乱码,无法安装;
|
||||
|
||||
(2)下载的是下载中心的网页,不是相应的软件安装包。
|
||||
|
||||
解决方案:可能是由于下载的安装包仍在解析,或下载中出现问题,推荐重新下载软件。
|
||||
|
||||
|
||||
|
||||
2.打开软件安装包,提示报错,无法完成安装;
|
||||
|
||||
解决方案:可能是杀毒软件或其他软件阻止了软件安装,可尝试关闭杀毒软件进行安装。
|
||||
|
||||
|
||||
|
||||
3.安装软件提示没有足够的权限,无法进行安装;
|
||||
|
||||
解决方案:win10系统常出现安装软件无权限的情况,可以右键选择以管理员身份安装软件。
|
||||
@@ -0,0 +1,43 @@
|
||||
# 使用场景
|
||||
|
||||
工程导出pdf后显示不正常,部分文字显示为方框。
|
||||
|
||||
# 知识原理
|
||||
|
||||
用户电脑缺少对应字体。
|
||||
|
||||
# 费用去向
|
||||
|
||||
无
|
||||
|
||||
# 软件操作
|
||||
|
||||
**用户问题:** 用户工程导出pdf部分文字显示为方框,但是收集过来导出以及其他电脑导出都正常。
|
||||
|
||||
|
||||
|
||||
**原因:** 用户电脑上缺少对应字体。
|
||||
|
||||
**解决方法:**
|
||||
|
||||
**方法1:** 修改工程中字体显示,修改为电脑上已有字体。
|
||||
|
||||
|
||||
|
||||
**方法2:** ①首先按方法1步骤查看工程中选择的字体类型;
|
||||
|
||||
②在导出正常的电脑上,从控制面板-外观和个性化-字体中搜索到对应的字体类型,复制粘贴出来;
|
||||
|
||||
|
||||
|
||||
③字体文件发送到有问题的电脑上,双击打开-安装,再重新导出pdf即可。
|
||||
|
||||
|
||||
|
||||
# 补充说明
|
||||
|
||||
各软件导出pdf问题均可参考此词条操作。
|
||||
|
||||
# 常见问题
|
||||
|
||||
工程导出pdf后显示不正常,部分文字显示为方框。
|
||||
@@ -0,0 +1,21 @@
|
||||
# 使用场景
|
||||
|
||||
软件安装盘或者文件保存盘没有权限,打开工程会提示:请与文件所得者或管理员以获得相应权限?
|
||||
|
||||
|
||||
|
||||
将安装程序盘添加上权限
|
||||
|
||||
# 费用去向
|
||||
|
||||
# 软件操作
|
||||
|
||||
|
||||
|
||||
**以C盘为存放盘为例**
|
||||
|
||||
1、点击到程序安装的磁盘,鼠标右键——属性,在弹出的属性窗口中,选择【安全】选项卡;然后单击【安全】选项卡下面的【编辑】选项;进入之后,将【允许】列全部勾选,点击确定,退出。
|
||||
|
||||
|
||||
|
||||
# 常见问题
|
||||
@@ -0,0 +1,15 @@
|
||||
# 使用场景
|
||||
|
||||
桌面或指定路径下,工程文件的图标显示异常,可按照本词条提供的方法操作
|
||||
|
||||
|
||||
|
||||
# 操作方法
|
||||
|
||||
1、选中工程文件,鼠标右键定位“打开方式”,点击“选择默认程序”;
|
||||
|
||||
|
||||
|
||||
2、根据文件后缀名判定具体的软件类型,若在默认推荐程序列表中没有对应程序,则点击“浏览”按钮,在电脑上找到工程文件对应的软件安装根目录,并选中启动文件,点击打开;
|
||||
|
||||
回到打开方式界面,即可看到对应程序,选中之后,同时勾选左下角“始终使用选择的程序打开这种文件”,点击确定即可。
|
||||
@@ -0,0 +1,24 @@
|
||||
# 使用场景
|
||||
|
||||
安装锁驱动时,提示“没有通过 Windows 徽标测试,无法验证它同 Windows XP的相容性。”
|
||||
|
||||
|
||||
|
||||
# 知识原理
|
||||
|
||||
微软有自己的驱动程序和硬件的测试工厂,在XP SP2版本以后,系统朝着更加人性化更加稳定的方向发展,针对各个硬件驱动程序的要求也越来越高。
|
||||
徽标测试,最重要的就是稳定性测试,此外还有性能测试等等。厂家把自己制作的驱动发给测试工厂,再交纳一定费用后进行广泛的兼容性稳定性及性能测试。通过的就不会出现报错提示。反之,就出现“没有通过
|
||||
Windows 徽标测试”提示。
|
||||
**未通过徽标测试,可能的原因是厂家没有把自己制作的驱动发给微软测试工厂认证,或者认证未通过。**
|
||||
|
||||
# 操作方法
|
||||
|
||||
在提示窗口中,点击“仍然继续”继续安装锁驱动即可。
|
||||
|
||||
若点击“仍然继续”后,锁驱动还是无法正常安装,需要根据具体的提示或现象判断原因,与徽标测试无关,此时,可尝试发送锁驱动手动更新。
|
||||
|
||||
# 补充说明
|
||||
|
||||
# 常见问题
|
||||
|
||||
1.安装锁驱动时,提示“没有通过 Windows 徽标测试,无法验证它同 Windows XP的相容性。”?
|
||||
@@ -0,0 +1,43 @@
|
||||
# 使用场景
|
||||
|
||||
打开配网造价或广东配网清单软件时,弹出.NET框架初始化错误“.NET Framework Initialization
|
||||
Error”报错,软件无法正常打开。
|
||||
提示1“Unable to find a version of the runtime to run this application”
|
||||
|
||||
Unable to find a version
|
||||
of the runtime to run this application
|
||||
|
||||
提示2“Please set registry key HKLM\Software\Microsoft\\.NETFramework\InstallRoot
|
||||
to point to the .NET Framework install location”
|
||||
|
||||
Please
|
||||
set registry key HKLM\Software\Microsoft\\.NETFramework\InstallRoot to point
|
||||
to the .NET Framework install location
|
||||
|
||||
注:以上报错一般是XP系统出现。
|
||||
|
||||
# 知识原理
|
||||
|
||||
**配网造价、广东配网清单、国网应用2012** 等软件依赖于操作系统.net环境,若操作系统缺少该环境,软件启动时.net环境初始化错误,无法启动软件。
|
||||
|
||||
# 操作方法
|
||||
|
||||
步骤1.获取.net框架安装包,安装后,重新安装软件。
|
||||
|
||||
(找到软件安装目录下的“NetFx20SP2_x86.exe”(该.NET框架安装程序适用于XP操作系统),若软件安装目录下找不到,请联系博微客服。
|
||||
|
||||
具体操作步骤可参考词条:[Framework_2.0_SDK(.net2.0框架)](index.php?doc-view-166)
|
||||
|
||||
步骤2.若步骤1安装.net框架失败,可以尝试到控制面板中卸载.net框架后,重新安装。
|
||||
|
||||
若还是不行,请联系博微客服。
|
||||
|
||||
# 补充说明
|
||||
|
||||
# 常见问题
|
||||
|
||||
1.配网造价软件打开报错?
|
||||
2.广东配网清单软件打开报错?
|
||||
@@ -0,0 +1,24 @@
|
||||
# 使用场景
|
||||
|
||||
电脑上装过06清单高版本软件,卸载之后再装低版本软件,在新建工程的时候,提示需要升级,点击升级才能正常新建工程,如果是新建的电子标书,会出现打不开,提示软件版本太低。出现该问题,处理方法详见下方“操作方法”。
|
||||
|
||||
# 知识原理
|
||||
|
||||
现象描述:电脑上装过06清单高版本软件,卸载之后再装低版本软件的话,在新建工程的时候,会有提升需要升级,点击升级才能正常新建工程,如果是新建的电子标书,会出现打不开,提示软件版本太低。
|
||||
原因分析:软件安装过程中“BwBillBDLib2.dll”控件没有自动个更新。
|
||||
解决办法:卸载软件,打开我的电脑中C:\Program Files\Common
|
||||
Files\bowei找到名为:BwBillBDLib2.dll的文件删掉,重新安装软件即可。
|
||||
|
||||
# 费用去向
|
||||
|
||||
# 操作方法
|
||||
|
||||
原因分析:软件安装过程中“BwBillBDLib2.dll”控件没有自动更新。
|
||||
解决办法:卸载软件,打开“我的电脑”中C:\Program Files\Common
|
||||
Files\bowei,找到名为:BwBillBDLib2.dll的文件删掉,重新安装软件即可。
|
||||
|
||||
# 常见问题
|
||||
|
||||
1.06清单报错怎么回事?
|
||||
|
||||
2.06老清单低版本打不开?
|
||||
@@ -0,0 +1,99 @@
|
||||
# 使用场景
|
||||
|
||||
新购买的网络锁,首次使用需要部署网络锁服务器;或者由于服务器迁移、出差、回家办公,需要在另一台电脑上重新部署网络锁服务器。
|
||||
|
||||
遇到上述情况,可参照本词条操作方法。
|
||||
|
||||
# 知识原理
|
||||
|
||||
老网络锁服务器程序名称为“服务器安装程序”,安装完成后图标名称为“锁服务器2008版”,程序打开后显示名称为“电力工程造价2008服务器”,在此服务器中可以注册网络版的05造价、08造价、配网、技改等老软件。
|
||||
|
||||
# 操作方法
|
||||
|
||||
## 步骤一:安装服务器程序
|
||||
|
||||
点击“服务器安装程序”,根据提示完成安装,安装完成后桌面会有一个“锁服务器2008版”图标。
|
||||
|
||||
## 步骤二:插锁
|
||||
|
||||
锁服务安装完成后再插锁,或者重新拔插一次锁。
|
||||
|
||||
## 步骤三:启动服务器
|
||||
|
||||
选中桌面“锁服务器2008版”图标双击打开,如果是win7系统、vista系统电脑需要选中图标右键,点击“以管理员身份运行”来启动软件。启动成功后弹出以下界面:
|
||||
|
||||
|
||||
|
||||
##
|
||||
|
||||
## 步骤四:软件锁注册
|
||||
|
||||
点击许可证管理,在弹出的服务器版软件许可证界面完成注册。在此界面,选择到正确的锁号之后,点击“注册软件”,弹出软件注册界面,根据提示输入正确的注册单位、软件类型和注册号。注册完成后点击关闭。
|
||||
|
||||
|
||||
**注意:①注册单位默认为“江西博微新技术有限公司”,需手动修改为锁对应的注册单位。**
|
||||
|
||||
**②注册单位、注册号等需切换为半角输入法进行输入,如果通过复制粘贴输入,要注意不能多复制空格。**
|
||||
|
||||
|
||||
|
||||
##
|
||||
|
||||
## 步骤五:结点设置
|
||||
|
||||
完成软件锁注册之后点击用户管理,在此界面可以新添加用户、设置用户权限和设置结点量。**软件默认用户为“测试员”,结点量为1**
|
||||
,因此如果使用默认用户“测试员”**需要调大结点量** (结点量可以设置为大于软件锁注册结点量,如软件锁有3个结点,此处结点量输入一个≥3的值)。
|
||||
|
||||
|
||||
|
||||
##
|
||||
|
||||
## 步骤六:用户端使用
|
||||
|
||||
锁服务器安装注册完成之后,其他电脑打开软件,选择网络用户登录,并在服务器地址处输入主机IP,用户名为“测试员”,默认密码为空,点击登录即可。如08造价软件如下图:
|
||||
|
||||
|
||||
|
||||
##
|
||||
|
||||
## 步骤七:主机端使用
|
||||
|
||||
如果主机也需要登录软件,服务器处输入127.0.0.1,其他步骤与上述相同。
|
||||
|
||||
# 补充说明
|
||||
|
||||
1、在此服务器中可完成05造价、08造价、配网、技改等老软件网络锁的注册
|
||||
|
||||
2、锁服务器需一直处于运行状态。如果点击了窗口的x按钮,服务器会退出,因此,如需最小化,则务必点击最小化按钮。
|
||||
|
||||
3、运行服务器提示“操作成功完成,启动服务器失败”,需要进入任务管理器进程中关闭服务器重新启动。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
4、当用户端无法登录软件时,可按以下方法进行检测:
|
||||
|
||||
**①用户端,通过点击开始—运行—输入cmd—输入ping 主机ip, 若出现Lost = 0 (0%
|
||||
loss),说明能连接上服务器,才能正常使用软件,否则先检查网络;
|
||||
**
|
||||
|
||||
|
||||
|
||||
**② 若按照①中描述执行了cmd命令,
|
||||
且ping了主机IP,显示联网正常,但客户端依然提示链接不上服务器,则需考虑是否为网络锁服务器端口被防火墙关闭或禁止了,检测方法为:通过点击开始—运行—输入cmd运行—输入“telnet+空格+主机IP+空格+服务器端口(23352)”按回车键,若能正常链接,则会弹出以下界面:**
|
||||
|
||||
|
||||
|
||||
**若无法链接,则弹出以下界面(现任意修改服务器端口,将默认的23352改为23351,则不能链接成功):**
|
||||
|
||||
|
||||
|
||||
**引发该问题的发生多为网络锁服务器的端口被防火墙关闭或禁止导致,故一般只需将防火墙关闭,或将对应杀毒软件卸载/关闭即可。**
|
||||
|
||||
# 常见问题
|
||||
|
||||
1.老锁服务器怎么注册?
|
||||
|
||||
2.网络版软件怎么安装注册?
|
||||
@@ -0,0 +1,91 @@
|
||||
# 知识原理
|
||||
|
||||
3.0版本之前的配网设计2012软件需要配合CAD2008使用,需要安装CAD2008。
|
||||
|
||||
# 软件操作
|
||||
|
||||
1 软件安装
|
||||
|
||||
1.1 安装准备
|
||||
|
||||
1)拷贝CAD2008安装程序到指定路径,解压;
|
||||
|
||||
注:选择安装包之前,请确认电脑系统,32位安装包针对XP系统及其他32位操作系统,64位安装包针对WIN7/WIN8的64位操作系统。
|
||||
|
||||
2)在解压的文件夹中找到“Setup.exe”程序文件,双击运行;
|
||||
|
||||
|
||||
|
||||
3)待初始化完成,在弹出的对话框中选择“安装产品”;
|
||||
|
||||
|
||||
|
||||
**1.2 安装路径的设置**
|
||||
|
||||
1)根据提示,点击“下一步”,并输入姓氏、名字、组织等;软件默认的安装目录为C盘,如需更改安装目录,则在“安装”前一步点击“配置”;
|
||||
|
||||
|
||||
|
||||
2)在弹出的配置窗口,点击“下一步”进入到安装路径选择界面,浏览到安装路径,例如D盘;
|
||||
|
||||
|
||||
|
||||
**2 程序安装**
|
||||
|
||||
1)安装路径确定之后,点击下方的“配置完成”,最后点击“安装”,开始程序安装;
|
||||
|
||||
|
||||
|
||||
2)进入到安装界面,等待所需组件和程序安装完成;注:在安装组件过程中,如果电脑已自带相应的组件,会弹出相应的英文提示(一般发生在安装Flash过程),点击确定忽略即可。
|
||||
|
||||
注:在安装组件过程中,如果电脑已自带相应的组件,会弹出相应的英文提示(一般发生在安装Flash过程),点击确定忽略即可。
|
||||
|
||||
|
||||
|
||||
**3 软件注册**
|
||||
|
||||
1)程序安装完成后,双击快捷图标,进入CAD2008软件;
|
||||
|
||||
2)首次打开软件,会提示“激活产品”,选中之后点击“下一步”,进入到CAD注册界面;
|
||||
|
||||
|
||||
|
||||
3)进入注册界面后,找到之前解压的安装包的文件夹,打开“autocad2008注册机”文件夹,双击该文件夹下的“AutoCAD-2008-keygen.exe”程序运行;
|
||||
|
||||
注:如运行注册机报错,则将注册机文件夹复制到CAD安装根目录下,再运行即可。
|
||||
|
||||
|
||||
|
||||
4)再次回到软件注册界面,在“输入序列号或编组”处全部输入0或1或6;并使用鼠标选中“申请号”,通过快捷键“Ctrl+C”复制选中的申请号;
|
||||
|
||||
注:CAD注册界面只支持快捷键的复制粘贴。
|
||||
|
||||
|
||||
|
||||
5)复制“申请号”后,切换到注册机界面,在白色的方框中通过快捷键“Ctrl+V”粘贴之前复制的申请号,然后点击“Calculate”,生成激活码,并通过快捷键“Ctrl+C”复制该激活码;
|
||||
|
||||
|
||||
|
||||
6) 再回到软件注册界面,选择“输入激活码—粘贴激活码”,在方框中通过快捷键“Ctrl+V”粘贴之前在注册机种复制的激活码;
|
||||
|
||||
|
||||
|
||||
7)最后进入点击“下一步”,直至注册完成。
|
||||
|
||||
# 常见问题
|
||||
|
||||
1、点击离线设计无反应
|
||||
|
||||
配网设计软件启动后点击左下角的“离线设计”,可正常进入到软件中,如点击“离线设计”后,无法进入软件,则可按以下方式尝试操作。
|
||||
|
||||
1)单独启动CAD2008程序,进入到CAD2008软件的编辑界面;
|
||||
|
||||
2)在编辑界面右键—选项,在弹出的对话框中选择“配置”;
|
||||
|
||||
|
||||
|
||||
3)在配置界面,首先找到“未命名配置”/“CAD2008”,选中之后点击右侧的“置为当前”,然后选中其他的配置选项,点击右侧的“删除”,全部删除完成后,最后点击“重置”;
|
||||
|
||||
|
||||
|
||||
4)关闭CAD2008,重新启动软件;
|
||||
@@ -0,0 +1,25 @@
|
||||
# 问题现象
|
||||
|
||||
Framework_2.0_SDK(.net2.0框架)是配网软件运行的框架,这个程序主要是用于在安装配网软件过程中,出现报错,提示.net2.0框架没有安装好的情况,或者是安装好配网软件之后双击软件没有反应,也可以安装此程序,解压后双击即可安装上。安装好此程序之后,双击配网软件图标即可启动软件。
|
||||
|
||||
|
||||
|
||||
# 软件操作
|
||||
|
||||
该框架程序可在**配网软件,广东配网清单软件以及国网结算2012软件** 的安装根目录下找到:
|
||||
|
||||
1、找到对应软件图标,右键选择属性;
|
||||
|
||||
|
||||
|
||||
2、在弹出的窗口,点击“查找目标”;
|
||||
|
||||
|
||||
|
||||
3、可以找到“NetFx20SP2_x86.exe”程序;
|
||||
|
||||
|
||||
|
||||
注意:如果安装 .net2.0过程中报错,则需要先安装4.0版本的 .net框架,然后安装2.0版本。
|
||||
|
||||
# 常见问题
|
||||
@@ -0,0 +1,33 @@
|
||||
# 使用场景
|
||||
|
||||
打开08造价软件程序,提示LockClientService.dll无法启动,或打开07资源库时,提示ProjectInstance.ocx报错,出现以上提示时,是08造价锁的问题,此问题具体处理方法详见下方“操作方法”。
|
||||
|
||||
【现象1】打开08造价软件程序,提示LockClientService.dll无法启动
|
||||
|
||||
|
||||
|
||||
【现象2】打开07资源库时,提示ProjectInstance.ocx报错
|
||||
|
||||
|
||||
|
||||
# 知识原理
|
||||
|
||||
出现以上提示时,是08造价锁的问题,需要重新安装以上两个插件
|
||||
|
||||
# 操作方法
|
||||
|
||||
1、进入C:\Program Files\Common Files\bowei文件夹,找到ProjectInstance.ocx程序,右键--打开方式;
|
||||
|
||||
2、点击浏览,进入c盘的windows文件夹,定位system32文件夹,找到regsvr32.exe程序,点击确定后,再打开,电脑是提示安装成功;
|
||||
|
||||
3、然后按以上的操作步骤同样对LockClientService.dll程序操作;
|
||||
|
||||
|
||||
|
||||
以上操作完成后,打开软件程序时仍然会提示一些.dll程序的报错信息,将提示对应的.dll程序从bowei文件夹中复制,在08造价的安装目录下粘贴即可正常使用软件程序。
|
||||
|
||||
# 补充说明
|
||||
|
||||
# 常见问题
|
||||
|
||||
开08造价软件程序,提示LockClientService.dll无法启动?
|
||||
@@ -0,0 +1,100 @@
|
||||
# 使用场景
|
||||
|
||||
博微软件的报表输出界面,需要调用打印机的功能,若当前电脑没有任何打印机(包括实体打印机、虚拟打印机),打开工程时会出现相应的提示信息,见下图:
|
||||
|
||||
|
||||
|
||||
此时,此时针对win7系统,在没有实体打印机的情况下,可以参照本词条添加虚拟打印机。
|
||||
|
||||
win7及以上系统,可参照本词条操作。
|
||||
|
||||
# 知识原理
|
||||
|
||||
虚拟打印机,顾名思义就是虚拟的打印机,它是一种软件,能模拟实现打印机的功能,打印文件。(真实的打印机打印到纸上,而虚拟的打印机会把内容打印到文件上,如office中的one
|
||||
note)
|
||||
|
||||
看到要打印的文件效果。
|
||||
|
||||
解决自己没有打印机,有打印机的电脑上不一定能打开打印的文档的问题。
|
||||
|
||||
# 操作方法
|
||||
|
||||
添**加虚拟打印机之前,请先确保电脑开启了打印服务,确认步骤如下:**
|
||||
|
||||
**1.** 电脑进入桌面状态后,按下“Win+R”组合键,启动“运行”程序(或在开始菜单-运行**),**
|
||||
在输入框中,输入“services.msc”然后点击“确定”按钮或戳回车键,进入“服务”窗口界面。
|
||||
|
||||
|
||||
|
||||
**2.在弹出的“服务”窗口中,找到print Spooler,双击进入设置界面,将状态选择为“启动”。**
|
||||
|
||||
|
||||
|
||||
**若服务已正常启动,添加操作如下:**
|
||||
|
||||
**WIN7系统:**
|
||||
|
||||
1.打开“控制面板”,进入到“设备和打印机”中,右键添加打印机。
|
||||
|
||||
|
||||
|
||||
2.弹出添加打印机向导,选择“添加本地打印机”,下一步。
|
||||
|
||||
|
||||
|
||||
3.选择打印机端口,选择“使用现有的端口(U):LPT1:(打印机端口)” ,下一步。
|
||||
|
||||
(通常情况下,电脑主板集成的并口端口号为:LPT1。如果是外插并口卡增加的并口则应选择LPT3或者LPT2。添加虚拟打印机选择LPT1即可。)
|
||||
|
||||
|
||||
|
||||
4.安装打印机驱动程序,选择厂商为“Brother”,打印机“Brother DCP-117C”,下一步。
|
||||
|
||||
(选择打印厂商不是非要选择Brother,因为是添加虚拟打印机,为方便起见,按默认的进行选择。)
|
||||
|
||||
|
||||
|
||||
5.选择要使用的驱动程序版本为“使用当前已安装的驱动程序(推荐)”,下一步。
|
||||
|
||||
|
||||
|
||||
6.键入打印机名称,按默认名称即可,下一步。
|
||||
|
||||
|
||||
|
||||
7.设置打印机共享,选择“共享此打印机...”
|
||||
(不一定要设置共享。设置共享是为了方便在同一局域网的其他电脑能识别和使用这个虚拟打印机。)
|
||||
|
||||
|
||||
|
||||
8.设置默认打印机,勾选“设置默认打印机”把当前打印机设置为默认打印机,点击完成。
|
||||
|
||||
|
||||
|
||||
9.默认打印机图标显示有绿色“√”。
|
||||
|
||||
|
||||
|
||||
**WIN10系统:**
|
||||
|
||||
1.打开“控制面板”,进入到“设备和打印机”中,右键添加打印机。
|
||||
|
||||
|
||||
|
||||
2.添加打印机时会提示“找不到需要的内容?”,此时点击“找不到需要的内容”链接即可按照win7系统操作方法正常添加打印机。
|
||||
|
||||
|
||||
|
||||
# 补充说明
|
||||
|
||||
1、设置虚拟打印机时,注意区分不同的系统。
|
||||
|
||||
相关词条:
|
||||
|
||||
(1)[Xp系统添加虚拟打印机](http://yun.booway.com.cn/bwwiki/detail/2367.html)
|
||||
|
||||
(2)[win11系统添加虚拟打印机](https://baijiahao.baidu.com/s?id=1736779644099167153&wfr=spider&for=pc)
|
||||
|
||||
# 常见问题
|
||||
|
||||
1、软件没有报表输出界面?
|
||||
@@ -0,0 +1,82 @@
|
||||
# 一、浏览器安全设置导致的控件安装失败
|
||||
|
||||
远程控件安装失败或点击安装后没有反应,可能是因为浏览器的安全设置问题,可参照以下方法解决:
|
||||
|
||||
1.点击浏览器中的“工具”按钮—选择“Internet选项”
|
||||
|
||||
|
||||
|
||||
**** 2.切换致“安全”标签页,选择“自定义级别”;
|
||||
|
||||
|
||||
|
||||
3.将“ActiveX控件和插件”选项中的禁用项都改为启用,点击确定。
|
||||
|
||||
|
||||
|
||||
4.切换至“Internet选项--隐私”标签页,“阻止弹出窗口”去掉勾选,点击“应用“--”确定”。
|
||||
|
||||
|
||||
|
||||
# 二、各浏览器安装远程控件问题和解决方法
|
||||
|
||||
## 启动 XT800 “远程控制”功能失败,很可能和浏览器的类型及版本有关。
|
||||
|
||||
##
|
||||
|
||||
## * IE6.0 和遨游系列版本
|
||||
|
||||
点击“远程控制”链接,可直接启动 XT800 ,且无提示。
|
||||
|
||||
## * IE6.0 以上版本和 360 浏览器
|
||||
|
||||
会出现如下提示,如果取消“打开此类地址前总是询问”的勾选,,并且点击了“允许”下次将不会再出现这
|
||||
个对话框,直接运行 xt800 程序。如果点击了“取消“下次再次点击”远程控制“链接,还会再次提示该对话框。
|
||||
|
||||
## . 建议的操作:取消“打开此类地址前总是询问”的勾选,并点击”允许“的按钮。
|
||||
|
||||
## * Firefox系列版本
|
||||
|
||||
会出现如下提示,如果选中“记住我对xtstp类型链接的选择”,并且点击了“确定”下次将不会再出现这个
|
||||
对话框,直接运行xt800程序。如果点击了“取消“下次再次点击”远程控制“链接,还会再次提示该对话框。
|
||||
|
||||
## .
|
||||
|
||||
建议的操作:选中“记住我对xtstp类型链接的选择”,并点击”确定“的按钮。
|
||||
|
||||
## * 谷歌浏览器
|
||||
|
||||
会出现如下提示,如果选中“记住我对此类型链接的选择”,并且点击了“启动应用程序”下次将不会再出现
|
||||
这个对话框,直接运行xt800程序。
|
||||
|
||||
如果不选中,只是点击了“取消应用程序启动“,下次再次点击”远程控制“链接,还会再次提示该对话框。
|
||||
|
||||
## .
|
||||
|
||||
若选中“记住我对此类型链接的选择”,并且点击了“取消应用程序启动”,下次将无法启动应用程序,并且也不会再出现该提示框。此时,应采用如下方法来解决:
|
||||
|
||||
方法1、最简单、但又最麻烦的办法就是卸载Chrome,重新安装,之后点击“启动应用程序”,并记住选择。
|
||||
|
||||
方法2、无须重装Chrome浏览器,只需去除已有的“取消应用程序启动”设置。具体步骤:
|
||||
|
||||
1)先关闭所有打开的chrome窗口;
|
||||
|
||||
2)Windows7/Vista系统,进入 C:\Users\<你的Windows用户名>\AppData\Local\Google\Chrome\User
|
||||
Data
|
||||
|
||||
XP系统,进入 C:\Documents and Settings\<你的XP用户名>\LocalSettings\Application
|
||||
Data\Google\Chrome\User Data
|
||||
|
||||
3)用记事本(或其他编辑器)打开其中的Local State文件;
|
||||
|
||||
4)找到其中的【"xtstp":ture,】一行,将“ture”修改成“false”,然后保存并退出记事本。
|
||||
|
||||
5)重启浏览器,重启对话窗口,点击“远程控制”。
|
||||
|
||||
建议的操作:选中“记住我对此类型链接的选择“,并点击”启动应用程序“的按钮。
|
||||
|
||||
## 常见问题:
|
||||
|
||||
关联词条:
|
||||
|
||||
[访客端如何使用远程协助](http://192.168.0.10/hdwiki/index.php?doc-view-2100)
|
||||
@@ -0,0 +1,85 @@
|
||||
# 使用场景
|
||||
|
||||
博微软件的报表输出界面,需要调用打印机的功能,若当前电脑没有任何打印机(包括实体打印机、虚拟打印机),打开工程时会出现相应的提示信息,见下图;
|
||||
|
||||
|
||||
|
||||
此时针对XP系统,在没有实体打印机的情况下,可以参照本词条添加虚拟打印机。
|
||||
|
||||
# 知识原理
|
||||
|
||||
1.软件运行速度很慢原因是报表控件与打印机连接有关,如果软件与电脑默认打印机未连接上,电脑处于搜索状态,因此影响软件运行速度。
|
||||
|
||||
2.出现上面现象,可以通过电脑控制面板——添加打印机(或双击打印机和传真——右键添加打印机)进入安装向导窗口选择连接到本地打印机,根据提示完成安装。软件连接上虚拟打印机,即可正常使用。
|
||||
|
||||
# 费用去向
|
||||
|
||||
# 操作方法
|
||||
|
||||
**XP系统添加虚拟打印机操作方法如下:**
|
||||
|
||||
1.选择到电脑左下角开始——控制面板——打印机和传真(添加打印机),如图1:
|
||||
|
||||
|
||||
|
||||
2.右键添加打印机,如图2:
|
||||
|
||||
|
||||
|
||||
3.进入安装向导窗口,点击下一步,如图3:
|
||||
|
||||
|
||||
|
||||
|
||||
4.选择连接本地打印机,点击下一步,如图4:
|
||||
|
||||
|
||||
|
||||
5.根据提示,点击下一步,如图5:
|
||||
|
||||
|
||||
|
||||
6.选择相应的端口,点击下一步,如图6:
|
||||
|
||||
|
||||
|
||||
7.选择默认或者自行选择打印机,点击下一步,如图7:
|
||||
|
||||
|
||||
|
||||
8.选择是否保留原驱动,点击下一步,如图8:
|
||||
|
||||
|
||||
|
||||
9.根据提示点击下一步,如图9:
|
||||
|
||||
|
||||
|
||||
10.选择"否",点击下一步,如图10:
|
||||
|
||||
|
||||
|
||||
11.点击完成,完成安装,如图11:
|
||||
|
||||
|
||||
|
||||
若上图没有出现,则是由于系统上没有内置的虚拟打印机驱动,此时,需要去网上下载xp系统虚拟打印机软件,安装即可。
|
||||
|
||||
|
||||
12.打印机已安装,如图12:
|
||||
|
||||
|
||||
|
||||
# 补充说明
|
||||
|
||||
设置虚拟打印机时,注意区分不同的系统。
|
||||
|
||||
相关词条:
|
||||
|
||||
[WIN7系统添加虚拟打印机](http://yun.booway.com.cn/bwwiki/detail/4094.html)
|
||||
|
||||
# 常见问题
|
||||
|
||||
1、软件运行特别慢,是什么原因?
|
||||
|
||||
2、打开造价2014软件,提示没有检测到打印服务,怎么办?
|
||||
@@ -0,0 +1,115 @@
|
||||
# 使用场景
|
||||
|
||||
其他电脑能正常使用,win10/11系统软件锁读取不到,查看设备管理器点击锁属性提示:驱动无法加载,代码39?
|
||||
|
||||
|
||||
|
||||
|
||||
# 知识原理
|
||||
|
||||
win10系统无法正常安装锁驱动造成
|
||||
|
||||
# 费用去向
|
||||
|
||||
# 软件操作
|
||||
|
||||
优先处理方式:二代锁优先安装最新锁驱动
|
||||
|
||||
三代锁安装助手根目录下驱动程序,安装路径:博微软件助手\Tools\Drivers_4.0.0.4
|
||||
|
||||
|
||||
|
||||
如若上方处理方法不行再
|
||||
|
||||
按照以下方法顺序进行排查:
|
||||
|
||||
方法一:优先安装最新版本锁驱动(2.7.2.68616),资源可联系博微服务获取。
|
||||
|
||||
方法二:双击运行
|
||||
|
||||
|
||||
|
||||
方法三:若方法二运行不了可尝试进行方法二操作。
|
||||
|
||||
第一步:可命令(cmd以管理员身份运行)输入:pnputil -e 回车
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
第二步:查找驱动程序程序包提供程序: Beijing SenseShield Corp. 并记录其发布名称如下图oem17.inf
|
||||
,**您可记录您电脑上的oem xx.inf**
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
第三步:运行命令,输入命令 pnputil -d oemxx.inf,回车即可删除,删除之后打开驱动安装程序重装驱动即可。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
方法四:1、 在开始菜单下点击设置
|
||||
|
||||
|
||||
|
||||
|
||||
2、点击更新和安全选项。
|
||||
|
||||
|
||||
|
||||
3、点击Windows更新选项,然后打开Windows Defender安全中心。
|
||||
|
||||
|
||||
|
||||
|
||||
4、点击设备安全性即可看到内核隔离,然后点击内核隔离详细信息即可看到内核完整性开关按钮
|
||||
|
||||
|
||||
|
||||
您只需要把这个关闭,然后重启电脑(直接点提示的按钮重启) 即可关闭“内存完整性”选项。
|
||||
|
||||
|
||||
|
||||
|
||||
有的电脑会出现权限问题导致这个按钮不能关闭。
|
||||
|
||||
双击打开“repair.bat”文件,然后重启计算机,即可关闭“内存完整性”选项,(注意:repair.bat文件已上传到附件中)
|
||||
|
||||
|
||||
|
||||
重启计算机之后打开 Virbox用户工具以及精锐5驱动都可以正常运行。
|
||||
|
||||
方法四:在设备管理,点击黄色感叹号的锁信息,右键卸载锁驱动程序;卸载完成后安装最新版的锁驱动;(安装锁驱动的时候关闭杀毒软件,拔掉锁)
|
||||
|
||||
方法五:点win+r运行命令,运行“gpedit.msc”--计算机配置--管理面板---系统---设备安装---设备安装限制;
|
||||
|
||||
|
||||
|
||||
|
||||
方法六:锁在其他电脑正常使用,可以引导客户转为无驱模式;操作如下:
|
||||
|
||||
将锁插在正常读取锁的电脑上,解压“转为无驱模式的工具”以管理员身份运行,点击“HID模式”运行,转换完成之后,在插在这台有问题的电脑使用;
|
||||
|
||||
|
||||
|
||||
按照以上处理方法问题还没有解决,反馈博微客服,联系深思数盾专工远程处理
|
||||
|
||||
# 补充说明
|
||||
|
||||
若设置关闭内核隔离后安装驱动出现电脑蓝屏,可点击高级修复选项,如下图:
|
||||
|
||||
|
||||
|
||||
当提示:选择一个选项时,可点击“继续”,如下图:
|
||||
|
||||
|
||||
|
||||
# 常见问题
|
||||
@@ -0,0 +1,87 @@
|
||||
# 使用场景
|
||||
|
||||
软件首行灰色,检测通和博微助手读取不到锁,打开深思用户工具提示:SS服务未启动,核心功能不可用?
|
||||
|
||||
|
||||
|
||||
|
||||
# 费用去向
|
||||
|
||||
# 软件操作
|
||||
|
||||
**按照方法顺序进行排查**
|
||||
|
||||
方法一:确认是不是最新的三代锁驱动,如果不是,安装最新三代锁驱动(可以官网下载锁驱动)
|
||||
|
||||
**方法二:确认电脑系统,点击"我的电脑“-“属性”下检查CPU型号,如果是M1、Apple CPU - >
|
||||
使用三代锁驱动(2.2.0.46331_arm版本)联系博微客服进行发送**
|
||||
|
||||
|
||||
|
||||
**方法三:确认三代锁的报错提示后,以管理员身份运行E5修复工具中的“ssrepairtool.exe”程序(E5修复工具联系博微客服发送),点击“一键检测修复”,最后重启电脑**
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
**方法四、排查LSP劫持,则深思服务无法启动;**
|
||||
|
||||
解决:
|
||||
|
||||
A、使用360
|
||||
lsp修复工具修复:电脑中有360安全卫士,可以双击打开,点击“功能大全”,右上角搜索单元格中输入“LSP修复”,或者选择“网络优化”模块,点击立即修复,确定;
|
||||
|
||||
B、使用命令行-管理员权限执行:netsh winsock reset,然后重启电脑,操作如下:
|
||||
|
||||
点击电脑左下角程序,进行搜索“CMD”,用管理员权限打开“命令提示符”窗口
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
解决方法
|
||||
|
||||
1、管理员运行cmd,输入wmic csproduct,看是否有输出,如果没有,进行第二步;
|
||||
|
||||
2、以管理员身份运行Tweaking.com - Repair
|
||||
WMI工具,修复前先关闭360等安全软件,修复后重新启动SS;工具(联系博微客服发送修复工具)
|
||||
|
||||
|
||||
|
||||
**一、之前的处理方法方法**
|
||||
|
||||
**方法一:手动修改注册表选项,重启机器。操作方法如下:**
|
||||
|
||||
1)打开运行,输入 regedit 然后就会打开注册表
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
**方法二、排查注册表修改问题**
|
||||
|
||||
a) 关闭杀毒软件,发送驱动加载工具“DriverLdr.exe”;
|
||||
|
||||
b) 点击“DriverLdr.exe”文件鼠标右键“以管理员身份运行”打开。
|
||||
|
||||
|
||||
|
||||
(x86)\senseshield\ss\service”路径下的“sprotect.sys”文件拖入“DriverLdr.exe”工具。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
**方法三、电脑右下角“用户工具”,点击【诊断修复】界面——“一键检测”,修复显示正常后,重新启动软件**
|
||||
|
||||
|
||||
view-5624)、[注册单机锁软件许可证为灰色](http://http://192.168.0.10/hdwiki/index.php?doc-
|
||||
view-3726)、[手动更新锁驱动/设备管理器有黄色感叹号](http://http://192.168.0.10/hdwiki/index.php?doc-
|
||||
view-2115)
|
||||
|
||||
# 常见问题
|
||||
@@ -0,0 +1,35 @@
|
||||
# 使用场景
|
||||
|
||||
2022年10月底,将针对低版本的网络锁2017服务器进行升级,由销售服务上门处理,升级后常见问题如下:
|
||||
|
||||
# 知识原理
|
||||
|
||||
升级服务器版本为2.2;适用软件:电力建设计价通、技改检修计价通、配网D3软件、配网2017软件
|
||||
|
||||
# 费用去向
|
||||
|
||||
# 软件操作
|
||||
|
||||
问题1:登录失败,当前连接的“博微网络锁服务器“版本过低?
|
||||
|
||||
|
||||
|
||||
解决方法:如果客户下载的是电力建设计价通2.4版本/技改计价通1.8版本,则无法使用网络锁登入,单机锁没有问题;
|
||||
|
||||
联系当地方负责人处理,拿到最新的网络锁服务安装一下即可
|
||||
|
||||
问题2:公司存在电力建设计价通和技改计价通软件,该怎么办?
|
||||
|
||||
解决方法:2款软件登录的是同一台网络锁2017服务器的,升级一台即可;如果存在不同的服务器,则均需要升级
|
||||
|
||||
问题3:有电力造价2016、技改2016这类的二代网络锁,升级网络锁服务器后能正常使用吗?
|
||||
|
||||
解决方法:可以正常使用
|
||||
|
||||
问题4:之前使用的是“网络锁2014服务器”,是否需要升级为“网络锁2017服务器”?
|
||||
|
||||
解决方法:老的“网络锁2014服务器”只支持二代网络锁,原则上不存在本次升级版本的“计价通类产品”在使用“网络锁2014服务器”的情况;如遇到类似情况,停止之前2014服务器,可以升级为2017服务器
|
||||
|
||||
问题5:本次上门升级服务器,后期发布了新的服务器,是否会上门处理?
|
||||
|
||||
解决方法:本次安装的新版本服务器已内置自动升级功能,之后客户可以根据升级提示确认升级服务器
|
||||
@@ -0,0 +1,55 @@
|
||||
# 使用场景
|
||||
|
||||
1、博微助手是干什么的?怎么使用?
|
||||
|
||||
2、助手中下载的程序包在哪?
|
||||
|
||||
# 知识原理
|
||||
|
||||
# 费用去向
|
||||
|
||||
无
|
||||
|
||||
# 操作方法
|
||||
|
||||
**一、软件锁:锁异常修复、锁激活、锁延期、锁注册等功能操作**
|
||||
|
||||
锁异常:点击诊断修复,,一键检测,之后一键修复即可
|
||||
|
||||
|
||||
|
||||
锁激活:联网激活或手动激活锁保险
|
||||
|
||||
|
||||
|
||||
锁延期:试用锁用户进行延期,点击蓝色字体“延期”,输入延期码即可
|
||||
|
||||
|
||||
|
||||
许可证管理:针对单个锁内专业进行注册或者添加锁专业,也支持查询锁专业
|
||||
|
||||
|
||||
|
||||
单机锁批量操作:电脑联网状态下,支持批量注册、开通锁保险、激活锁保险和延期试用锁功能
|
||||
|
||||
|
||||
|
||||
**二、软件管理:支持更新软件和软件下载,也可以根据锁专业判定是否有安装软件**
|
||||
|
||||
|
||||
|
||||
在线客服:登入手机号可以进行在线客服的软件咨询
|
||||
|
||||
智电课堂:可以观看直播课和教学视频
|
||||
|
||||
博电数据:可查询各地主材和设备的信息价
|
||||
|
||||
博微云:登入云账号,可以进行资源下载,产品中心(定额查询、价格查询等)功能;
|
||||
|
||||
常用工具:提供了五金计算、图形算量、计算器、查询注册号、博微知识库功能
|
||||
|
||||
|
||||
|
||||
1、博微助手中下载的程序包位置:C:\ProgramData\Booway\博微软件助手\Upgrade\Data
|
||||
|
||||
# 常见问题
|
||||
@@ -0,0 +1,234 @@
|
||||
# 知识原理
|
||||
|
||||
**1、助手检测提示:锁内数据文件毁坏,请联系博微客服进行PKG升级修复**
|
||||
|
||||
|
||||
|
||||
处理方法:更新为最新版本的博微助手,可以点击“一键修复”解决;
|
||||
|
||||
[助手检测提示:锁内数据文件毁坏,请联系博微客服进行PKG升级修复](http://wiki.jxbw.com/hdwiki/index.php?doc-
|
||||
view-6528)
|
||||
|
||||
**2、博微助手显示:WMI不正常,请联系博微客服**
|
||||
|
||||
处理方法:[打不开软件,博微助手中提示:WMI不正常,请联系博微客服](http://wiki.jxbw.com/hdwiki/index.php?doc-
|
||||
view-6668)
|
||||
|
||||
**3、2.0.571版本博微助手,打开提示:缺少媒体组件,该功能无法使用,请先安装多媒体组件。**
|
||||
|
||||
|
||||
|
||||
**4、助手网络检测出现以下提示:**
|
||||
|
||||
|
||||
激活时,提示连接不上服务器,诊断检测提示:无法访问博微在线升级(http状态码0)、hosts文件含博微域名。
|
||||
|
||||
 host
|
||||
|
||||
|
||||
答:C:\Windows\System32\drivers\etc这个路径有host文件,看下这个路径的hosts文件,记事本打开之后是否有截图的情况,若是有,整行删除
|
||||
|
||||
|
||||
|
||||
|
||||
**5、打开软件出现提示:软件启动失败,错误代码:0x000005,错误原因:许可认证授权失败。**
|
||||
|
||||
|
||||
|
||||
|
||||
原因:本地时间和锁内时间不一致导致
|
||||
解决方案:诊断修复校准时间/手动修改电脑时间。
|
||||
|
||||
**6、问题:博微软件助手一直弹出无法操作的提示。**
|
||||
|
||||
|
||||
|
||||
解决方案:(1)、查找客户老版助手安装路径(一般是在C盘当中
|
||||
C:\博微软件\博微软件助手\)或助手现安装路径,看路径下是不是有BwLauncher.dll或BwLauncher64.dll的文件:
|
||||
|
||||
|
||||
|
||||
(2)、确认路径之后,可以使用记事本打开bat(bat文件联系博微客服获取),修改对应BwLauncher组件所在路径,修改为BwLauncher.dll或BwLauncher64.dll文件所在的路径,如下图,后面加上
|
||||
\BwLauncher64.dll 或 \BwLauncher.dl
|
||||
|
||||
|
||||
|
||||
(3)、修改完成之后保存bat,然后以管理员身份运行。运行完成后,助手不会再弹出,此时可重新安装最新版本的助手,或是卸载助手。
|
||||
|
||||
补充:若是bat文件右键无法设置打开方式,可重命名将.bat修改为.txt进行打开,修改“BwLauncher64.dll”所在路径保存后,将txt再次修改为bat。以管理员身份运行打开。
|
||||
|
||||
|
||||
|
||||
**7、助手检测提示:锁操作异常,使用受限。**
|
||||
|
||||
|
||||
|
||||
由于:24小时内频繁在10台电脑上插入使用,判定异常禁止了
|
||||
|
||||
解决方法:客户联系销售,让销售联系博微客服处理
|
||||
|
||||
**8、软件打不开,查看设备管理器里面显示黄色感叹号,右键属性显示错误代码1;代码28;代码39;代码10?**
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
**代码29**
|
||||
|
||||
|
||||
|
||||
|
||||
解决方法:代码1:[ _此设备的配置不正确(代码1)_](http://wiki.jxbw.com/hdwiki/index.php?doc-
|
||||
view-5746)
|
||||
|
||||
代码28:方法一[ _手动更新锁驱动_](http://wiki.jxbw.com/hdwiki/index.php?doc-
|
||||
view-2115);方法二安装最新锁驱动;
|
||||
|
||||
代码39:[ _win10系统中锁驱动错误代码39_](http://wiki.jxbw.com/hdwiki/index.php?doc-
|
||||
view-5743)
|
||||
|
||||
代码10:计算机-管理-服务-“Device Install Service”和“Device Setup
|
||||
Manager”两项服务如果未启动,影响驱动安装,在计算机--管理-服务中手动启动这两个文件。
|
||||
|
||||
**9、助手提示ss服务不存在/已停止?**
|
||||
|
||||
解决方法:安装2.5版本三代锁驱动(安装包联系博微客服)
|
||||
|
||||
**10、重启电脑需要使用助手进行诊断修复助手才能读取锁?**
|
||||
|
||||
解决方法:(1)、用户许可工具设置开机自启
|
||||
|
||||
(2)、点击【我的电脑】--管理--服务,将锁服务设置自动
|
||||
|
||||
(3)、去电脑杀毒软件设置软件启动项(如360卫士设置:<https://news.yesky.com/hotnews/53/2147464553.shtml>)
|
||||
|
||||
**11、软件锁提示禁用排查步骤。**
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
(1)、助手查看是不是保险锁到期
|
||||
|
||||
解决方法:需要在助手当中进行激活
|
||||
|
||||
(2)、锁是保险锁,助手显示开通中?
|
||||
|
||||
解决方法:助手当中开通保险锁服务
|
||||
|
||||
(3)、确认是否是试用锁到期?
|
||||
|
||||
解决方法:询问是否有延期码联系地区负责人进行延期
|
||||
|
||||
(4)、软件注册界面显示禁用,助手界面显示锁保险未开通,注册0个专业?
|
||||
|
||||
解决方法:收集截图,助手报告,反馈(博微客服)生成数据包升级操作
|
||||
|
||||
# 历史问题
|
||||
|
||||
**1、博微助手加密锁中显示“LI:0x0500001F ”无法识别锁,但是检测又没有问题?**
|
||||
|
||||
|
||||
|
||||
|
||||
**2、联网激活保险锁提示:在线升级服务器超时,请重新尝试或联系博微客服?**
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
方法二:关闭防火墙试试,如不行,反馈博微客服。
|
||||
|
||||
**3、三代锁进行开通、激活保险锁业务,出现提示:开通失败,发生服务器端错误(错误码:300001)**
|
||||
|
||||
|
||||
|
||||
|
||||
答:收集客户报错截图,反馈博微客服,造成的原因是:博微服务器没有开启
|
||||
|
||||
**4、博微助手中加密锁显示“NeedUpdate”?**
|
||||
|
||||
|
||||
|
||||
遇到以下情况处理方法:
|
||||
|
||||
**第一种情况** :二代锁需锁升级,博微助手中诊断和修复一直卡住,无法进行修复。
|
||||
|
||||
**第二种情况** :使用tools工具也是卡住
|
||||
|
||||
原因分析:卡住了,就说明有其他程序访问锁;在进程中找到博微软件关闭后,再拔插升级操作。(如;博微助手任务管理器里结束)
|
||||
操作方法:必须关闭其他所有访问锁的程序后,再升级修复;关闭其他程序后需重新拔插下。再次进行升级操作。
|
||||
|
||||
**第三种情况** :升级软件锁失败,直接走换锁流程
|
||||
|
||||
|
||||
|
||||
**5、联网激活提示:连接博微在线升级服务器失败?**
|
||||
|
||||
|
||||
|
||||
原因分析:用户能够联网到我们的服务器,但是连接不到证书的吊销服务器。
|
||||
|
||||
答:方法一:博微助手1.3的版本已经优化了该功能,如果不是最新版本,可以更新到最新版本
|
||||
|
||||
方法二:IE浏览器的高级设置中将检查服务器证书是否吊销取消勾选。
|
||||
|
||||
|
||||
|
||||
**6、博微助手在win10系统的电脑中启动出现如图报错?**
|
||||
|
||||
|
||||
|
||||
造成原因:博微助手启动报错,win10系统电脑安装了安全软件,拦截导致。
|
||||
|
||||
处理方法:可安装开发处理的安装包,不进行检测,可正常运行使用。联系博微客服发送:博微软件助手(win10系统启动报错特殊包).zip
|
||||
|
||||
**7、博微助手打开闪退,并且报错,无法运行?**
|
||||
|
||||
处理方法:可以将这个路径下的文件删除:C:\ProgramData\Booway\博微软件助手\Upgrade\Update.taste;官网发布的新版本1.1.3的解决这个问题
|
||||
|
||||
**8、自用锁博微助手提示禁用,使用检测通检测提示:已禁用,锁内时间有误,请收集信息联系技术人?**
|
||||
|
||||
|
||||
|
||||
答:造成的原因可能是因为锁内电池没电了,需换锁处理
|
||||
|
||||
**9、【博微助手】开通/联网激活锁保险,提示:检测到您机器的hosts文件异常,无法链接博微服务器,请联系博微客服。**
|
||||
|
||||
答:用户本地没有hosts文件,影响联网操作。
|
||||
|
||||
方法一:把我们本地的hosts文件发给用户,放到系统对应文件夹下即可(系统文件位置:C:\Windows\System32\drivers\etc)
|
||||
|
||||
方法二:激活也可采用手动激活
|
||||
|
||||
|
||||
|
||||
**10、保险锁业务怎么激活?**
|
||||
|
||||
答:使用博微助手激活,具体操作查看词条:[保险锁开通和激活](http://192.168.0.10/hdwiki/index.php?doc-
|
||||
view-5791)
|
||||
|
||||
**11、手动激活锁保险,二维码显示不全,如图提示?**
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
**答:** 排查思路:(1)确认助手版本号(更新到最新版本)
|
||||
|
||||
(2)、确认博微软件助手\Upgrade
|
||||
这个文件夹下的“Soft_Update_Adr.xml”是否存在,若无则发送文件(存放位置:\\\192.168.20.2\产品_服务部\1、呼叫服务\11、常用工具\0、安装注册系列工具(应用)\7、手动激活锁保险,二维码显示不全),再次进行激活操作。若有,收集助手根目录、检测报告反馈博微客服
|
||||
|
||||
**12、传递参数错误/用户工具检测驱动代码问题0/软件中注册显示软件锁号为EXE:0x000800C?**
|
||||
|
||||
处理方法:相关词条:<http://192.168.0.10/hdwiki/index.php?doc-view-6162>
|
||||
@@ -0,0 +1,54 @@
|
||||
# 使用场景
|
||||
|
||||
1、登录软件后,一直在登录进度条滚动,无法进入软件操作界面?
|
||||
|
||||
|
||||
|
||||
|
||||
3、拔掉软件锁,软件登录弹窗不显示?
|
||||
|
||||
# 知识原理
|
||||
|
||||
# 费用去向
|
||||
|
||||
# 软件操作
|
||||
|
||||
打开博微助手进行“诊断修复” \--“一键修复”可以进行LSP修复;如不行按照以下操作
|
||||
|
||||
LSP修复工具(联系博微客服获取)
|
||||
|
||||
1、判断电脑LSP是否正常
|
||||
|
||||
双击运行工具文件:LSPViewer.exe
|
||||
|
||||
|
||||
`若结果如所下图所示,红线框内的dll名称均为mswsock.dll,则LSP正常,无需修复。`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
`方法一:以管理员权限启动运行修复工具中“RESETLSP.bat”文件,结果如下所示修复成功,重启电脑后软件可正常使用`
|
||||
|
||||
|
||||
|
||||
`⑴
|
||||
电脑中有360安全卫士,可以双击打开,点击“功能大全”,右上角搜索单元格中输入“LSP修复”,或者选择“网络优化”模块,点击立即修复,确定;(多修复几次后在重启电脑)`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# 补充说明
|
||||
|
||||
# 常见问题
|
||||
@@ -0,0 +1,73 @@
|
||||
# 使用场景
|
||||
|
||||
在打开电力工程造价2014、输变电工程工程量清单软件2014等新软件的时候,双击软件快捷图标,弹出欢迎界面之后就没有反应,或者是双击软件欢迎界面也没有,没有任何反应,软件启动不了。
|
||||
|
||||
# 知识原理
|
||||
|
||||
遇到该问题,可参照以下内容确认:
|
||||
|
||||
1、软件版本号?-----如果是造价2014软件的1.5.7.2版本,则优先考虑情况二。
|
||||
|
||||
2、电脑进程中是否有软件在运行?有几个?能否结束进程?----- 如果有多个但可以结束进程,则优先考虑情况四;如果有多个但是无法结束进程,则优先考虑情况五。
|
||||
|
||||
3、电脑能否联网?是否开启杀毒软件?最近有没有进行杀毒?之前能否正常打开软件?------如果能联网且开启了杀毒软件,之前能正常打开软件,则优先考虑情况一
|
||||
。
|
||||
|
||||
4、如果以上3点均不满足,则属于情况三。
|
||||
|
||||
# 操作方法
|
||||
|
||||
针对新软件双击图标没有反应,大致可以分为以下几类情况:
|
||||
|
||||
## 情况一:杀毒软件拦截组件
|
||||
|
||||
原 因:杀毒软件开启了实时监控功能,软件启动时杀毒软件自动拦截了启动程序(例如软件根目录下的
|
||||
LicenceSupport.dll组件),导致软件双击无法打开;
|
||||
|
||||
解决方案:1、打开杀毒软件,确认是否有博微组件被隔离,如有则将其还原,具体操作方法参考词条:[杀毒软件误删组件](index.php?doc-
|
||||
view-3891)
|
||||
|
||||
2、关闭杀毒软件实时监控功能,添加信任文件。具体操作方法参考词条:[在杀毒软件中设置信任文件](index.php?doc-view-3724)
|
||||
|
||||
## 情况二:任务管理重复运行软件
|
||||
|
||||
原 因:电脑上的任务管理器的进程中运行了多个相同的2014造价或清单2014软件程序,致使软件双击无法正常启动;
|
||||
|
||||
解决方案:打开电脑的任务管理器--
|
||||
进程,找到BwZjEditor2014.exe、AppStarter.exe或者BW开头的程序,点击结束进程,直至进程中无上述组件,然后再次打开软件即可;
|
||||
|
||||
## 情况三:进程程序无法结束
|
||||
|
||||
原 因: 软件升级之后,插上锁,提示驱动正在升级,但是一直没有响应,强行关闭之后,再次打开就没有反应,任务管理器的进程中能找到软件程序,但是无法结束进程;
|
||||
|
||||
解决方案:
|
||||
|
||||
1、拔下软件锁,打开任务管理器,结束该软件的所有后台进程;(例如:清单2014的后台进程是AppStarter.exe,造价2014的后台进程是BwZjEditor2014.exe)
|
||||
|
||||
2、联系博微客服,运行升级工具对该问题锁进行升级;
|
||||
|
||||
3、升级工具对锁升级成功后,打开软件,重新注册软件锁,即可正常登陆软件。
|
||||
|
||||
# 补充说明
|
||||
|
||||
# 常见问题
|
||||
|
||||
针对操作方法中的情况,补充如下:
|
||||
|
||||
## 情况二:盗版软件(特定版本出现)
|
||||
|
||||
原 因:曾经使用过或者正在使用盗版软件,致使软件无法启动,此类情况一般出现在造价2014软件1.5.7.2版本;
|
||||
|
||||
解决方案:下载最新版本安装包,卸载软件、备份工程、删除安装目录后,重新安装。(请使用正版软件锁)
|
||||
|
||||
## 情况三:vcredist_x86运行时库
|
||||
|
||||
原 因:电脑系统中自带的vcredist_x86运行时库没有安装或者安装不正确,导致该组件没有运行,而软件是基于该组件启动,最终致使软件双击无法启动;
|
||||
|
||||
解决方案:重新安装vcredist_x86。(到软件安装目录中找到【vcredist_x86】文件夹,运行“install.exe”安装即可。若找不到请联系博微客服),安装完成之后重启电脑。
|
||||
|
||||
其他常见问题
|
||||
|
||||
1、软件双击怎么没有任何反应,打不开?
|
||||
|
||||
2、打开软件为何弹出了欢迎界面就没有反应了?
|
||||
@@ -0,0 +1,31 @@
|
||||
# 知识原理
|
||||
|
||||
**现象:**
|
||||
|
||||
1、插上软件锁,双击软件无法进入软件界面?
|
||||
|
||||
2、拔掉软件锁,双击软件不显示软件登录弹窗?
|
||||
|
||||
目前造成各款软件双击打不开或者拔掉锁没有登录弹窗显示确认到的原因是LSP问题,需要使用(LSP工具联系博微客服发送)进行修复。
|
||||
|
||||
|
||||
|
||||
# 操作方法
|
||||
|
||||
1、判断LSP是否正常
|
||||
|
||||
双击运行工具文件:LSPViewer.exe
|
||||
若结果如所下图所示,红线框内的dll名称均为mswsock.dll,则LSP正常,无需修复。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
以管理员权限启动运行RESETLSP.bat,结果如下所示,然后重启电脑即可。
|
||||
|
||||
|
||||
|
||||
# 常见问题
|
||||
|
||||
1、双击软件,打不开软件,没有任何显示了?
|
||||
@@ -0,0 +1,203 @@
|
||||
联系博微客服获取工具,对各类工具的使用方法和作用分别进行描述,以提高安装注册问题的解决效率。
|
||||
|
||||
# 一、信息读取工具
|
||||
|
||||
## 1、UserTest(锁信息读取)--2.32.0.2
|
||||
|
||||
|
||||
|
||||
**用户场景** :用户告诉软件锁始终注册不上,但一切都显示正常,有可能是用户插错了软件锁或者是插在电脑上的是盗版软件锁。
|
||||
|
||||
**用途** :读取USB接口上的锁基本信息,设备编号、运营商、出锁时间等情况,可确认盗版锁和用户电脑上的软件锁是否与告知的一致。
|
||||
|
||||
**使用方法** :
|
||||
|
||||
1、把压缩包发送到用户桌面解压;
|
||||
|
||||
2、双击运行“UserTest.exe”文件,点击测试;
|
||||
|
||||
3、在显示框可查看到用户软件锁的设备编号、运营尝试编号(博微:8116116)、锁当前时间等;
|
||||
|
||||
## 2、博微软件锁信息读取工具--1.0.0.7
|
||||
|
||||
**用户场景** :软件锁驱动安装不成功,设备管理器显示异常但更新不成功,或是通过PKG工具修复之后依然读取不到软件锁。
|
||||
|
||||
**用途** :用于读取锁内所有信息,除UserTest能读取出来的信息之外,还可以识别是否为时钟锁,并且可以查看到锁内程序以及操作记录等,搜集锁信息。
|
||||
|
||||
**使用方法** :
|
||||
|
||||
1、把压缩报包发送给用户;
|
||||
|
||||
2、把压缩包复制到软件安装的根目录下,解压,双击运行“博微软件锁信息读取工具.exe”程序;
|
||||
|
||||
3、在弹出的对话框中点击“读锁”,在根目录下会生成“捕获的日志信息.dat”,把该文件发送给负责人,让其确认具体问题。
|
||||
|
||||
## 3、ZIPMANAGER使用说明--1.0.0.1
|
||||
|
||||
_注:该工具不要发送给用户。_
|
||||
|
||||
**用户场景** :使用“博微软件锁信息读取工具”从用户计算机上收集的“捕获的日志信息.dat”文件是加密存放的,必须解密后才能查看。
|
||||
|
||||
**用途** :用于解密“博微软件锁信息读取工具”生成的“捕获的日志信息.dat”文件,生成txt文本,查看“捕获的日志信息.dat”中的内容。
|
||||
|
||||
**使用方法** :
|
||||
|
||||
1、解压之后双击运行“ZIPMANAGER.EXE“文件;
|
||||
|
||||
2、把在用户电脑上读取到捕获日志拖动到打开的程序中;
|
||||
|
||||
3、点击左上角的文件—解压到,然后选择存储路径;
|
||||
|
||||
4、最后会生成txt文档,可以查看锁内所有信息;
|
||||
|
||||
|
||||
|
||||
|
||||
## 4、everest(生成电脑信息)--5.50.2194.0
|
||||
|
||||
**用户场景** :软件无法正常使用,但是锁驱动一切都显示正常安装,软件安装过程中也没有问题,有可能是用户系统文件或者是安装的其他程序和软件或者是锁冲突了。
|
||||
|
||||
**用途** :读取用户电脑信息,包括系统信息、安装程序等,用于查找是否有和软件或锁冲突的程序存在用户的电脑上。
|
||||
|
||||
**使用方法** :
|
||||
|
||||
1、解压后运行“everest.exe”程序;
|
||||
|
||||
2、点击菜单项"报告->快速报告->纯文本",生成电脑信息,在弹出的对话框中等待报告生成;
|
||||
|
||||
3、报告生成完毕后,选择"保存为文件"按钮,把该文档发送给相关负责人。
|
||||
|
||||
## 5、ChipGenius(USB设备读取)--3.0.0.1
|
||||
|
||||
|
||||
|
||||
**用户场景** :用户电脑的usb接口上插了其他的软件锁或者U盘,但用户不清楚,或者是插上了其他软件锁,用户说只插上了一把软件锁。
|
||||
|
||||
**用途** :读取USB设备信息,主要是查看用户USB接口上是否插有其他的软件锁或者U盘,占用了USB接口,导致不能识别软件锁。
|
||||
|
||||
**使用方法** :
|
||||
|
||||
1、解压后双击运行“ChipGenius.exe”文件,会自动读取USB上设备信息并及时显示出来;
|
||||
|
||||
2、在上方的设备列表中可以判定用户USB接口上插了那些设备,并确认是否有正常读取到软件锁;
|
||||
|
||||
# 二、锁升级工具
|
||||
|
||||
## 1、PKG升级工具--1.0.0.9
|
||||
|
||||
|
||||
|
||||
**用户场景** :电脑能够正常读取到软件锁,设备管理器显示正常,但是软件读取不到软件锁,“首次使用,我要注册软件锁”是灰色的。
|
||||
|
||||
|
||||
|
||||
|
||||
**用途** :一般用于32k新锁锁内程序的修复,使软件能读取到软件锁并正常使用。目前出现问题的软件有清单Ⅱ、清单2014和造价2014软件。
|
||||
|
||||
**使用方法** :
|
||||
|
||||
1、把文件解压到桌面,点击加载设备信息,选中之后,点击“升级”按钮;
|
||||
|
||||
2、提示升级成功后,重新拔插软件锁;
|
||||
|
||||
_注:升级时,电脑上只能插一把软件锁,不要插其他的软件锁,如果多把锁出现此问题,应逐把进行升级。_
|
||||
|
||||
升级之后,软件锁需要重新注册。
|
||||
|
||||
## 2、软件锁驱动升级程序--2010.0.0.0
|
||||
|
||||
**用户场景** :编制工程的时候经常弹出登入服务器的提示,或者是提示软件许可证丢失,一般重新登陆又可以使用软件,但是会反复出现此提示。
|
||||
|
||||
**用途** :升级锁内程序,解决软件使用过程中经常提示锁松动、运行速度很慢等问题。
|
||||
|
||||
**使用方法** :双击运行“软件锁驱动升级程序.exe”文件,根据提示进行安装即可,安装过程中需要插上软件锁。
|
||||
|
||||
注意:需要检测给出信息后再使用PKG升级功能,请不要贸然使用。(可能无法成功及出现其他问题)
|
||||
|
||||
# 三、锁驱动
|
||||
|
||||
## 1、通用锁驱动Drivers_3.4.1.0
|
||||
|
||||
**用户场景**
|
||||
:用户的电脑是win7系统,电脑没有或无法正常读取到软件锁,设备管理器没有显示智能卡读卡器,或出现异常,或者是用户安装软件过程中调多了驱动安装。
|
||||
|
||||
**用途** :重新安装锁驱动,使用软件锁能够正常使用。
|
||||
|
||||
**使用方法** :
|
||||
|
||||
1、发送对应的压缩包给用户;
|
||||
|
||||
2、先拔下软件锁,解压之后双击运行“InstWiz3.exe”文件,根据提示进行安装即可。
|
||||
|
||||
**2、Bowei**
|
||||
|
||||
**用户场景** :软件和驱动安装都正常,但是软件读取不到锁,在C:\Program Files\Common
|
||||
Files中没有找到bowei文件夹或者是打开bowei文件夹之后,显示内容很少或者是不正常。
|
||||
|
||||
**用途** :重新在C盘替换一个完整的bowei文件夹,解决用户软件无法正常读取到锁出现的问题。
|
||||
|
||||
**使用方法** :
|
||||
|
||||
1、发送该文件到用户电脑,解压之后直接把bowei文件夹复制粘贴到C:\Program Files\Common Files中;
|
||||
|
||||
2、如已存在,可把用户C盘中的bowei文件进行重命名,然后再把发送给用户的bowei文件夹复制到C盘中。
|
||||
|
||||
# 四、NET框架
|
||||
|
||||
## 1、框架NetFx20SP2_x86(2.0版)
|
||||
|
||||
**用户场景**
|
||||
:软件安装完成之后双击没有反应,启动不了软件;打开软件注册,很多按钮没有显示;新建工程标准模板界面是空白的或者是安装、打开软件的时候弹出报错提示,里面包含了NET的字样;
|
||||
|
||||
|
||||
|
||||
**用途** :安装软件过程中提示net的字样,软件安装不成功,或者是正常安装之后双击软件没有反应或者是打开软件之后缺少标准模板等问题。
|
||||
|
||||
**使用方法** :双击“NetFx20SP2_x86.exe”文件,根据提示进行安装,安装完成之后重新启动软件即可。
|
||||
|
||||
## 2、删除.NET工具--6.0.3790.0
|
||||
|
||||
**用户场景** :安装框架NetFx20SP2_x86(2.0版)不成功,依然无法出现同样的问题;
|
||||
|
||||
**用途** :卸载用户电脑自带的框架。
|
||||
|
||||
**使用方法** :
|
||||
|
||||
1、双击打开“cleanup_tool.exe”;
|
||||
|
||||
2、在弹出卸载.net主界面中,下拉选择“.NET Framework2.0”,点击下方“Cleanup Now“;
|
||||
|
||||
|
||||
|
||||
|
||||
3、卸载之后,再重新安装net框架,重新安装软件。
|
||||
|
||||
# 五、DEPENDS(检测组件工具)--1.0.0.0
|
||||
|
||||
**用户场景** :在安装软件(一般是配网)提示“不能注册DLL/OCX:RegSvr32失败;退出代码Ox3”,一直安装不成功。
|
||||
|
||||
|
||||
|
||||
|
||||
**用途** :主要是因为用户电脑系统缺失部分文件,导致报错组件无法正常运行。可以查找到用户电脑系统中缺失的文件,并进行补充,使组件能正常运行;
|
||||
|
||||
**使用方法**
|
||||
:参考词条[**(安装注册)软件安装报“不能注册DLL/OCX:RegSvr32失败;退出代码Ox3”**](http://192.168.0.10/hdwiki/index.php?doc-
|
||||
view-3403)
|
||||
|
||||
# 六、精锐IV_USB-HID转换工具--1.0.0.1
|
||||
|
||||
**用户场景:尝试多种方式,软件依然读取不到锁,使用不了软件,但是用户急需编制上报工程,换锁没有时间。**
|
||||
|
||||
|
||||
|
||||
**用户场景** :尝试多种方式,软件依然读取不到锁,使用不了软件,但是用户急需编制上报工程,换锁没有时间。
|
||||
|
||||
**用途**
|
||||
:软件锁都是需要安装专门的驱动程序才能使用,使用该工具可以把软件锁转换成无驱模式,直接插上软件就可以使用,无需安装驱动。用于锁驱动安装不成功,但是软件锁都是正常,可以向负责人申请使用该工具解决用户问题,但必须登记用户相关信息。
|
||||
|
||||
**使用方法** :插上软件锁,双击运行“精锐4 SetMode.exe”,在弹出的对话框中选择HID模式,然后重新拔插软件锁就可以了。
|
||||
|
||||
_注:此工具必须谨慎使用,使用之前需和相关负责人进行沟通,并做好登记。使用此工具转换模式之后,锁容易被破解,安全系数很低。_
|
||||
|
||||
# 七,博微软件诊断修复工具(3.0.0.23)
|
||||
@@ -0,0 +1,84 @@
|
||||
# 使用场景
|
||||
|
||||
在双击打开“电力工程造价2014、输变电工程工程量清单软件2014、电力建设工程量清单软件2014”等软件时,弹出“软件程序不匹配,请联系软件服务提供商,电话:0791-88116116。”提示,点击确定,软件无法正常打开;
|
||||
|
||||
|
||||
|
||||
# 知识原理
|
||||
|
||||
造价2014V1.8及之后版本和清单2014V3.0及之后版本取消了防盗版机制,出现上述提示,可能为以下两个问题:
|
||||
|
||||
1、安装盗版软件,根目录存在hid盗版文件;
|
||||
|
||||
2、说明使用软件的电脑有可能已经中毒,软件检测到恶意程序,致使打开软件出现程序不匹配的提示。
|
||||
|
||||
|
||||
注:如电脑上曾经或者正在使用非法软件锁,同样会产生类似的病毒文件或者木马病毒,导致软件无法启动。
|
||||
|
||||
# 操作方法
|
||||
|
||||
出现以上提示,操作如下:
|
||||
|
||||
1、确认当前安装的软件版本,如果是电力工程造价2014软件的V1.8之前版本,请下载最新版本重新安装即可【一般情况下,覆盖安装即可。若覆盖安装仍提示该提示,则建议删除根目录重装】;
|
||||
|
||||
2、若当前使用的是最新版本,请联系博微客服协助处理。
|
||||
|
||||
# 补充说明
|
||||
|
||||
# 常见问题
|
||||
|
||||
1、安装完软件之后,怎么双击程序就提示程序不匹配呢?
|
||||
|
||||
# 服务禁忌
|
||||
|
||||
## 全盘杀毒(暂停使用)
|
||||
|
||||
第一步 杀毒
|
||||
|
||||
使用杀毒软件(如:360杀毒软件、金山杀毒软件、瑞星杀毒软件等)对电脑进行全盘杀毒;
|
||||
|
||||
|
||||
|
||||
第二步 重启电脑
|
||||
|
||||
杀毒完成之后,重启电脑,然后重新打开软件即可;
|
||||
|
||||
## 定向查找木马病毒(全盘杀毒无法解决时使用)(暂停使用)
|
||||
|
||||
当“一、全盘杀毒”依然无法解决时,说明该病毒使用杀毒软件无法清除,就需要手动在电脑上找到该木马程序,强制删除。木马程序一般是“.exe”后缀的文件,可以按照以下方法操作:
|
||||
|
||||
第一步,查找病毒文件
|
||||
|
||||
1)首先打开电脑上的“系统安装盘(一般C盘):\windows\system32”文件夹;
|
||||
2)在该文件夹下面—右键—排列图标—类型,安装类型对该文件夹下的文件重新进行排序;
|
||||
|
||||
Windows Xp系统Win7或者win8系统
|
||||
|
||||
3)排序之后找到“.exe”后缀的文件,找到具有360安全卫士图标,且描述类似下图信息(其文件名称具有随机性,图中文件名称为uggggk.exe,其他电脑则不是这个名称);
|
||||
|
||||
|
||||
|
||||
4)该木马程序查找到之后,右键属性—常规/版本,可以看到下图类似特征:
|
||||
|
||||
|
||||
|
||||
第二步 删除重启
|
||||
|
||||
1)木马确认后,使用杀毒软件的强制删除功能(360安全卫士、QQ电脑管家)将文件删除;
|
||||
|
||||
2)再次使用杀毒软件对电脑进行全盘查杀,彻底清除木马病毒,再重启电脑,然后重新打开软件即可;
|
||||
|
||||
第三步 注意事项
|
||||
|
||||
病毒查杀并处理后,不能再次使用非法软件锁,因为非法软件锁插上之后,在相应的文件夹会产生病毒文件,导致软件打开弹出报错,无法正常使用软件。
|
||||
|
||||
## 其他原因
|
||||
|
||||
当以上步骤都无法解决该问题时,说明是其他原因导致软件弹出程序不匹配的提示,建议重装电脑系统。
|
||||
1)卸载软件并把安装目录删除;
|
||||
2)将C盘格式化,并重装系统。
|
||||
C盘格式化的原因:电脑重装系统只是把以前的C盘覆盖安装,有部分文件还会继续残留,所以需要格式化,避免重装系统之后再次出现不匹配的提示。
|
||||
@@ -0,0 +1,25 @@
|
||||
# 使用场景
|
||||
|
||||
安装程序包是出现提示:“此文件的版本与正在运行的Windows版本不兼容。请检查计算机的系统信息以了解需要X86(32位)还是X64(64位)版的程序,然后联系软件发布者。
|
||||
|
||||
|
||||
|
||||
# 知识原理
|
||||
|
||||
# 费用去向
|
||||
|
||||
# 软件操作
|
||||
|
||||
1、确认客户使用的程序包大小,安装程序有这个提示造成的原因是:程序包被损坏了
|
||||
|
||||
解决方法:引导客户下载完整程序包,或者我们给客户发送云盘下载;建议客户安装的是不要插上锁,关闭杀毒软件
|
||||
|
||||
# 补充说明
|
||||
|
||||
1、现象:安装出现如图报错,确定后弹出不能执行文件提示,确认了程序大小正常;
|
||||
|
||||
造成的原因:电脑中有存在阻止程序安装的组件,反馈对应产品的支持人员,进行产品研发远程。
|
||||
|
||||
|
||||
|
||||
# 常见问题
|
||||
@@ -0,0 +1,359 @@
|
||||
#
|
||||
|
||||
# 安装注册问题
|
||||
|
||||
** 1、试用锁提示禁用?**
|
||||
|
||||
答:更新最新版博微助手,进行联网延期和离线延期;联网延期有外网就可以进行;离线延期需要联系当地负责人拿到延期码和延期日期,填写后延期成功,就能正常使用。
|
||||
|
||||
**2、试用锁提示禁用,延期注册失败,错误代码7,请检查参数是否正确?**
|
||||
|
||||
答:延期码和延期日期有不对的或则输入有误;咨询客户的试用锁锁号,反馈负责人,查询锁注册延期码,延期日期,再次进行注册,可以解决
|
||||
|
||||
**3、打开工程提示“无法复制原文件”;新建工程提示:拒绝访问;或者“新建工程提示生成失败、操作成功完成”?**
|
||||
|
||||
|
||||
|
||||
答:查询磁盘空间,造成的原因是磁盘满了,清理磁盘就可以;或者工程路径太深,或者工程名称是否有特殊的符号;以管理员身份运行试试
|
||||
|
||||
如果都不行,开放软件根目录文件夹权,运行软件即可;以下是开放软件根目录文件夹权限操作步骤:
|
||||
|
||||
点击软件图标鼠标右键打开文件位置,点击安装文件夹,鼠标右键属性-安全-编辑,勾选“完全控制”,确定
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
**4、win10系统,手动更新驱动,显示错误代码10?**
|
||||
|
||||
答:联系博微客服处理,这样是电脑系统和锁驱动有冲突造成的
|
||||
|
||||
**5、登入单机锁的时候无法选择到锁标签?**
|
||||
|
||||
答:查询锁号,是网络锁,网络锁无法在软件中进行注册,需要锁服务器,安装锁服务器
|
||||
|
||||
**6、技改检修2016软件升级版本之后就蓝屏?**
|
||||
|
||||
答:2.5版本之前可以使用,运行“蓝屏冲突更新(北信源和腾讯通)”;联系博微客服获取工具
|
||||
|
||||
**7、安装锁驱动是乱码,安装不了?**
|
||||
|
||||
答:控制面板中重新切换一下语言,并且重启电脑
|
||||
|
||||
**8、锁升级失败,错误代码205,“0xE**2323”或“0xE**2322?**
|
||||
|
||||
答:升级失败提示信息中错误码为“0xE**2323”或“0xE**2322”,无法修复的,可以直接走换锁流程
|
||||
|
||||
**9、锁升级失败,错误代码207?**
|
||||
|
||||
答:更新最新博微助手,进行“一键修复”;如果不行;拔下软件锁,结束后台进程;用PKG升级工具对锁内程序升级;联系博微客服获取:PKG修复工具
|
||||
|
||||
**10、登入软件程序编码205,错误代码0XFFFFFFFF?**
|
||||
|
||||
答:更新最新的博微助手,进行“一键修复”;如不行在“TOOL工具”修复,联系博微客服获取:Tools(修复锁升级过程中拔锁导致锁内程序损坏问题)
|
||||
|
||||
** 11、2008网络锁服务器,提示启动服务器失败?**
|
||||
|
||||
答:任务管理器中的运行程序已经在运行,所以无法打开服务器。关闭后台运行后即可
|
||||
|
||||
**12、读取不到锁,使用检测通提示:错误代码1 未正确配置?**
|
||||
|
||||
答:判定一下是几代锁;处理词条:[此设备的配置不正确(代码1)](http://192.168.0.10/hdwiki/index.php?doc-
|
||||
view-5746)
|
||||
|
||||
**13、提示反黑引擎安装失败,打开软件有错误码257?**
|
||||
|
||||
答:排查方法:1、C盘太满了,造成反黑引擎安装不上,清理C盘,重新安装
|
||||
|
||||
2、查询一下管理--服务程序中AHS服务是是否开启了。如果没有,开启,或者关闭之后重新打开软件
|
||||
|
||||
3、如果不行,最终将C:\Program Files (x86)\ahsProtector卸载,之后重新安装深思数盾的安装包
|
||||
|
||||
注意:安装反黑引擎修复工具可以参考词条:<http://192.168.0.10/hdwiki/index.php?doc-view-5593>
|
||||
|
||||
**14、win7/8系统,手动更新驱动,显示错误代码10?**
|
||||
|
||||
答:WIN7/WIN8操作系统,系统后台服务中的Device Install Service和Device Setup
|
||||
Manager两项服务如果未启动,影响驱动安装,在计算机--管理-服务中手动启动这两个文件
|
||||
|
||||
**15、win10系统中,设备管理器中有黄色感叹号,错误代码39?**
|
||||
|
||||
答:电脑系统中和内核安全隔离有关,关闭内核隔离,安装锁驱动,如果不行联系博微客服进行处理。
|
||||
|
||||
**16、注册时候没有反应,直接闪退?**
|
||||
|
||||
答:查看一下是不是注册单位或者注册号太长,造成的闪退,如果需二代锁使用许可证注册工具,联系博微客服获取:许可证注册工具;如是三代锁,使用博微助手进行注册。
|
||||
|
||||
** 17、软件安装到了100%,提示Save失败,代码0X80070005?**
|
||||
|
||||
答:造成的原因:可能是电脑没有权限生成快捷方式;忽略提示,完成安装,之后在软件根目录下发送快捷方式可以解决
|
||||
|
||||
**18、设备管理器和检测通正常读取锁,博微助手显示普通锁0.软件打不开?**
|
||||
|
||||
答:任务管理器结束博微助手(BwSoftMgr.exe)进程,之后在博微助手的根目录中删除文件名为:BwSoftMgr.xmd,重启博微助手,查看锁是否正常读取了,如果读取正常了,软件即可打开
|
||||
|
||||
**19、一代锁注册失败,注册锁提示许可证无效?**
|
||||
|
||||
答:一代锁注册信息默认储存在电脑中,可将其他正常注册电脑的注册文件拷贝到无法注册电脑上即可(储存位置:32位系统注册信息位置:C:\Windows\System32;64位系统注册信息位置:C:\Windows\SysWOW64;
|
||||
下面找下 “需注册的许可证名称.bwlic ”文件)
|
||||
|
||||
**20、软件锁被异常关闭,查看ss工具未启动?**
|
||||
|
||||
答:SS工具已经损坏了,无法用博微助手修复;卸载博微助手之后,重启电脑,重新安装SS工具(三代锁驱动)
|
||||
|
||||
**21、设备管理器黄色感叹号,查看属性错误代码28?安装二代驱动失败,提示驱动报错0xe0000247?**
|
||||
|
||||
|
||||
|
||||
答:更新安装5.3.0.0版二代驱动最新版本驱动联系博微客服发送
|
||||
|
||||
**22、双击软件无反应,或拔掉锁软件登录界面不显示?**
|
||||
|
||||
答:更新最新的博微助手,进行诊断修复;如果不行,使用[LSP修复工具](http://192.168.0.10/hdwiki/index.php?doc-
|
||||
view-5730),工具获取联系博微客服
|
||||
|
||||
**23、三代锁的SS工具无法启动?**
|
||||
|
||||
答:相关词条:[三代锁“SS工具”服务无法启动](http://192.168.0.10/hdwiki/index.php?doc-view-5759)
|
||||
|
||||
**24、2017网络锁服务器,软件锁使用过程软件能用,但经常掉线,掉线后登陆提示:许可证已用完,请联系管理员。重启服务器有时可以登录上?**
|
||||
|
||||
答:根据软件锁号开头数字确认一下锁使用年份,3年以上排查下考虑锁更换,使用期限是5年,超过可直接换锁
|
||||
|
||||
**25、安装广东造价2017软件提示:错误写入注册表键?如图:**
|
||||
|
||||
|
||||
|
||||
|
||||
或者参考百度上设置权限的方法:[安装软件时出现:错误写入注册表键-百度经验
|
||||
(baidu.com)](https://jingyan.baidu.com/article/48a42057c3bbd6a9242504a9.html)
|
||||
|
||||
**26、在博微助手中注册提示连接服务器超时?软件中自动注册提示:100000;手动注册提示无效许可证?**
|
||||
|
||||
|
||||
|
||||
|
||||
答:关闭防火墙后重新注册正常
|
||||
|
||||
**27、安装三代锁驱动,提示权限不足,以管理员身份运行或设置文件夹权限都无法安装?**
|
||||
|
||||
|
||||
|
||||
|
||||
答:目前发现即刻PDF阅读器和锁驱动不兼容,若遇到锁驱动无法安装,卸载该程序重启电脑,之后重新安装锁驱动。
|
||||
|
||||
**28、博微软件助手检测提示锁内程序低,修改没有修复成功?**
|
||||
|
||||
答:优先使用博微助手中“一键修复",成功后正常打开软件;修复不成功,使用TOOL工具修复,修复工具联系博微客服。
|
||||
|
||||
第一步:将压缩包解压,如下图框选的三个程序,运行其中的一个程序(一个不行可以双击其他试下),点击查询,检测到锁之后,点击未升级的选择更新,
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
**29、更新软件后,无法注册?提示“当前网络环境不可用,自动注册不成功,请检查网络环境或选择手动注册!”**
|
||||
|
||||
答:当插件版本低或插件未安装时,会有提示这个信息。下载安装与主程序版本一致的插件。
|
||||
|
||||
|
||||
|
||||
**30、2.6版本计价通软件打开工程文件工程量界面空白**
|
||||
|
||||
答:收集信息里查看为锁内程序升级失败导致的(技改锁异常),修复夏锁后正常使用
|
||||
|
||||
|
||||
|
||||
|
||||
**31、打开软件出现提示:软件启动失败,错误代码:0x000005,错误原因:许可认证授权失败。**
|
||||
|
||||
|
||||
|
||||
原因:本地时间和锁内时间不一致导致
|
||||
解决方案:1、诊断修复校准时间/手动修改电脑时间。
|
||||
|
||||
** 2、**如果确认时间一致,可安装官网最新安装锁驱动解决。
|
||||
|
||||
**32、计价通软件,许可证列表显示乱码?**
|
||||
|
||||
|
||||
|
||||
解决办法:取消勾选“Beta版:使用Unicode UTF-8 提供全球语言支持(U)”
|
||||
|
||||
(1)系统语言影响,win11系统设置:<https://blog.csdn.net/fengyuyeguirenenen/article/details/129478580>
|
||||
|
||||
|
||||
|
||||
(2)win10系统的设置,在语言设置进行调整
|
||||
|
||||
|
||||
|
||||
**33、新建工程的时候,提示:无法创建算法目录,具体提示如下图:**
|
||||
|
||||
|
||||
|
||||
解决办法:这是由于权限的原因,以管理员身份运行就可以了
|
||||
|
||||
**34、安装软件时,加载到100%出现,“IPersistFile::save 失败,代码0x80070005.拒绝访问。.**
|
||||
|
||||
|
||||
|
||||
解决办法:可以参考一下链接中,怎么解决“IPersistFile::Save失败”问题-百度经验
|
||||
<https://jingyan.baidu.com/article/a24b33cd4bf08058ff002b3f.html>
|
||||
|
||||
**35、打开软件提示“软件启动失败,错误代码:0x000004,错误原因:数据完整性校验失败。**
|
||||
|
||||
|
||||
|
||||
解决方法:
|
||||
|
||||
(1)、查看软件根目录软件是否混装了
|
||||
(2)、重装软件
|
||||
|
||||
(3)、技改检修工程计价通T1软件1.12.107版本更新至1.12.108版本也会出现这个提示,产生原因是之前电脑安装过优化工具,解决办法可以发送替换组件进行解决。
|
||||
|
||||
**36、卸载程序MsgPsh提示无法卸载?**
|
||||
|
||||
|
||||
|
||||
解决方案:去电脑当中服务停止之后再卸载
|
||||
|
||||
|
||||
|
||||
**37、安装插件出现runtime error?**
|
||||
|
||||
|
||||
|
||||
解决方法:1、运行根目录下运行时库vc_redist.x86.exe然后安装插件
|
||||
|
||||
2、将安装好插件目录文件夹“PluginSolutions”发送客户,让客户放到软件根目录下。
|
||||
|
||||
|
||||
|
||||
**38、电脑正常读取锁,助手显示正常,打开软件首行灰色,提示检测不到锁,安装锁驱动也解决不了。**
|
||||
|
||||
产生该问题原因是迈克菲杀毒软件拦截组件,导致软件读取不到软件锁,可以在先迈克菲软件中点击隔离的项目恢复后,选择实时扫描——添加文件,找到对应被拦截的组件进行添加就可以了。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
**39、打开软件提示“未读取到软件或工程版本信息,请确认”?**
|
||||
|
||||
|
||||
|
||||
解决方案:由于客户系统语言设置不是简体中文导致的,重新设置语言之后正常了。
|
||||
|
||||
# 运行软件问题
|
||||
|
||||
**1、计价通软件进入软件了,提示:操作失败,找不到软件锁!**
|
||||
|
||||
|
||||
|
||||
解决方法:收集检测报告和截图,引导安装最新的三代锁驱动解决
|
||||
|
||||
**2、配网2017软件,打不开工程,提示:本工程文件签名校验错误!无法打开!**
|
||||
|
||||
|
||||
|
||||
|
||||
答:升级到官网最新2.15.8版本 或 根目录下双击安装锁驱动:
|
||||
|
||||
|
||||
|
||||
**3、运行软件出现:"file corrupted .....“如图:**
|
||||
|
||||
|
||||
|
||||
**4、技改T1软件(1.4版本)自由报表当中报表设计双击闪退,没有报错文件,导入模板也闪退?**
|
||||
|
||||
答:在电脑运行当中输入%temp%到C:\Users\booway\AppData\Local\Temp文件夹当中,然后再回到上一层,点击temp文件夹属性当中的安全查看权限,有权限未勾选就再编辑当中全部进行勾选,如果全部勾选还是有问题反馈博微客服处理
|
||||
|
||||
|
||||
|
||||
|
||||
答:ldread程序(绿盾),C:\InetPub\ftproot\Tipray\LdRead\,找到这个程序卸载就可以了
|
||||
|
||||
**6、技改检修T1软件升级1.5.0版本后,打开工程提示“打开失败,本工程文件签名校验错误,无法打开”?**
|
||||
|
||||
|
||||
|
||||
答:确认工程是不是江苏地区的,如果是,可以在官网安装对应版本的江苏插件,解决这个问题。如不是江苏插件问题,可以升级到技改T1软件最新版本解决。
|
||||
|
||||
**电力建设计价软件出现同类问题,两个原因:**
|
||||
|
||||
1、网络锁不兼容导致;(工程在2.3.1版经历过网路锁1.0.2与1.0.4版打开,再到2.3.4版用网路锁1.0.4版打开,会提示签名失败;
|
||||
|
||||
如果在2.3.1版经历过网路锁1.0.2,再到2.3.4版用网路锁1.0.4版打开,可正常)
|
||||
|
||||
2、客户升级了电脑操作系统,比如win10升级到win11,操作系统升级前打开过的工程在升级后打开工程保存关闭,再次打开工程会签名校验失败
|
||||
|
||||
以上两个原因都已解决,如新版本还遇到,反馈博微客服远程排查。
|
||||
|
||||
**7、技改T1软件更新1.5版本后,打开软件提示“未检测到设备证书,请更新最新驱动,安装最新驱动又提示不能打开要写入的文件”?**
|
||||
|
||||
|
||||
|
||||
**8、打开配网软件出现这个提示”LockClientService64.dll" 如图:**
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
**9、技改2016软件在win11系統运行闪退,组件丢失等提示?**
|
||||
|
||||
答:是win11系统,将语言设置中勾选BETA,切换语言后重启电脑,之后在取消勾选,语言设置为中文,重启电脑,可解决该问题
|
||||
|
||||
 01
|
||||
|
||||
|
||||
|
||||
|
||||
**10、打开软件提示:“cannot load file locksoftwareservice.dll,error:87”**
|
||||
|
||||
答:win11测试系统和控件不兼容,将“配网造价2017_2.15.8.2最新WIN11补丁"解压覆盖到用户已安装的2.15.8.2版本软件目录下即可。
|
||||
|
||||
(注:补丁可以联系博微客服获取)
|
||||
|
||||
|
||||
|
||||
**11、打开软件提示:资源数据服务获取失败......;加载第3个页面出错......**
|
||||
|
||||
答:该问题集中于江苏地区用户出现,通常是内网杀毒软件查杀软件组件导致的,将组件恢复,并将软件加入白名单。
|
||||
|
||||
|
||||
|
||||
|
||||
**12、打开软件,菜单栏不显示,无法设置,重新安装软件也无法处理:**
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
解决办法: 1、使用快捷键【win+R】打开运行窗口,输入命令【regedit】,按下回车键即可打开注册表编辑器。
|
||||
|
||||
2、按照该路径:HKEY_CURRENT_USER\Software\博微软件\博微技改检修工程计价通T1软件\BCGAppStarter\Settings\BCGPBaseControlBar-59398 找到对应的文件
|
||||
|
||||
3、双击修改数值数据为1(没有修改前是0),点击确定(注意修改前修改关闭软件程序,不然是修改不成功的)
|
||||
|
||||
|
||||
|
||||
13、助手双击运行或者以管理员方式运行无法打开一直在后台运行
|
||||
|
||||
|
||||
|
||||
解决办法:1、先拔除锁之后结束进程,然后再运行助手
|
||||
2、查看客户电脑桌面是否设置打印机快捷方式,如果有就新建文件夹,将快捷方式放到新建文件夹中
|
||||
@@ -0,0 +1,320 @@
|
||||
# 知识原理
|
||||
|
||||
本流程主要用于解决销售、服务过程中遇到的软件安装与注册类问题。本流程仅能解决一般情况下的安装注册类问题,所用方法、工具均在已知原因情况下完成。
|
||||
|
||||
如遇本流程中无法处理的问题,请及时与客户服务中心负责人联系,客服中心负责记录、整理及反馈。
|
||||
|
||||
**一、 安装注册类问题处理总流程**
|
||||
|
||||
|
||||
|
||||
**1.询问锁号及提醒信息**
|
||||
|
||||
1)聆听用户所遇问题表象,做好记录,不可立即答复用户;
|
||||
|
||||
2)主动询问用户锁号(锁标签);
|
||||
|
||||
3)在 _呼叫中心系统_ 中查询锁以下关键信息:状态、类型、注册单位、注册号、到期时间(试用锁/时钟锁)。
|
||||
|
||||
**2\. 客服人员初判**
|
||||
|
||||
通过锁信息查询,客服人员无需与用户确认,可直接作答的几种判断:
|
||||
|
||||
1)状态:下订单,暂无注册号,无法注册使用软件;
|
||||
|
||||
a.已发布软件,且刚刚付款
|
||||
|
||||
回复:建议客户耐心等待,或与销售同事联系。
|
||||
|
||||
b. 已发布软件,且已付款几天
|
||||
|
||||
回复:让销售负责人联系客户。
|
||||
|
||||
c.尚未发布软件
|
||||
|
||||
回复:向客户解释,由于软件尚未颁布,因此暂无注册号使用。
|
||||
|
||||
2)状态:黑名单,此锁信息已经注销,不再提供服务;
|
||||
|
||||
回复:让销售同事与客户联系。
|
||||
|
||||
3)**到期时间:小于查询当日,已过期无法注册使用;**
|
||||
|
||||
**回复:让发放试用锁同事与客户联系。**
|
||||
|
||||
**3.软件安装状态判定**
|
||||
|
||||
询问用户软件程序是否安装成功,安装成功则进入“4.是否能读到锁”流程,否则进入“A安装问题”子流程继续排查。
|
||||
|
||||
说明:安装不成功的几个判定标准,满足其一即可:a.安装包\安装程序无法打开;b.安装过程中报错;c.安装完成,但软件无法打开。
|
||||
|
||||
**4.锁读取状态判定**
|
||||
|
||||
询问用户计算机是否读锁成功,读锁成功则进入“5.询问注册成功”流程,否则进入“B锁问题”子流程排查。
|
||||
|
||||
说明:读不到锁的几个判定标准,满足其一即可:a.不显示登录应用程序界面,直接显示网络版登录界面;b.在登陆应用程序界面,第一个选项“锁已插好,首次使用,我要注册软件许可证”为灰色,不可用;c.许可证管理界面,不能显示该软件锁号。
|
||||
|
||||
**5.注册状态判定**
|
||||
|
||||
询问用户计算机是否注册成功,注册成功则结束,否则进入“C注册问题”子流程排查。
|
||||
|
||||
说明:注册不成功的几个判定标准,满足其一即可:a.输入注册单位和注册号之后,点击确定,提示许可证无效等信息,不能注册成功;b.输入注册单位和注册后点击确定没反应。
|
||||
|
||||
**一、 A安装问题**
|
||||
|
||||
|
||||
|
||||
**A1. 根据提示信息解决**
|
||||
|
||||
询问用户安装过程中提示信息或现象,进行判断造成安装不成功的原因,如果不能确定,直接进入流程“A2重装软件”。
|
||||
|
||||
说明:根据提示信息可做出的几个判定:
|
||||
|
||||
1)提示与office软件、CAD软件冲突时(见下图)
|
||||
|
||||
解决办法:卸载对应的冲突软件重新安装程序;
|
||||
|
||||
|
||||
|
||||
2)提示杀毒软件拦截或控件缺失
|
||||
|
||||
解决办法:关闭或卸载杀毒软件后重新安装软件,以下为各杀毒软件处理办法(●为执行,○为可尝试):
|
||||
|
||||
杀毒软件 | 临时关闭 | 卸载
|
||||
---|---|---
|
||||
360杀毒/安全卫士 | ● | ○
|
||||
瑞星杀毒 | ● | ○
|
||||
QQ管家/安全卫士 | ● | ○
|
||||
McAfee杀毒 | \-- | ●
|
||||
|
||||
3)提示.net框架问题(**老配网软件基于.net框架** )
|
||||
|
||||
解决办法:使用卸载.net小工具将.net2.0卸载,再重新安装软件。
|
||||
|
||||
卸载.net小工具使用方法:
|
||||
|
||||
① 双击打开cleanup_tool.exe,根据提示点击到卸载注界面。
|
||||
|
||||
② 在弹出卸载.net主界面中,下拉选择“.NET Framework 2.0”,点击“Cleanup Now”,完成卸载(如下图)。
|
||||
|
||||
|
||||
|
||||
**A2. 重装软件**
|
||||
|
||||
无提示信息,原因不明时,临时关闭“360杀毒”等杀毒软件,按照正确的步骤重新安装软件。
|
||||
|
||||
**A3. 测试处理**
|
||||
|
||||
以上办法都不能解决,联系博微客服处理。联系前需收集客户信息如下:
|
||||
|
||||
1)当前正在使用的软件版本号?
|
||||
|
||||
2)当前出问题的表现描述以及截图;
|
||||
|
||||
3)以前是否能用?是否出现过此问题?
|
||||
|
||||
4)安装了哪些杀毒软件?(杀毒软件版本和病毒库日期截图)
|
||||
|
||||
5)是否安装公司的其他软件?如果安装了,其他软件的运行情况描述;
|
||||
|
||||
6)是否安装了CAD软件?
|
||||
|
||||
7)安装了哪些同类专业软件?(例如:广联达)
|
||||
|
||||
8)“我的电脑”—“属性”界面的截图。
|
||||
|
||||
9)安装软件的盘符格式?(例如:Fat、Ntfs)
|
||||
|
||||
10)建议将开始菜单中安装的软件情况和桌面进行截图。
|
||||
|
||||
**A4.结束**
|
||||
|
||||
软件安装成功后,双击打开,能进入“许可证提示”界面或“登陆服务器”界面(如下图所示),表示本流程结束。
|
||||
|
||||
|
||||
|
||||
**三、 B锁问题**
|
||||
|
||||
|
||||
|
||||
|
||||
**B1. 重新拔插软件锁**
|
||||
|
||||
关闭“360杀毒”、“360安全卫士”等杀毒软件后,重新拔插软件锁,打开软件查看。
|
||||
|
||||
配网软件可先尝试在登陆服务器界面,在左下角的“显示许可登陆界面”处打勾,点击取消,在弹出的锁登陆界面进行注册。
|
||||
|
||||
**B2. 确认软件与锁对应**
|
||||
|
||||
1)网络锁要在对应的锁服务器中注册,新网络锁安装“工程造价数据管理系统简化版”,安装注册办法见附件《[(新锁)工程造价数据管理系统安装注册步骤](index.php?doc-
|
||||
innerlink-%EF%BC%88%E6%96%B0%E9%94%81%EF%BC%89%E5%B7%A5%E7%A8%8B%E9%80%A0%E4%BB%B7%E6%95%B0%E6%8D%AE%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F%E5%AE%89%E8%A3%85%E6%B3%A8%E5%86%8C%E6%AD%A5%E9%AA%A4)》,老网络锁安装“服务器安装程序”,安装注册办法见附件《[(老锁)锁服务器2008版安装注册步骤](index.php?doc-
|
||||
innerlink-%EF%BC%88%E8%80%81%E9%94%81%EF%BC%89%E9%94%81%E6%9C%8D%E5%8A%A1%E5%99%A82008%E7%89%88%E5%AE%89%E8%A3%85%E6%B3%A8%E5%86%8C%E6%AD%A5%E9%AA%A4)》。
|
||||
|
||||
2)单机版锁与软件类型要对应,经常容易出错的几款产品如下表:
|
||||
|
||||
呼叫中心名称 | 软件名称
|
||||
---|---
|
||||
变电清单2006 | 输变电工程工程量清单软件Ⅱ
|
||||
安装清单2006
|
||||
线路清单2006
|
||||
电力清单变电建筑版 | 电力工程量清单计价2006变电版
|
||||
电力清单变电安装版
|
||||
电力清单线路版 | 电力工程量清单计价2006线路版
|
||||
变电建筑2005 | 电力工程造价2005变电版
|
||||
变电安装2005
|
||||
送电线路2005 | 电力工程造价2005线路版
|
||||
变电建筑2005(新预规、定额) | 电力工程造价2005变电版(新预规、定额)
|
||||
变电安装2005(新预规、定额)
|
||||
送电线路2005(新预规、定额) | 电力工程造价2005线路版(新预规、定额)
|
||||
电网技改工程 | 电网技改检修预算编制软件
|
||||
电网检修工程
|
||||
技改2010 | 电网技改检修工程计价软件
|
||||
检修2010
|
||||
变电建筑清单2014 | 国网清单计价2015
|
||||
变电安装清单2014
|
||||
输电线路清单2014
|
||||
变电建筑清单结算2014
|
||||
变电安装清单结算2014
|
||||
输变电线路清单结算2014
|
||||
变电建筑清单2015
|
||||
变电安装清单2015
|
||||
输电线路清单2015
|
||||
变电建筑清单结算2015
|
||||
变电安装清单结算2015
|
||||
输变电线路清单结算2015
|
||||
|
||||
**B2.1使用对应的安装程序和锁**
|
||||
|
||||
根据客户锁号,确认具体软件类型,指导客户使用正确的软件进行安装注册。
|
||||
|
||||
**B3. 确认锁驱动安装成功**
|
||||
|
||||
插锁后,选中“我的电脑”(或“计算机”)右键,点击“管理”,在“设备管理器”中查看“智能卡阅读器”下是否有锁驱动,锁驱动安装成功后显示如下图:
|
||||
|
||||
如果“智能卡阅读器”下无锁驱动或有黄色感叹号,说明锁驱动没有安装成功,需进入流程“B3.1”,重新安装锁驱动。
|
||||
|
||||
**B3.1. 重装锁驱动**
|
||||
|
||||
拔掉锁,关闭杀毒软件,重新安装锁驱动。重新安装锁驱动可按以下次序依次尝试:
|
||||
|
||||
1)重新安装软件程序;
|
||||
|
||||
2)到C:\Program Files\Common Files\bowei目录下重新运行Inst4Wiz.exe(或InstWiz3.exe);
|
||||
|
||||
3)给用户发送锁驱动程序安装;
|
||||
|
||||
4)如果常规安装不能成功,且设备管理器锁驱动处显示黄色感叹号,可选中黄色感叹号处右键,选择手动更新锁驱动。
|
||||
|
||||
5)将其他正常使用软件计算机中的bowei文件夹发给用户,替换C:\Program Files\Common
|
||||
Files\bowei\driver下的bowei文件夹,并重新运行Inst4Wiz.exe(或InstWiz3.exe)。
|
||||
|
||||
**B4. 更换USB接口**
|
||||
|
||||
更换USB接口查看,台式计算机,可换插机箱后USB接口。
|
||||
|
||||
**B5. 更换计算机**
|
||||
|
||||
以上几种方式尝试后都不能解决问题时,可更换计算机,按正确流程安装软件后插锁查看,如果更换几台计算机都读不到锁,可以认定是锁的问题,那么执行《[锁更换流程](index.php?doc-
|
||||
innerlink-%E9%94%81%E6%9B%B4%E6%8D%A2%E6%B5%81%E7%A8%8B)》。
|
||||
|
||||
**B6. 坏锁处理**
|
||||
|
||||
坏锁处理办法,可参看《[锁更换流程](index.php?doc-
|
||||
innerlink-%E9%94%81%E6%9B%B4%E6%8D%A2%E6%B5%81%E7%A8%8B)》。
|
||||
|
||||
**B7. 原因解释**
|
||||
|
||||
更换其他计算机能读到锁,可能就是原计算机操作系统问题,可建议用户更换计算机使用,或根据客户要求,联系测试解决,并给用户一个满意答复。联系前需收集客户信息如下:
|
||||
|
||||
1)锁号?
|
||||
|
||||
2)当前正在使用的软件版本号?
|
||||
|
||||
3)当前出问题的表现描述以及截图;
|
||||
|
||||
4)以前是否能用?是否出现过此问题?
|
||||
|
||||
5)安装了哪些杀毒软件?(杀毒软件版本和病毒库日期截图)
|
||||
|
||||
6)是否安装公司的其他软件?如果安装了,其他软件的运行情况描述;
|
||||
|
||||
7)是否安装了CAD软件?
|
||||
|
||||
8)安装了哪些同类专业软件?(例如:广联达)
|
||||
|
||||
9)“我的电脑”—“属性”界面的截图。
|
||||
|
||||
10)安装软件的盘符格式?(例如:Fat、Ntfs)
|
||||
|
||||
11)建议将开始菜单中安装的软件情况和桌面进行截图。
|
||||
|
||||
**B8. 结束**
|
||||
|
||||
打开软件,进入许可证管理界面,能显示计算机所插锁号,表示本流程结束。
|
||||
|
||||
**四、C注册问题**
|
||||
|
||||
|
||||
|
||||
|
||||
**C1. Win7系统、Vista系统问题**
|
||||
|
||||
1)Win7系统和Vista系统,安装好软件插锁之后,需要选中软件图标右键,点击“以管理员身份运行”打开软件,进行注册。
|
||||
|
||||
2)Xp系统不需要此操作。
|
||||
|
||||
**C2. 注册信息是否输入正确**
|
||||
|
||||
注册单位与注册号要与锁对应,且与呼叫中心所查信息完全相符。
|
||||
|
||||
**C2.1. 正确输入注册信息**
|
||||
|
||||
正确输入注册信息几种方式:
|
||||
|
||||
1)有外网环境的用户建议点击“自动注册”,自动注册不成功或无外网环境的用户选择手动注册;
|
||||
|
||||
2)许可证号输入,尽量选择复制粘贴方式(老软件不能多复制空格);如果是手动输入,需要切换成半角输入(英文输入)(老锁注意数字 0 和字母O的区别);
|
||||
|
||||
注意:老网络锁注册时,注册单位默认显示的是“江西博微新技术有限公司”,需用户手动修改为自己对应的注册单位。
|
||||
|
||||
**C3. 核对锁内部信息**
|
||||
|
||||
提供锁号到客服内勤,由客服内勤或管理平台开发人员查看锁内部信息是否有误。
|
||||
|
||||
**C3.1. 锁内部信息有误处理办法**
|
||||
|
||||
1)如果重新生成注册号能解决,由客服内勤或销售内勤重新生成注册号,将新注册号发给用户。
|
||||
|
||||
2)如果需要换锁,走锁更换流程吗,锁更换流程见附件。
|
||||
|
||||
**C4. 测试协助**
|
||||
|
||||
锁没问题的情况下,依然注册不上,可由客服中心产品组对应联系测试部人员协助解决。联系前需收集客户信息如下:
|
||||
|
||||
1)锁号?
|
||||
|
||||
2)是新锁还是老锁?
|
||||
|
||||
3)当前正在使用的软件版本号?
|
||||
|
||||
4)当前出问题的表现描述以及截图;
|
||||
|
||||
5)以前是否能用?是否出现过此问题?
|
||||
|
||||
6)安装了哪些杀毒软件?(杀毒软件版本和病毒库日期截图)
|
||||
|
||||
7)是否安装公司的其他软件?如果安装了,其他软件的运行情况描述;
|
||||
|
||||
8)安装了哪些同类专业软件?(例如:广联达)
|
||||
|
||||
9)“我的电脑”—“属性”界面的截图。
|
||||
|
||||
**C5. 结束**
|
||||
|
||||
打开软件,能进入工程文件管理界面,表示本流程结束。
|
||||
|
||||
# 费用去向
|
||||
|
||||
# 软件操作
|
||||
|
||||
# 常见问题
|
||||
@@ -0,0 +1,23 @@
|
||||
# 使用场景
|
||||
|
||||
安装软件时报错“SWbemObjectSet无效类”,可按以下内容进行排查、处理。
|
||||
|
||||
|
||||
|
||||
# 排查步骤
|
||||
|
||||
1.鼠标右键“我的电脑”或“此电脑”或“计算机”,选“管理”。
|
||||
|
||||
2.选中“服务和应用程序”——“WMI控件”。
|
||||
|
||||
|
||||
|
||||
3.点“属性”进入WMI控件属性窗口,如果显示“WMI:无效命名空间”,说明是因此导致了软件安装报错“SWbemObjectSet无效类”。
|
||||
|
||||
|
||||
|
||||
# 解决办法
|
||||
|
||||
使用附件bat工具,以管理员身份运行后,可修复此问题。
|
||||
|
||||
[/11.bat](/11.bat)
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user