76 lines
3.0 KiB
Python
76 lines
3.0 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""组装更新包_20261001: 成套报价软件.exe + 使用说明.txt → 目录 + zip"""
|
|
import os
|
|
import shutil
|
|
import zipfile
|
|
|
|
ROOT = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), ".."))
|
|
REL = os.path.join(ROOT, "release", "成套报价软件")
|
|
OUT = os.path.join(REL, "Output")
|
|
PKG = os.path.join(OUT, "更新包_20261001_2")
|
|
|
|
说明 = """成套报价软件 更新包 2026-10-01 第2期(覆盖式更新)
|
|
|
|
本期更新:
|
|
一、PDF 扒图缩放卡顿修复(重点)
|
|
原来滚轮缩放每档都在界面线程整页重绘,大幅面图纸一滚就卡死;
|
|
现在改为后台渲染+旧图即时拉伸过渡——缩放跟手流畅,
|
|
连续滚动只渲染最后一档,不再反复卡顿。
|
|
主程序内置查看器与 pdfbt 独立程序已同步修复。
|
|
二、批量插入修复
|
|
修复批量插入时报"列'框Handle'不属于表"异常的问题。
|
|
三、数据落库保障
|
|
1. 编辑直写队列强制落库改造:关窗/切换项目时数据完整写入数据库;
|
|
2. 全量重算改为单事务提交,重算期间数据一致性更好。
|
|
四、查询提速
|
|
项目库与方案库补齐"内部ID"索引,图号/箱号/元件查询明显提速。
|
|
五、CAD 扒图窗口修复(与 PDF 扒图同步)
|
|
1. 右键点击已选中的行不再丢失多选集合;
|
|
2. F1 合并增加防抖,不再误弹提示。
|
|
六、稳定性
|
|
后台异常不再被静默吞掉,关键失败写入日志(安装目录 logs),便于远程排查。
|
|
|
|
使用方法:
|
|
1. 完全关闭成套报价软件(含CAD/PDF扒图也退出);
|
|
2. 把本包里「成套报价软件.exe」复制到安装目录(默认 C:\\成套报价软件)覆盖;
|
|
3. 把本包里「pdfbt.exe」复制到安装目录的 pdfbt 子文件夹
|
|
(默认 C:\\成套报价软件\\pdfbt)覆盖;
|
|
4. 重新打开软件即可。
|
|
|
|
(完整安装包 成套报价软件_Setup.exe 已同步构建,全新机器请用安装包。)
|
|
"""
|
|
|
|
|
|
def main():
|
|
if os.path.isdir(PKG):
|
|
shutil.rmtree(PKG)
|
|
os.makedirs(PKG)
|
|
|
|
# 主程序
|
|
shutil.copy2(os.path.join(REL, "成套报价软件.exe"), PKG)
|
|
|
|
# PDF 扒图独立程序(2026-10-01 第2期:缩放卡顿同步修复)
|
|
shutil.copy2(os.path.join(REL, "pdfbt", "pdfbt.exe"), PKG)
|
|
|
|
# 使用说明(GBK,记事本直接打开不乱码)
|
|
with open(os.path.join(PKG, "使用说明.txt"), "w", encoding="gbk", newline="\r\n") as f:
|
|
f.write(说明)
|
|
|
|
# zip(文件夹+zip两种形态,与历史更新包一致)
|
|
zip_path = PKG + ".zip"
|
|
if os.path.exists(zip_path):
|
|
os.remove(zip_path)
|
|
with zipfile.ZipFile(zip_path, "w", zipfile.ZIP_DEFLATED) as z:
|
|
for name in os.listdir(PKG):
|
|
z.write(os.path.join(PKG, name), name)
|
|
|
|
print("更新包目录:", PKG)
|
|
print("更新包zip:", zip_path)
|
|
for name in os.listdir(PKG):
|
|
print(" -", name, os.path.getsize(os.path.join(PKG, name)), "字节")
|
|
print("zip大小:", os.path.getsize(zip_path), "字节")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|