重复到访:第二类(补录行被合并回来)不依赖基线,基线不可用时也照样能清

「补录行被合并回来」这一类的判据全在站点自己这边(派生 UUID 命中),本来不需要基线;
但原先的实现在读基线之前就 return 了,于是基线缺失 / 对不上的数据集连这一类都清不了。
现在先判第二类,基线的可用性检查只挡住第一类(站点侧副本),不可用时把说明补在卡片里
(有第二类就列出来 + 一行说明,没有就只给说明)。

模板相应合并成一个卡片:标题带对数、说明行只在有对时出现、判不了第一类时补一行灰字。
This commit is contained in:
tamakyi
2026-09-30 15:19:42 +08:00
parent aaf65f654a
commit 5b8699a03a
2 changed files with 59 additions and 54 deletions
+7 -10
View File
@@ -346,17 +346,13 @@
{{else}}<div class="empty">没有匹配的地点</div>{{end}}
</div>
{{/* 重复到访:站点侧跟手机包「同一到达时间 + 同一地点」的历史副本。判定见
edit_duplicates.go(与 tools/dedup_site_visits.py 同一套语义)。
只在检出 >0 对时出现;判定不了时只给一行说明、不给按钮。 */}}
{{if .DupUnavailable}}
{{/* 重复到访:两类(见 edit_duplicates.go)——站点侧副本、补录行被合并回来。
第二类不依赖基线,所以基线不可用时它照样列出来,另给一行说明解释第一类判不了。 */}}
{{if or .DupVisits .DupUnavailable}}
<div class="card" data-card="dup-visits">
<h2>重复到访</h2>
<div class="card-sub">{{.DupUnavailable}}</div>
</div>
{{else if .DupVisits}}
<div class="card" data-card="dup-visits">
<h2>重复到访 {{num (len .DupVisits)}} 对</h2>
<h2>重复到访{{if .DupVisits}} {{num (len .DupVisits)}} 对{{end}}</h2>
{{if .DupUnavailable}}<div class="card-sub">{{.DupUnavailable}}</div>{{end}}
{{if .DupVisits}}
<div class="card-sub">
同一刻同一地点存了两条。成因有两种:<b>站点侧副本</b>(手机包里也有这条,但 UUID 不同——合并 / 差异按 UUID 认人,
把它当成了「备份新增」)与<b>补录行被合并回来</b>(补录的行没有 UUID,导出时会被补一个派生 UUID,
@@ -391,6 +387,7 @@
<span class="muted">「全部保留」什么都不改,只是取消勾选。</span>
</div>
</form>
{{end}}
</div>
{{end}}