페이지 수정사항 반영
This commit is contained in:
66
backend/check-data6.js
Normal file
66
backend/check-data6.js
Normal file
@@ -0,0 +1,66 @@
|
||||
const { Client } = require('pg');
|
||||
|
||||
async function main() {
|
||||
const conn = new Client({
|
||||
host: 'localhost',
|
||||
port: 5432,
|
||||
user: 'postgres',
|
||||
password: 'turbo123',
|
||||
database: 'genome_db'
|
||||
});
|
||||
await conn.connect();
|
||||
|
||||
const cowId = 'KOR002191643715';
|
||||
|
||||
console.log('=======================================================');
|
||||
console.log('리스트 vs 개체상세 선발지수 비교');
|
||||
console.log('=======================================================\n');
|
||||
|
||||
// 해당 개체의 35개 형질 EBV 조회
|
||||
const traitsResult = await conn.query(`
|
||||
SELECT trait_name, trait_ebv
|
||||
FROM tb_genome_trait_detail
|
||||
WHERE cow_id = $1 AND del_dt IS NULL
|
||||
ORDER BY trait_name
|
||||
`, [cowId]);
|
||||
const traits = traitsResult.rows;
|
||||
|
||||
console.log('형질 수:', traits.length);
|
||||
|
||||
// 1. 가중 합계 (weight = 1)
|
||||
let weightedSum = 0;
|
||||
let totalWeight = 0;
|
||||
traits.forEach(t => {
|
||||
const ebv = Number(t.trait_ebv);
|
||||
const weight = 1;
|
||||
weightedSum += ebv * weight;
|
||||
totalWeight += weight;
|
||||
});
|
||||
|
||||
console.log('\n=== 계산 비교 ===');
|
||||
console.log('가중 합계 (weightedSum):', weightedSum.toFixed(2));
|
||||
console.log('총 가중치 (totalWeight):', totalWeight);
|
||||
console.log('');
|
||||
console.log('리스트 (cow.service.ts) - 가중 합계:', weightedSum.toFixed(2));
|
||||
console.log('개체상세 (genome.service.ts) - 가중 합계:', weightedSum.toFixed(2));
|
||||
|
||||
console.log('\n=== 프론트엔드 가중치 확인 ===');
|
||||
console.log('프론트엔드에서 weight / 100 정규화 확인 필요');
|
||||
console.log('예: weight 100 → 1, weight 50 → 0.5');
|
||||
|
||||
// 만약 프론트에서 weight/100을 적용한다면?
|
||||
console.log('\n=== 만약 weight가 0.01로 적용된다면? ===');
|
||||
let weightedSum2 = 0;
|
||||
let totalWeight2 = 0;
|
||||
traits.forEach(t => {
|
||||
const ebv = Number(t.trait_ebv);
|
||||
const weight = 0.01; // 1/100
|
||||
weightedSum2 += ebv * weight;
|
||||
totalWeight2 += weight;
|
||||
});
|
||||
console.log('가중 합계:', weightedSum2.toFixed(2));
|
||||
|
||||
await conn.end();
|
||||
}
|
||||
|
||||
main().catch(console.error);
|
||||
Reference in New Issue
Block a user