Dağılım Analizi
Dağılım Analizi Script
if (!this.isDestroy$.isStopped && document.querySelector('#raporla-button')) {
document.querySelector('#raporla-button').click();
const awaitIf = async (fn, ms = 100) => {
await new Promise(async (resolve, reject) => {
if (fn()) {
resolve(true);
} else {
await rxjs.timer(ms).toPromise();
resolve(await awaitIf(fn));
}
});
};
this.recordService.formGroup.controls.GROUPBY.valueChanges.subscribe(
(cur) => {
document.querySelector('#raporla-button').click();
}
);
let analysisTypeFc = this.recordService.formGroup.controls.ANALYSIS_TYPE;
analysisTypeFc.valueChanges
.pipe(rxjs.startWith(analysisTypeFc.value))
.subscribe(async (type) => {
if (type == 'DISTRIBUTION') {
this.recordService.formGroup.controls.SELLFROM.setValue(moment('2000-01-01').format('YYYY-MM-DD'));
this.recordService.formGroup.controls.SELLTO.setValue(moment('2049-12-31').format('YYYY-MM-DD'));
this.recordService.formGroup.controls.TO.setValue(moment(angus.api.tenant.PROGDATE).endOf('month').format('YYYY-MM-DD'));
this.recordService.formGroup.controls.FROM.setValue(moment(angus.api.tenant.PROGDATE).startOf('month').format('YYYY-MM-DD'));
} else if (type == "SALE"){
this.recordService.formGroup.controls.SELLFROM.setValue(moment(angus.api.tenant.PROGDATE).add(-1,'days').format('YYYY-MM-DD'));
this.recordService.formGroup.controls.SELLTO.setValue(moment(angus.api.tenant.PROGDATE).add(-1,'days').format('YYYY-MM-DD'));
this.recordService.formGroup.controls.TO.setValue(moment(angus.api.tenant.PROGDATE).add(2,'year').format('YYYY-MM-DD'));
this.recordService.formGroup.controls.FROM.setValue(moment(angus.api.tenant.PROGDATE).add(-1,'days').format('YYYY-MM-DD'));
}
document.querySelector('#raporla-button').click();
});
const curFC = this.recordService.formGroup.get('CURRENCY');
let curFirst = true;
curFC.valueChanges
.pipe(rxjs.startWith(curFC.value))
.subscribe(async (cur) => {
await awaitIf(
() =>
this.recordService.grids['forecast-distribution-grid']?.grid?.agGrid
);
const grid1 = this.recordService.grids['forecast-distribution-grid'].grid
.agGrid;
const grid2 = this.recordService.grids['forecast-distribution-grid2'].grid
.agGrid;
const grid1DegisecekAlanlar = [
'ROOM_REVENUE_CURRENCY',
'ADR_CURRENCY',
'RPRICEPERADULT_CURRENCY',
//aşağısı sonradan eklendi
'OTHER_REVENUE_CURRENCY',
'TAX_REVENUE_CURRENCY',
'FOOD_REVENUE_CURRENCY',
'BOARD_REVENUE_CURRENCY',
'BEVERAGE_REVENUE_CURRENCY',
];
const grid2DegisecekAlanlar = [
'ROOM_REVENUE_CURRENCY',
'ROOM_REVENUE_CURRENCY_LY',
'ADR_CURRENCY',
'ADR_CURRENCY_LY',
'RPRICEPERADULT_CURRENCY',
'RPRICEPERADULT_CURRENCY_LY',
//aşağısı sonradan eklendi
'OTHER_REVENUE_CURRENCY',
'OTHER_REVENUE_CURRENCY_LY',
'TAX_REVENUE_CURRENCY',
'TAX_REVENUE_CURRENCY_LY',
'FOOD_REVENUE_CURRENCY',
'FOOD_REVENUE_CURRENCY_LY',
'BOARD_REVENUE_CURRENCY',
'BOARD_REVENUE_CURRENCY_LY',
'BEVERAGE_REVENUE_CURRENCY',
'BEVERAGE_REVENUE_CURRENCY_LY',
];
const kolonAdiDegistir = (grid, arr) => {
grid.columnApi
.getAllDisplayedColumns()
.filter((col) => arr.includes(col.colDef.field))
.forEach(
(col) =>
(col.colDef.headerName = col.colDef.headerName.replace(
/ \(.*\)| Cur/,
` (${cur})`
))
);
grid.api.refreshHeader();
};
kolonAdiDegistir(grid1, grid1DegisecekAlanlar);
kolonAdiDegistir(grid2, grid2DegisecekAlanlar);
if (curFirst) {
curFirst = false;
} else {
document.querySelector('#raporla-button').click();
}
});
this.recordService.formGroup.controls.UPTOSALEDATE.valueChanges.subscribe(
(cur) => {
document.querySelector('#raporla-button').click();
}
);
this.recordService.formGroup.controls.BLOCKINCLUDED.valueChanges.subscribe(
(cur) => {
document.querySelector('#raporla-button').click();
}
);
let lastYear = this.recordService.formGroup.controls.WITHLASTYEAR;
this.recordService.children.T1.component.activeTabIndex.subscribe((v) => {
if (v == 1 && !lastYear.value) {
lastYear.setValue(true);
document.querySelector('#raporla-button').click();
}
});
}
Last updated