基线:全量源码首提(D1 版本控制落地,含第一轮优化 B1-B4/A1/A4/缩放修复)
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""修 paste_optimize.py 中图号行触发器的锚点(适配现签名),并加开关条件。"""
|
||||
import io
|
||||
|
||||
p = r"C:\Users\099978\Documents\SharpDevelop Projects\成套报价软件\tools\paste_optimize.py"
|
||||
s = io.open(p, encoding="utf-8").read()
|
||||
|
||||
old = (
|
||||
'\' "_u AFTER UPDATE OF \\\\"" + 图号输入列[0] + "\\\\"" ON \\\\"" + 图号表名 + "\\\\"" FOR EACH ROW WHEN NEW.\\\\\"内部ID\\\\\"=\'" +\n'
|
||||
"\t\t\t\t图号ID.Replace(\"'\", \"''\") + \"' BEGIN UPDATE \\\\\"\" + 图号表名 + \"\\\\\" SET \" + thSetNew +"
|
||||
)
|
||||
# 直接用朴素文本定位(避免转义嵌套):找 'BEGIN UPDATE' 紧邻 thSetNew 的那一行对
|
||||
lines = s.split("\n")
|
||||
done = False
|
||||
for i, l in enumerate(lines):
|
||||
if "FOR EACH ROW WHEN NEW." in l and "图号输入列[0]" in l and i + 2 < len(lines):
|
||||
if "' BEGIN UPDATE" in lines[i + 2] and "thSetNew" in lines[i + 2]:
|
||||
lines[i + 2] = lines[i + 2].replace("' BEGIN UPDATE", "' AND \" + 开关条件 + \" BEGIN UPDATE", 1)
|
||||
done = True
|
||||
print("锚点行已改:", lines[i + 2].strip()[:80])
|
||||
break
|
||||
if done:
|
||||
io.open(p, "w", encoding="utf-8").write("\n".join(lines))
|
||||
print("done", done)
|
||||
Reference in New Issue
Block a user