Files
ctbjrj/tools/make_update_package.py

74 lines
2.9 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)
# (2026-10-01 独立 pdfbt.exe 退役后不再随更新包分发)
# 使用说明(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()