55 lines
4.8 KiB
JavaScript
55 lines
4.8 KiB
JavaScript
const data = [{"id":"4661dd7b-f3b9-42d1-bf00-b14899e2a92e","name":"唐治明","birthYear":1960,"gender":"男","generation":"父亲","fatherId":"f24a95c7-fa68-4f56-b0ed-e1f7fb2c91e1"},{"id":"d4498bfb-c0ce-4218-bc8f-3f0cc0cf6984","name":"舒邦莲","birthYear":1960,"gender":"女","generation":"父亲"},{"id":"f24a95c7-fa68-4f56-b0ed-e1f7fb2c91e1","name":"唐有奎","birthYear":1900,"gender":"男","generation":"祖父"},{"id":"1be537aa-88cb-4b82-8c09-e18e05922499","name":"唐治安","birthYear":1960,"gender":"男","generation":"父亲","fatherId":"f24a95c7-fa68-4f56-b0ed-e1f7fb2c91e1"},{"id":"e6d9c5b3-6397-4d88-878b-e22e5c9f512b","name":"万华群","birthYear":1960,"gender":"女","generation":"父亲"},{"name":"唐治芳","birthYear":1960,"gender":"女","generation":"父亲","fatherId":"f24a95c7-fa68-4f56-b0ed-e1f7fb2c91e1","id":"4b78f55d-34b0-4407-a672-3d6b3e826f0f"},{"name":"邓能春","birthYear":1960,"gender":"男","generation":"父亲","id":"a7bcc3b5-c4fc-4fca-8bd4-44cf6078d678"},{"id":"208fb133-6a0b-4540-a1ff-ad8ce154c33f","name":"唐伟","birthYear":1990,"gender":"男","generation":"自己","fatherId":"4661dd7b-f3b9-42d1-bf00-b14899e2a92e","motherId":"d4498bfb-c0ce-4218-bc8f-3f0cc0cf6984"},{"name":"唐永洪","birthYear":1990,"gender":"男","generation":"自己","fatherId":"4661dd7b-f3b9-42d1-bf00-b14899e2a92e","motherId":"d4498bfb-c0ce-4218-bc8f-3f0cc0cf6984","id":"ab86880b-502c-4249-9ce4-ff3327c3fd1b"},{"id":"de8e2fc8-2a1e-4dc1-b010-cd29b9312105","name":"唐雪","birthYear":1990,"gender":"女","generation":"自己","fatherId":"1be537aa-88cb-4b82-8c09-e18e05922499","motherId":"e6d9c5b3-6397-4d88-878b-e22e5c9f512b"},{"name":"唐波","birthYear":1990,"gender":"男","generation":"自己","fatherId":"1be537aa-88cb-4b82-8c09-e18e05922499","motherId":"e6d9c5b3-6397-4d88-878b-e22e5c9f512b","id":"08a22bcd-5af6-4589-8739-9ea796c41a01"},{"name":"邓静","birthYear":1990,"gender":"女","generation":"自己","fatherId":"a7bcc3b5-c4fc-4fca-8bd4-44cf6078d678","motherId":"4b78f55d-34b0-4407-a672-3d6b3e826f0f","id":"1ebd23c6-dadf-4cec-98fe-5bff971bc591"},{"id":"4c3f6e87-8756-48de-9141-5881778974ce","name":"邓正悦","birthYear":1990,"gender":"女","generation":"自己","fatherId":"a7bcc3b5-c4fc-4fca-8bd4-44cf6078d678","motherId":"4b78f55d-34b0-4407-a672-3d6b3e826f0f"},{"name":"张红","birthYear":1990,"gender":"女","generation":"自己","id":"a74c5ba0-5fe1-4862-a651-f81b641deb72"},{"name":"郭思琪","birthYear":1990,"gender":"女","generation":"自己","id":"95672071-9f60-4728-9209-00a24a01fb3a"},{"id":"a1fa7080-3e49-49bb-b2d7-ec94e005369f","name":"唐世宁","birthYear":2020,"gender":"女","generation":"子女","fatherId":"ab86880b-502c-4249-9ce4-ff3327c3fd1b","motherId":"95672071-9f60-4728-9209-00a24a01fb3a"},{"id":"74ab3d7a-3dad-4279-aecb-13e7ef12c0ff","name":"唐瑾瑜","birthYear":2020,"gender":"女","generation":"子女","fatherId":"08a22bcd-5af6-4589-8739-9ea796c41a01","motherId":"a74c5ba0-5fe1-4862-a651-f81b641deb72"},{"id":"6365ca6a-f31f-4b7a-b233-bc5a101f7025","name":"唐世严","birthYear":2020,"gender":"男","generation":"子女","fatherId":"08a22bcd-5af6-4589-8739-9ea796c41a01","motherId":"a74c5ba0-5fe1-4862-a651-f81b641deb72"}];
|
||
|
||
console.log('=== 数据完整性检查 ===\n');
|
||
|
||
// 检查配偶关系
|
||
const couples = [
|
||
['唐治明', '舒邦莲'],
|
||
['唐治安', '万华群'],
|
||
['唐治芳', '邓能春'],
|
||
['唐波', '张红'],
|
||
['唐永洪', '郭思琪']
|
||
];
|
||
|
||
const map = {};
|
||
data.forEach(m => map[m.name] = m);
|
||
|
||
console.log('配偶关系检查:');
|
||
couples.forEach(([p1, p2]) => {
|
||
const m1 = map[p1];
|
||
const m2 = map[p2];
|
||
if (!m1 || !m2) {
|
||
console.log(` ❌ ${p1} 或 ${p2} 数据缺失`);
|
||
return;
|
||
}
|
||
|
||
// 检查是否有共同的孩子
|
||
const children = data.filter(c =>
|
||
(c.fatherId === m1.id && c.motherId === m2.id) ||
|
||
(c.fatherId === m2.id && c.motherId === m1.id)
|
||
);
|
||
|
||
if (children.length > 0) {
|
||
console.log(` ✓ ${p1} + ${p2} (孩子: ${children.map(c => c.name).join(', ')})`);
|
||
} else {
|
||
console.log(` ⚠ ${p1} + ${p2} (没有记录的孩子,无法确定配偶关系)`);
|
||
}
|
||
});
|
||
|
||
console.log('\n=== 关键问题 ===\n');
|
||
|
||
// 检查舒邦莲和万华群的父母信息
|
||
console.log('外来配偶(嫁入)的父母信息:');
|
||
['舒邦莲', '万华群', '邓能春', '张红', '郭思琪'].forEach(name => {
|
||
const m = map[name];
|
||
if (m) {
|
||
console.log(` ${name}: fatherId=${m.fatherId || '无'}, motherId=${m.motherId || '无'}, generation=${m.generation}`);
|
||
}
|
||
});
|
||
|
||
console.log('\n问题诊断:');
|
||
console.log('1. 舒邦莲、万华群、邓能春没有fatherId/motherId,但generation设置为"父亲"');
|
||
console.log('2. 这导致他们和唐治明、唐治安、唐治芳被排在同一行');
|
||
console.log('3. 算法无法通过父母关系推断出他们应该作为配偶紧贴在唐治明/唐治安旁边');
|
||
console.log('\n解决方案:需要改进算法,通过孩子的父母关系反推配偶关系');
|