File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -494,6 +494,24 @@ protected function sqlAddresses(): string
494494 OR ADDR.c_firstyear IS NULL
495495 OR BIOG_ADDR_DATA.c_lastyear >= ADDR.c_firstyear
496496 )
497+ AND NOT EXISTS (
498+ SELECT 1 FROM View_Address VA2
499+ WHERE VA2.c_addr_id = ADDR.c_addr_id
500+ AND (
501+ BIOG_ADDR_DATA.c_firstyear IS NULL
502+ OR VA2.c_lastyear IS NULL
503+ OR BIOG_ADDR_DATA.c_firstyear <= VA2.c_lastyear
504+ )
505+ AND (
506+ BIOG_ADDR_DATA.c_lastyear IS NULL
507+ OR VA2.c_firstyear IS NULL
508+ OR BIOG_ADDR_DATA.c_lastyear >= VA2.c_firstyear
509+ )
510+ AND (
511+ VA2.c_firstyear < ADDR.c_firstyear
512+ OR (VA2.c_firstyear = ADDR.c_firstyear AND VA2.c_lastyear < ADDR.c_lastyear)
513+ )
514+ )
497515WHERE BIOG_ADDR_DATA.c_personid = ?
498516SQL ;
499517 }
Original file line number Diff line number Diff line change @@ -507,24 +507,30 @@ function renderAliases(title, items) {
507507
508508 function buildAddressPath (item ) {
509509 var path = [];
510+ // 先添加具体地点
511+ if (item .AddrName ) {
512+ var addr = escapeHtml (item .AddrName );
513+ if (item .AddrId ) {
514+ addr += ' <span class="badge">' + escapeHtml (item .AddrId ) + ' </span>' ;
515+ }
516+ path .push (addr);
517+ }
518+ // 再添加上级地址,从 belongs1 到 belongs5(从小到大)
510519 for (var i = 1 ; i <= 5 ; i++ ) {
511520 var nameKey = ' belongs' + i + ' _name' ;
512521 var idKey = ' belongs' + i + ' _id' ;
513522 if (item[nameKey]) {
523+ // 如果遇到 [未詳] 或 ID 为 0,停止渲染
524+ if (item[nameKey] === ' [未詳]' || item[idKey] === ' 0' || item[idKey] === 0 ) {
525+ break ;
526+ }
514527 var label = escapeHtml (item[nameKey]);
515528 if (item[idKey]) {
516529 label += ' <span class="badge">ID: ' + escapeHtml (item[idKey]) + ' </span>' ;
517530 }
518531 path .push (label);
519532 }
520533 }
521- if (item .AddrName ) {
522- var addr = escapeHtml (item .AddrName );
523- if (item .AddrId ) {
524- addr += ' <span class="badge">' + escapeHtml (item .AddrId ) + ' </span>' ;
525- }
526- path .push (addr);
527- }
528534 return path .join (' → ' );
529535 }
530536
You can’t perform that action at this time.
0 commit comments