service 로직 수정
This commit is contained in:
@@ -241,16 +241,20 @@ export class GenomeService {
|
|||||||
// 보은군 내 모든 농가의 형질별 평균 EBV 계산
|
// 보은군 내 모든 농가의 형질별 평균 EBV 계산
|
||||||
const allFarmsTraitMap = new Map<number, Map<string, { sum: number; count: number }>>();
|
const allFarmsTraitMap = new Map<number, Map<string, { sum: number; count: number }>>();
|
||||||
|
|
||||||
// 보은군 내 모든 분석 완료된 요청 조회 (traitDetails 포함)
|
// 보은군 전체 요청 조회 (한번만 조회하여 재사용)
|
||||||
const allRegionValidRequests = await this.genomeRequestRepository
|
const allRegionRequests = await this.genomeRequestRepository
|
||||||
.createQueryBuilder('req')
|
.createQueryBuilder('req')
|
||||||
.leftJoinAndSelect('req.cow', 'cow')
|
.leftJoinAndSelect('req.cow', 'cow')
|
||||||
.leftJoinAndSelect('req.farm', 'farm')
|
.leftJoinAndSelect('req.farm', 'farm')
|
||||||
.leftJoinAndSelect('req.traitDetails', 'traitDetails')
|
.leftJoinAndSelect('req.traitDetails', 'traitDetails')
|
||||||
.where('req.delDt IS NULL')
|
.where('req.delDt IS NULL')
|
||||||
.andWhere('req.chipSireName = :match', { match: '일치' })
|
|
||||||
.getMany();
|
.getMany();
|
||||||
|
|
||||||
|
// 분석 완료된 요청만 필터링 (chipSireName = '일치')
|
||||||
|
const allRegionValidRequests = allRegionRequests.filter(
|
||||||
|
r => r.chipSireName === '일치'
|
||||||
|
);
|
||||||
|
|
||||||
for (const req of allRegionValidRequests) {
|
for (const req of allRegionValidRequests) {
|
||||||
const reqFarmNo = req.fkFarmNo;
|
const reqFarmNo = req.fkFarmNo;
|
||||||
if (!reqFarmNo) continue;
|
if (!reqFarmNo) continue;
|
||||||
@@ -370,13 +374,7 @@ export class GenomeService {
|
|||||||
})),
|
})),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
// 보은군 전체 연도별 평균 계산을 위한 데이터 조회 (traitDetails 포함)
|
// 보은군 연도별 형질 데이터 수집 (위에서 조회한 allRegionRequests 재사용)
|
||||||
const allRegionRequests = await this.genomeRequestRepository.find({
|
|
||||||
where: { delDt: IsNull() },
|
|
||||||
relations: ['cow', 'traitDetails'],
|
|
||||||
});
|
|
||||||
|
|
||||||
// 보은군 연도별 형질 데이터 수집
|
|
||||||
const regionYearlyTraitMap = new Map<number, Map<string, { sum: number; count: number }>>();
|
const regionYearlyTraitMap = new Map<number, Map<string, { sum: number; count: number }>>();
|
||||||
for (const req of allRegionRequests) {
|
for (const req of allRegionRequests) {
|
||||||
if (!isValidGenomeAnalysis(req.chipSireName, req.chipDamName, req.cow?.cowId)) continue;
|
if (!isValidGenomeAnalysis(req.chipSireName, req.chipDamName, req.cow?.cowId)) continue;
|
||||||
|
|||||||
Reference in New Issue
Block a user