{"version":3,"mappings":"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","names":["static","count","otherControls","fn","Validators","control","controls","map","c","get","filter","length","atLeast","atMost","FieldDiaryStore","Store","constructor","backend","super","loading","loaded","data","writing","written","this","registerObservable","FieldDiaryDownloadSuccess","subscribe","d","Mutate","s","download","Data","downloadFieldDiary","bookName","reportData","DispatchBackend","FieldDiaryDownload","Name","Type","NetTypes","Value","ApCustomTypes","i0","factory","ApFieldDiaryEvaluationComponent","fb","actionStore","campaignYearStore","colorLegend","cropTypeStore","loginStore","fieldStore","formStore","showTrackOnMapService","dateService","datePipe","roundPipe","route","routerStore","kendoDateFormat","modalDialogStore","settingsStore","translationStore","fieldDiaryStore","workTypeStore","getUtcDatePipe","notifyStore","languageStore","roundNumericPipe","urlEncoder","Date","BehaviorSubject","EventEmitter","dialog","title","formConfig","fieldSets","ApDynformsConfigFieldset","key","columnGap","columns","config","ApDynformsConfigCheckbox","label","formErrors","values","Geometry","Fertilisation","PlantProtection","Complete","validators","ApDynformsValidator","validator","ApDependencyValidator","errorKey","show","buttons","text","primary","disable","ModalDialogButtonDisable","_subscriptions","push","_onBack","navigate","ApMenuUrls","_show","dataItem","_showTrackOnMap","_xlsExport","_exportAsXls","_productPassExport","items","_items","i","SourceItem","setModalDialogData","Listen","result","field","getFieldById","selectedField","Id","geom","getCurrentFieldGeom","res","farm","SelectedFarm","FarmName","name","getFieldName","Area","Create","C","AreaHa","undefined","fertilisation","plantprotection","complete","formValues","JSON","parse","Geom","v","Attachment","WorkType","Category_Text","From","Duration","Slice","NettoArea","Description","Organic","SubCategory","Applications","Application","a","Object","Unit","ApDocuUtils","u","setTimeout","addMessage","DisplayTimeout","Level","UserId","UserName","Counter","ErrorKey","Parameters","NumberFactory","ngOnInit","formBuilder","combineLatest","queryParams","f","p","params","decode","id","clear","_enableDetailView","getDataFromStore","ngOnDestroy","forEach","unsubscribe","ApDynformsConfigComboBox","value","valuePrimitive","options","pipe","FieldName","textField","valueField","asObservable","clearButton","sort","ApDynformsConfigPlaceholder","gridBuilder","ApDynGridPropertyColumnConfig","filterable","filterType","FilterType","cssClass","width","pipes","args","FirstSetting","DigitsAfterDecimalPoint","unit","FindTranslationForSelectedLanguage","format","SelectedLanguage","DateFormat","sortIndex","hide","ApDynGridButtonColumnConfig","callback","disabled","slice","Logger","imageUrl","APP_CONFIGURATION","tooltip","selected","_isActive","bind","itemBusy$","getPendingSubject","pager","ApDynGridPagerWizardConfig","ApDynGridPagerWizardButton","ApDynGridPagerWizardSection","ApDynGridPagerWizardExport","xlsCallback","customIcons","icon","emitter","type","cropTypes","ct","Selected","w","workTypes","selectedYear","y","minDate","toFarmDate","isDate","DefaultStart","toDate","maxDate","DefaultEnd","dateFrom","dateTo","exportFileName","next","_getName","loadFieldsFromRange","loading$","fieldActions","FirstSetting$","Any","ac","fi","Contains","FieldId","action","Field","getDateMidnight","toFarmDateFromUtcGetJsDate","TimeFrom","moment","TimeTo","To","AvgPerformance","transform","BruttoArea","AvgSpeed","FieldGeoms","TraversedArea","WorkedArea","WorkTypeText","_a","onCreate","openForm","component","ApEditActionComponent","onSubmitClick","dynComponent","getFormValue","then","toLocaleDateString","showDetails","from","getValue","to","add","hours","minutes","seconds","milliseconds","loadFieldActions","includeApproach","contentRows","Amount1","toString","Amount2","Amount3","Application1","Key","Application2","Application3","Day","Driver","e","FullName","_b","Days","Hours","Milliseconds","Minutes","Seconds","Ticks","TotalDays","TotalHours","TotalMilliseconds","TotalMinutes","TotalSeconds","Microseconds","TotalMicroseconds","Nanoseconds","TotalNanoseconds","FieldArea","getTime","FuelTotal","GrossArea","GrossPerformance","InstrumentName","Instrument","MachineName","n","Machine","_c","NameWithSign","_d","NetArea","NetPerformance","NumberPart","FieldNumber","Standstill","Unit1","Unit2","Unit3","Worktype","fieldAction","movementTime","MovementTime","reduce","acc","cur","standStillTime","StandstillTime","movementFuel","standStillFuel","Content","HeaderLabels","Rows","Footer","FieldTime","FieldTimeFuel","FieldTimeLabel","FuelLabel","StandstillLabel","StandstillTimeFuel","SummaryLabel","SummaryTime","SummaryTimeFuel","TimeLabel","Header","Croptype","CroptypeLabel","FieldLabel","FieldNames","TimePointLabel","WorktypeLabel","isActive","generateGeoJsonByField","FieldIdOnEnd","selectors","ApDynComponentComponent","ctx","PerformanceReportStore","PerformanceReportDownloadSuccess","writePerformanceReport","PerformanceReportWrite","downloadPerformanceReport","PerformanceReportDownload","ApPerformanceEvaluationComponent","driversStore","instrumentsStore","machinesStore","sliceStore","performanceReportStore","worktypeStore","form","getForm","setValue","_onDateChange","actions","actionType","ngAfterViewInit","_subscribeToFormControls","_formSubscriptions","language","settings","drivers","_","instruments","machines","fieldsLoading$","selectedFieldsRange","fields","ApGuidUtil","FarmId","SelectedFarmId","FieldSubnumber","ValidFrom","ValidTo","FieldCrops","b","statusDesc","DurationTime","Speed","Status","StatusDesc","StatusClass","ActionType","actionTypeMap","DriverName","h","ApDynformsConfigDatepicker","selectedDriver","placeholder","dependsOn","selectedCropType","selectedMachine","selectedActions","selectedInstrument","selectedWorkType","ApDynformsConfigMultiSelect","selectedFields","ApDynGridStatusColumnConfig","class","description","Action","Fields","CropType","farmId","Actions","CropTypes","Drivers","Instruments","Machines","WorkTypes","loadSlices","Firstname","generateGeoJsonBySlice","timeFrom","timeTo","endField","AvgEnginePower","AvgEngineTorque","getHours","getMinutes","getSeconds","Way","ActionsLabel","_e","_f","DriverLabel","InstrumentLabel","MachineLabel","T","_g","_h","convertedDateFrom","convertedDateTo","valueChanges","date","cropType","routes","path","canActivate","ApPermissionGuard","login","layout","PageMode","ApEvaluationRoutes","RouterModule","ApEvaluationModule","DatePipe","GetKendoDateFormatPipe","imports","CommonModule","ApCoreModule","GridModule","BodyModule","SharedModule","HeaderModule","ApTranslationModule","ApUtilsModule","ApIconModule","ReactiveFormsModule","DateRangeModule","DateInputModule","MultiViewCalendarModule","MultiSelectModule","FormsModule","ComboBoxModule","DropDownListModule","ButtonsModule","PagerModule","PDFModule","PDFExportModule","ApDynComponentModule","ApResponsiveTextModule","ApSectionHeaderModule","ApTooltipModule"],"sources":["./src/app/ap-dynforms/validators/ap-dependency-validator.ts","./src/app/stores/evaluation/field.diary.store.ts","./src/app/evaluation/components/field-diary/ap-field-diary-evaluation.component.ts","./src/app/stores/evaluation/performance.report.store.ts","./src/app/evaluation/components/performance-evaluation/ap-performance-evaluation.component.ts","./src/app/evaluation/ap-evaluation.routes.ts","./src/app/evaluation/ap-evaluation.module.ts"],"sourcesContent":["import {\n FormGroup, ValidationErrors,\n ValidatorFn,\n Validators\n} from '@angular/forms';\n\nexport class ApDependencyValidator {\n static requiredAtLeast(count: number, otherControls: string[], fn: ValidatorFn = Validators.required): ValidatorFn {\n return (control: FormGroup): ValidationErrors | null => {\n const controls = otherControls.map(c => control.get(c));\n if (controls.filter(c => fn(c) === null).length < count) {\n return {atLeast: true};\n }\n return null;\n };\n }\n\n static requiredAtMost(count: number, otherControls: string[], fn: ValidatorFn = Validators.required): ValidatorFn {\n return (control: FormGroup): ValidationErrors | null => {\n const controls = otherControls.map(c => control.get(c));\n if (controls.filter(c => fn(c) === null).length > count) {\n return {atMost: true};\n }\n return null;\n };\n }\n}\n","import {Injectable} from '@angular/core';\nimport {\n ApCustomTypes,\n FieldDiaryDownload,\n FieldDiaryDownloadSuccess,\n NetTypes\n} from 'invoker-transport';\nimport {IStateStore} from '../../ap-interface';\nimport {Store} from '../index';\nimport * as download from 'downloadjs';\nimport IReportData = Agriport.Excel.Factory.InputData.FieldDiary.IReportData;\nimport {ApSignalrService} from '../../ap-core/services/ap-signalr.service';\n\n\ninterface IFieldDiaryStore extends IStateStore {\n writing: boolean;\n written: boolean;\n}\n\n@Injectable({providedIn: 'root'})\nexport class FieldDiaryStore extends Store {\n constructor(private backend: ApSignalrService) {\n super(backend, {\n loading: false,\n loaded: false,\n data: [],\n writing: false,\n written: false,\n });\n\n // register Actions from Backend\n backend.registerObservable(FieldDiaryDownloadSuccess).subscribe(d => {\n super.Mutate(s => s.writing, () => false);\n super.Mutate(s => s.written, () => true);\n download(d.Data[1], d.Data[0], 'application/excel');\n });\n }\n\n public downloadFieldDiary(bookName: string, reportData: IReportData): void {\n super.Mutate(s => s.writing, () => false);\n super.Mutate(s => s.written, () => true);\n this.DispatchBackend(new FieldDiaryDownload([\n {Name: 'bookName', Type: NetTypes.STRING, Value: bookName},\n {\n Name: 'reportData',\n Type: ApCustomTypes.Agriport_Excel_Factory_InputData_FieldDiary_ReportData,\n Value: reportData\n }\n ]));\n }\n\n}\n","import {ChangeDetectionStrategy, Component, EventEmitter, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {ActivatedRoute} from '@angular/router';\nimport {BehaviorSubject, combineLatest, Observable, Subscription} from 'rxjs';\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\nimport {isDate} from 'lodash';\nimport {GetRoundNumericPipe} from '../../../ap-utils';\nimport {DatePipe} from '@angular/common';\nimport {\n GetKendoDateFormatPipe\n} from '../../../ap-utils/pipes/get-kendo-date-format.pipe';\nimport {\n ApGetUtcDatePipe\n} from '../../../stores/pipes/ap-get-utc-date.pipe';\nimport {\n ApDynGridColumnConfigBase\n} from '../../../ap-dyngrids/config/ap-dyn-grid-column-config-base';\nimport {\n ApDynformsConfigFieldset\n} from '../../../ap-dynforms/config/ap-dynforms-config-fieldset';\nimport {\n ApDynformsConfigComboBox\n} from '../../../ap-dynforms/config/ap-dynforms-config-combobox';\nimport {\n ApDynComponentComponent\n} from '../../../ap-dyncomponent/ap-dyncomponent.component';\nimport {\n ApDynformsValidator\n} from '../../../ap-dynforms/ap-dynforms-validator';\nimport {\n ApDynGridPropertyColumnConfig,\n FilterType\n} from '../../../ap-dyngrids/config/ap-dyn-grid-property-column-config';\nimport {\n ApDynGridPagerWizardButton,\n ApDynGridPagerWizardConfig,\n ApDynGridPagerWizardExport,\n ApDynGridPagerWizardSection\n} from '../../../ap-dyngrids/config/ap-dyn-grid-pager-wizard-config';\nimport {\n ApDynGridButtonColumnConfig\n} from '../../../ap-dyngrids/config/ap-dyn-grid-button-column-config';\nimport {APP_CONFIGURATION} from '../../../ap-core/config';\nimport {\n ApDocuUtils\n} from '../../../docu/utils/ap-docu-utils';\nimport {\n ApShowTrackOnMapService\n} from '../../../ap-utils/service/ap-show-track-on-map.service';\nimport {\n IModalDialogData,\n ModalDialogButtonDisable\n} from '../../../ap-interface/interfaces/ap-modaldialog-data.interface';\nimport {map} from 'rxjs/operators';\nimport {\n ApEditActionComponent\n} from '../../../entry-components/ap-docu-entry-components/ap-edit-action.component';\nimport {\n ApDynformsConfigPlaceholder\n} from '../../../ap-dynforms/config/ap-dynforms-config-placeholder';\nimport {\n ApDynformsConfigCheckbox\n} from '../../../ap-dynforms/config/ap-dynforms-config-checkbox';\nimport {\n ApDependencyValidator\n} from '../../../ap-dynforms/validators/ap-dependency-validator';\nimport {\n CropTypeStore\n} from '../../../stores/base-data/crop.types.store';\nimport {\n SettingsStore\n} from '../../../stores/base-data/settings.store';\nimport {\n FieldStore\n} from '../../../stores/farm/field.store';\nimport {\n WorkTypesStore\n} from '../../../stores/base-data/worrktypes.store';\nimport {\n CampaignYearStore\n} from '../../../stores/login/campaignyear.store';\nimport {Create, NumberFactory} from 'ts-tooling';\nimport {\n FormStore\n} from '../../../stores/layout/form.store';\nimport {\n NotifyStore\n} from '../../../stores/dialog/notify.store';\nimport {\n ModalDialogStore\n} from '../../../stores/dialog/modal.dialog.store';\nimport {\n ActionStore\n} from '../../../stores/docu/action.store';\nimport {\n FieldDiaryStore\n} from '../../../stores/evaluation/field.diary.store';\nimport {\n TranslationStore\n} from '../../../stores/translation/translation.store';\nimport {\n ColorLegendStore\n} from '../../../stores/map/color.legend.store';\nimport {\n LoginStore\n} from '../../../stores/login/login.store';\nimport {\n ApDateService\n} from '../../../ap-core/services/ap-date-service';\nimport {\n LanguageStore\n} from '../../../stores/translation/language.store';\nimport {\n RouterStore\n} from '../../../stores/router/router.store';\nimport {ApMenuUrls} from '../../../ap-interface';\nimport {\n UrlEncoderService\n} from '../../../services/router/url-encoder.service';\nimport * as moment from 'moment-timezone';\nimport ICropTypes = Data.BaseData.ICropTypes;\nimport IFieldBase = Data.FieldManagement.IFieldBase;\nimport IWorktypes = Data.BaseData.IWorktypes;\nimport IFieldAction = Data.DocuContext.FleetManagement.IFieldAction;\nimport IReportData = Agriport.Excel.Factory.InputData.FieldDiary.IReportData;\nimport IContentRow = Agriport.Excel.Factory.InputData.FieldDiary.IContentRow;\nimport ApValidationLevel = Data.Api.Validation.ApValidationLevel;\n\n/**\n * Component for the field-diary-evaluation\n */\n@Component({\n selector: 'ap-field-diary-evaluation',\n template: `\n \n
\n \n
\n
\n `,\n changeDetection: ChangeDetectionStrategy.Default\n})\n\nexport class ApFieldDiaryEvaluationComponent implements OnInit, OnDestroy {\n @ViewChild(ApDynComponentComponent, {static: true}) dynComponent: ApDynComponentComponent;\n includeApproach = false;\n form: FormGroup;\n dateFrom: Date = null;\n dateTo: Date = null;\n selectedField: IFieldBase = null;\n pager: ApDynGridPagerWizardConfig;\n loading$: Observable;\n minDate: Date = new Date('1900-01-01');\n maxDate: Date = new Date('2099-12-31');\n workTypes: IWorktypes[];\n cropTypes: ICropTypes[];\n columns: ApDynGridColumnConfigBase[] = [];\n fieldSets: ApDynformsConfigFieldset[] = [];\n items: any[] = [];\n exportFileName = new BehaviorSubject('');\n\n private _subscriptions: Array = [];\n private _onBack = new EventEmitter();\n private _productPassExport = new EventEmitter();\n private _items: IFieldAction[] = [];\n private _show = new EventEmitter();\n private _xlsExport = new EventEmitter();\n\n constructor(private fb: FormBuilder,\n private actionStore: ActionStore,\n private campaignYearStore: CampaignYearStore,\n private colorLegend: ColorLegendStore,\n private cropTypeStore: CropTypeStore,\n private loginStore: LoginStore,\n private fieldStore: FieldStore,\n private formStore: FormStore,\n private showTrackOnMapService: ApShowTrackOnMapService,\n private dateService: ApDateService,\n private datePipe: DatePipe,\n private roundPipe: GetRoundNumericPipe,\n private route: ActivatedRoute,\n private routerStore: RouterStore,\n private kendoDateFormat: GetKendoDateFormatPipe,\n private modalDialogStore: ModalDialogStore,\n private settingsStore: SettingsStore,\n private translationStore: TranslationStore,\n private fieldDiaryStore: FieldDiaryStore,\n private workTypeStore: WorkTypesStore,\n private getUtcDatePipe: ApGetUtcDatePipe,\n private notifyStore: NotifyStore,\n private languageStore: LanguageStore,\n private roundNumericPipe: GetRoundNumericPipe,\n private urlEncoder: UrlEncoderService) {\n const dialog = {\n title: 'Produktpass',\n formConfig: {\n fieldSets: [\n new ApDynformsConfigFieldset({\n key: 'fieldDiary',\n columnGap: false,\n columns: 2,\n config: [\n new ApDynformsConfigCheckbox({\n key: 'Geometry',\n label: 'Global__Geometry'\n }),\n new ApDynformsConfigCheckbox({\n key: 'Fertilisation',\n label: 'Settings__Lbl_Menu_Fertilization',\n formErrors: ['Global__At_Least_One']\n }),\n new ApDynformsConfigCheckbox({\n key: 'PlantProtection',\n label: 'Docu_Ini__PlantProtection',\n formErrors: ['Global__At_Least_One']\n\n }),\n new ApDynformsConfigCheckbox({\n key: 'Complete',\n label: 'Docu__ActionOverView',\n formErrors: ['Global__At_Least_One']\n }),\n ]\n })\n ],\n values: {\n Geometry: true,\n Fertilisation: true,\n PlantProtection: true,\n Complete: true\n },\n validators: [\n new ApDynformsValidator({\n validator: ApDependencyValidator.requiredAtLeast(1, [\n 'Fertilisation', 'PlantProtection', 'Complete'\n ], Validators.requiredTrue),\n errorKey: 'Global__At_Least_One'\n }),\n ]\n },\n show: true,\n buttons: [\n {\n key: 'cancel',\n text: 'Global__Cancel',\n primary: false\n },\n {\n key: 'next',\n text: 'Global__Next',\n primary: true,\n disable: ModalDialogButtonDisable.FormInvalid,\n }\n ],\n } as IModalDialogData;\n this._subscriptions.push(this._onBack.subscribe(() => this.routerStore.navigate([ApMenuUrls.EVALUATION_FIELD_DIARY])));\n this._subscriptions.push(this._show.subscribe((dataItem) => this._showTrackOnMap(dataItem)));\n this._subscriptions.push(this._xlsExport.subscribe(() => this._exportAsXls()));\n this._subscriptions.push(this._productPassExport.subscribe((items) => {\n this._items = items.map(i => i.SourceItem);\n this.modalDialogStore.setModalDialogData(dialog);\n }));\n this._subscriptions.push(this.modalDialogStore.Listen(s => s.result).subscribe((result) => {\n if (result.key === 'next') {\n const field = this.fieldStore.getFieldById(this.selectedField.Id);\n const geom = this.fieldStore.getCurrentFieldGeom(field);\n const res = {\n farm: this.loginStore.SelectedFarm.FarmName,\n field: {\n name: this.fieldStore.getFieldName(field),\n Area: Create(geom?.AreaHa, 0),\n geom: undefined,\n },\n fertilisation: undefined,\n plantprotection: undefined,\n complete: undefined,\n };\n if (result.formValues.Geometry) {\n res.field.geom = JSON.parse(geom?.Geom as any);\n }\n if (result.formValues.Fertilisation) {\n res.fertilisation =\n this._items.filter(v => v.Attachment.WorkType.Category_Text === 'Worktype_Category_Fertilisation')\n .map(v => ({\n Date: v.Attachment.From,\n Duration: v.Slice.Duration,\n Area: v.Slice.NettoArea,\n WorkType: v.Attachment.WorkType.Description,\n Organic: v.Attachment.WorkType.SubCategory,\n Applications: v.Attachment.Application.map(a =>\n ({...a, Unit: ApDocuUtils.addWtUnit(a.Unit, v.Attachment.WorkType, this.translationStore, 'en')}))\n }));\n }\n if (result.formValues.PlantProtection) {\n res.plantprotection =\n this._items.filter(v =>\n v.Attachment.WorkType.Category_Text === 'Worktype_Category_PlantProtection' &&\n v.Attachment.Application)\n .map(v => ({\n Date: v.Attachment.From,\n Duration: v.Slice.Duration,\n Area: v.Slice.NettoArea,\n WorkType: v.Attachment.WorkType.Description,\n Applications: v.Attachment.Application.map(a =>\n ({...a, Unit: ApDocuUtils.addWtUnit(a.Unit, v.Attachment.WorkType, this.translationStore, 'en')}))\n }));\n }\n if (result.formValues.Complete) {\n res.complete =\n this._items\n .map(v => ({\n Date: v.Attachment.From,\n Duration: v.Slice.Duration,\n Area: v.Slice.NettoArea,\n WorkType: v.Attachment.WorkType.Description,\n Applications: !v.Attachment.Application ? null : v.Attachment.Application.map(a => ({\n ...a,\n Unit: ApDocuUtils.addWtUnit(\n a.Unit, v.Attachment.WorkType, this.translationStore, 'en')\n })\n )\n }));\n }\n setTimeout(() => {\n this.notifyStore.addMessage({\n DisplayTimeout: 3,\n Level: ApValidationLevel.Info,\n UserId: 0,\n UserName: null,\n Counter: 0,\n ErrorKey: 'Docu__Send_Product_Pass',\n Parameters: null\n });\n }, NumberFactory.RandomInteger(500, 1000));\n }\n }));\n }\n\n ngOnInit(): void {\n this.formBuilder();\n combineLatest([this.fieldStore.Listen(s => s.data), this.route.queryParams]).subscribe(([f, p]) => {\n if (f.length) {\n const params = this.urlEncoder.decode(p);\n if (params.id) {\n this.showTrackOnMapService.clear();\n const field = this.fieldStore.getFieldById(params.id);\n if (field) {\n this.selectedField = this.fieldStore.getFieldById(params.id);\n this._enableDetailView(true);\n return;\n }\n }\n this._enableDetailView(false);\n }\n });\n this.getDataFromStore();\n }\n\n /**\n * cleanup subscriptions\n */\n ngOnDestroy(): void {\n this._subscriptions.forEach(d => d.unsubscribe());\n this.showTrackOnMapService.clear();\n }\n\n formBuilder(): void {\n this.fieldSets = [\n new ApDynformsConfigFieldset({\n key: 'fieldDiary',\n config: [\n new ApDynformsConfigComboBox({\n key: 'Field',\n value: this.selectedField,\n valuePrimitive: false,\n options: this.fieldStore.Listen(s => s.data).pipe(\n map((f) => f.map((field) => ({\n ...field,\n FieldName: this.fieldStore.getFieldName(field)\n }))),\n ),\n textField: 'FieldName',\n valueField: 'Id',\n label: 'Global__Field',\n loading: this.fieldStore.Listen(s => s.loading).asObservable(),\n clearButton: true,\n sort: 1,\n validators: [\n new ApDynformsValidator({validator: Validators.required, errorKey: 'Settings__Msg_Vali_Value_Required'}),\n ]\n }),\n new ApDynformsConfigPlaceholder()\n ]\n })\n ];\n }\n\n gridBuilder(): void {\n this.columns = [\n new ApDynGridPropertyColumnConfig(\n {title: 'Docu_Ini__Number', field: 'Field.FieldNumber',\n filterable: true,\n filterType: FilterType.NUMBER,\n cssClass: 'right',\n width: 60}),\n new ApDynGridPropertyColumnConfig(\n {title: 'Docu_Ini_Subnumber', field: 'Field.FieldSubnumber',\n filterable: true,\n filterType: FilterType.NUMBER,\n cssClass: 'right',\n width: 60}),\n new ApDynGridPropertyColumnConfig(\n {title: 'Docu_Ini__Field', field: 'Field.FieldName'}),\n new ApDynGridPropertyColumnConfig(\n {\n title: 'Docu_Ini__Area', field: 'Area',\n cssClass: 'right', filterType: FilterType.NUMBER,\n pipes: [\n {\n pipe: this.roundNumericPipe,\n args: [\n this.settingsStore.FirstSetting.DigitsAfterDecimalPoint,\n ]\n }\n ],\n unit: this.translationStore.FindTranslationForSelectedLanguage('Unit_ha')\n }),\n new ApDynGridPropertyColumnConfig(\n {title: 'Docu_Ini__Date', field: 'Date', format: this.languageStore.SelectedLanguage.DateFormat, sortIndex: 0}),\n new ApDynGridPropertyColumnConfig(\n {title: 'Docu_Ini__From', field: 'TimeFrom'}),\n new ApDynGridPropertyColumnConfig(\n {title: 'Docu_Ini__To', field: 'TimeTo'}),\n new ApDynGridPropertyColumnConfig(\n {title: 'Docu_Ini__Duration', field: 'Duration'}),\n new ApDynGridPropertyColumnConfig(\n {title: 'Docu_Ini__WorkType', field: 'WorkTypeText'}),\n new ApDynGridPropertyColumnConfig(\n {\n title: 'Global_Traversed_Area', field: 'TraversedArea', hide: true,\n cssClass: 'right', filterType: FilterType.NUMBER, width: 60,\n pipes: [\n {\n pipe: this.roundNumericPipe,\n args: [\n this.settingsStore.FirstSetting.DigitsAfterDecimalPoint,\n ]\n }\n ],\n unit: this.translationStore.FindTranslationForSelectedLanguage('Global__Unit_ha')\n }),\n new ApDynGridPropertyColumnConfig(\n {\n title: 'Global_Worked_Area', field: 'WorkedArea', hide: true,\n cssClass: 'right', filterType: FilterType.NUMBER,\n pipes: [\n {\n pipe: this.roundNumericPipe,\n args: [\n this.settingsStore.FirstSetting.DigitsAfterDecimalPoint,\n ]\n }\n ],\n unit: this.translationStore.FindTranslationForSelectedLanguage('Global__Unit_ha')\n }),\n new ApDynGridPropertyColumnConfig(\n {\n title: 'Docu_Ini__AvgPerformance', field: 'AvgPerformance',\n cssClass: 'right', filterType: FilterType.NUMBER, hide: true,\n pipes: [\n {\n pipe: this.roundNumericPipe,\n args: [\n this.settingsStore.FirstSetting.DigitsAfterDecimalPoint,\n ]\n }\n ]\n }),\n new ApDynGridPropertyColumnConfig(\n {\n title: 'Docu_Ini__AvgSpeed', field: 'AvgSpeed', hide: true,\n cssClass: 'right', filterType: FilterType.NUMBER,\n pipes: [\n {\n pipe: this.roundNumericPipe,\n args: [\n this.settingsStore.FirstSetting.DigitsAfterDecimalPoint,\n ]\n }\n ],\n unit: this.translationStore.FindTranslationForSelectedLanguage('Unit__km_h')\n }),\n new ApDynGridButtonColumnConfig(\n {\n callback: this._show,\n disabled: (slice) => slice.SourceItem.Attachment.Logger === null,\n imageUrl: APP_CONFIGURATION.ButtonZoomToMapImage,\n tooltip: 'Settings__Msg_Loading_Track_Button',\n selected: this._isActive.bind(this),\n itemBusy$: this.showTrackOnMapService.getPendingSubject.bind(this.showTrackOnMapService)\n })\n ];\n\n this.pager = new ApDynGridPagerWizardConfig(\n new ApDynGridPagerWizardButton('Global_Back_With_Arrow', this._onBack),\n new ApDynGridPagerWizardSection(),\n new ApDynGridPagerWizardExport({\n xlsCallback: this._xlsExport,\n customIcons: [\n {\n icon: 'k-i-file-bac',\n emitter: this._productPassExport,\n tooltip: 'Docu__Create_Product_Pass',\n type: 'all'\n }\n ]\n })\n );\n }\n\n getDataFromStore(): void {\n this._subscriptions.push(this.cropTypeStore.Listen(s => s.data).subscribe(\n c => this.cropTypes = c.filter(ct => ct.Selected)));\n\n this._subscriptions.push(this.workTypeStore.Listen(s => s.data).subscribe(\n w => this.workTypes = w));\n\n this._subscriptions.push(this.campaignYearStore.Listen(s => s.selectedYear).subscribe(y => {\n if (y === null) {\n return;\n }\n this.minDate = this.dateService.toFarmDate(isDate(y.DefaultStart) ? y.DefaultStart : new Date(y.DefaultStart)).toDate();\n this.maxDate = this.dateService.toFarmDate(isDate(y.DefaultEnd) ? y.DefaultEnd : new Date(y.DefaultEnd)).toDate();\n this.dateFrom = this.minDate;\n this.dateTo = this.maxDate;\n this.exportFileName.next(this._getName());\n this.fieldStore.loadFieldsFromRange(this.minDate, this.maxDate);\n }));\n\n this.loading$ = combineLatest([this.fieldStore.Listen(s => s.loading), this.actionStore.Listen(s => s.loading)]).pipe(\n map(([f, a]) => f || a)\n );\n this._subscriptions.push(combineLatest([\n this.fieldStore.Listen(s => s.data),\n this.actionStore.Listen(s => s.fieldActions),\n this.settingsStore.FirstSetting$\n ])\n .subscribe(\n ([f, a, s]) => {\n if (!f || !a || a.Any(ac => !f.map(fi => fi.Id).Contains(ac.FieldId))) {\n return;\n }\n this.items = a.map((action: IFieldAction) => {\n const field = this.fieldStore.getFieldById(action.FieldId);\n const geom = this.fieldStore.getCurrentFieldGeom(field);\n return {\n Id: action.Id,\n SourceItem: action,\n Field: field,\n Date: this.dateService.getDateMidnight(this.dateService.toFarmDateFromUtcGetJsDate(action.Attachment.From)),\n TimeFrom: moment(this.dateService.toFarmDateFromUtcGetJsDate(action.Attachment.From)).format('HH:mm'),\n TimeTo: moment(this.dateService.toFarmDateFromUtcGetJsDate(action.Attachment.To)).format('HH:mm'),\n AvgPerformance: this.roundPipe.transform(\n action.Slice.BruttoArea * 3600 /\n action.Slice.Duration, s.DigitsAfterDecimalPoint),\n AvgSpeed: this.roundPipe.transform(\n ApDocuUtils.getSliceProperty(action.Slice, 'speed', 'Avg'),\n s.DigitsAfterDecimalPoint),\n Area: field.FieldGeoms.length === 0 ? 0 : this.roundPipe.transform(\n field.FieldGeoms[0].AreaHa, s.DigitsAfterDecimalPoint),\n TraversedArea: action.Slice.BruttoArea,\n WorkedArea: action.Slice.NettoArea,\n WorkTypeText: this.translationStore.FindTranslationForSelectedLanguage(action.Attachment.WorkType?.Description),\n Duration: ApDocuUtils.formatDuration(action.Slice.Duration * 1000),\n Geom: geom\n };\n });\n }\n ));\n }\n\n onCreate(): void {\n this.formStore.openForm({component: ApEditActionComponent, data: null});\n }\n\n onSubmitClick(): void {\n const value = this.dynComponent.getFormValue();\n this.selectedField = value['Field'];\n this.routerStore.navigate([ApMenuUrls.EVALUATION_FIELD_DIARY], {id: this.selectedField.Id}).then(() => {\n });\n }\n\n private _getName(): string {\n let name = `${this.loginStore.SelectedFarm.FarmName}`;\n\n name += `_${this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__FieldDiary')}`;\n if (this.dateFrom && this.dateTo) {\n name += `_${this.dateFrom.toLocaleDateString()}`;\n if (this.dateFrom !== this.dateTo) {\n name += `_${this.dateTo.toLocaleDateString()}`;\n }\n }\n\n if (this.selectedField) {\n name += `_${this.fieldStore.getFieldName(this.selectedField)}`;\n }\n\n return name;\n }\n\n private _enableDetailView(showDetails: boolean): void {\n if (showDetails) {\n\n const from = this.getUtcDatePipe.transform(\n this.campaignYearStore.Listen(s => s.selectedYear.DefaultStart).getValue()).toDate();\n const to = this.getUtcDatePipe.transform(\n this.campaignYearStore.Listen(s => s.selectedYear.DefaultEnd).getValue()).add({\n hours: 23,\n minutes: 59,\n seconds: 59,\n milliseconds: 999\n }).toDate();\n this.actionStore.loadFieldActions(from, to, [this.selectedField.Id], null, null, this.includeApproach);\n this.fieldSets = [];\n this.gridBuilder();\n this.exportFileName.next(this._getName());\n } else {\n this.columns = [];\n this.formBuilder();\n this.showTrackOnMapService.clear();\n }\n }\n\n private _exportAsXls(): void {\n const contentRows: IContentRow[] = [];\n for (let i = 0; i < (this.items as []).length; ++i) {\n const a = this.items[i].SourceItem as IFieldAction;\n const from = isDate(a.Slice.From) ? a.Slice.From : new Date(a.Slice.From);\n const to = isDate(a.Slice.To) ? a.Slice.To : new Date(a.Slice.To);\n\n contentRows.push({\n Amount1: a.Attachment.Application[0] ? a.Attachment.Application[0].Value.toString() : '',\n Amount2: a.Attachment.Application[1] ? a.Attachment.Application[1].Value.toString() : '',\n Amount3: a.Attachment.Application[2] ? a.Attachment.Application[2].Value.toString() : '',\n Application1: a.Attachment.Application[0] ? a.Attachment.Application[0].Key : '',\n Application2: a.Attachment.Application[1] ? a.Attachment.Application[1].Key : '',\n Application3: a.Attachment.Application[2] ? a.Attachment.Application[2].Key : '',\n Day: a.Slice.From,\n Driver: a.Attachment.Driver?.FullName ?? '',\n Duration: {\n Days: 0,\n Hours: 0,\n Milliseconds: 0,\n Minutes: 0,\n Seconds: 0,\n Ticks: 0,\n TotalDays: 0,\n TotalHours: 0,\n TotalMilliseconds: 0,\n TotalMinutes: 0,\n TotalSeconds: a.Slice.Duration,\n Microseconds: 0,\n TotalMicroseconds: 0,\n Nanoseconds: 0,\n TotalNanoseconds: 0\n },\n FieldArea: 0,\n FieldName: this.fieldStore.getFieldById(a.FieldId).FieldName,\n From: {\n Days: 0,\n Hours: 0,\n Milliseconds: 0,\n Minutes: 0,\n Seconds: 0,\n Ticks: 0,\n TotalDays: 0,\n TotalHours: 0,\n TotalMilliseconds: from.getTime(),\n TotalMinutes: 0,\n TotalSeconds: 0,\n Microseconds: 0,\n TotalMicroseconds: 0,\n Nanoseconds: 0,\n TotalNanoseconds: 0\n },\n FuelTotal: ApDocuUtils.getSliceProperty(a.Slice, 'fuel', 'Avg'),\n GrossArea: a.Slice.BruttoArea,\n GrossPerformance: a.Slice.BruttoArea * 3600 /\n (a.Slice.Duration !== null ? a.Slice.Duration : (a.Slice.To.getTime() - a.Slice.From.getTime()) / 1000),\n InstrumentName: a.Attachment.Instrument ? a.Attachment.Instrument.Name : '',\n MachineName: a.Attachment.Machine?.NameWithSign ?? '',\n NetArea: a.Slice.NettoArea,\n NetPerformance: a.Slice.NettoArea * 3600 /\n (a.Slice.Duration !== null ? a.Slice.Duration : (a.Slice.To.getTime() - a.Slice.From.getTime()) / 1000),\n NumberPart: this.fieldStore.getFieldById(a.FieldId).FieldNumber,\n Standstill: {\n Days: 0,\n Hours: 0,\n Milliseconds: 0,\n Minutes: 0,\n Seconds: 0,\n Ticks: 0,\n TotalDays: 0,\n TotalHours: 0,\n TotalMilliseconds: 0,\n TotalMinutes: 0,\n TotalSeconds: 0,\n Microseconds: 0,\n TotalMicroseconds: 0,\n Nanoseconds: 0,\n TotalNanoseconds: 0\n },\n To: {\n Days: 0,\n Hours: 0,\n Milliseconds: 0,\n Minutes: 0,\n Seconds: 0,\n Ticks: 0,\n TotalDays: 0,\n TotalHours: 0,\n TotalMilliseconds: to.getTime(),\n TotalMinutes: 0,\n TotalSeconds: 0,\n Microseconds: 0,\n TotalMicroseconds: 0,\n Nanoseconds: 0,\n TotalNanoseconds: 0\n },\n Unit1: a.Attachment.Application[0] ? a.Attachment.Application[0].Unit : '',\n Unit2: a.Attachment.Application[1] ? a.Attachment.Application[1].Unit : '',\n Unit3: a.Attachment.Application[2] ? a.Attachment.Application[2].Unit : '',\n Worktype: a.Attachment.WorkType ? a.Attachment.WorkType.Description : ''\n });\n }\n\n const fieldAction = this.items.map(i => (i.SourceItem as IFieldAction));\n const movementTime = fieldAction.map(f =>\n f.Slice.MovementTime).reduce((acc, cur) => acc + cur, 0);\n\n const standStillTime = fieldAction.map(f =>\n f.Slice.StandstillTime).reduce((acc, cur) => acc + cur, 0);\n\n const movementFuel = fieldAction.map(\n f => ApDocuUtils.getSliceMovementProperty(f.Slice, 'fuel', 'Avg') * f.Slice.MovementTime)\n .reduce((acc, cur) => acc + cur, 0);\n\n const standStillFuel = fieldAction.map(\n f => ApDocuUtils.getSliceStandStillProperty(f.Slice, 'fuel', 'Avg') * f.Slice.MovementTime)\n .reduce((acc, cur) => acc + cur, 0);\n\n const reportData: IReportData = {\n Content: {\n HeaderLabels: [\n this.translationStore.FindTranslationForSelectedLanguage('Base__ManagementStyle_Number'),\n this.translationStore.FindTranslationForSelectedLanguage('Base__ManagementStyle_Fieldname'),\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Area'),\n this.translationStore.FindTranslationForSelectedLanguage('Global_Traversed_Area'),\n this.translationStore.FindTranslationForSelectedLanguage('Global_Worked_Area'),\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Date'),\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__From'),\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__To'),\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Duration'),\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Data__TimeOfNonuse'),\n this.translationStore.FindTranslationForSelectedLanguage('AgriConnect__Engine'),\n this.translationStore.FindTranslationForSelectedLanguage('AgriConnect_Ini__Tool'),\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__WorkType'),\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Motorist'),\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__NetPerformance'),\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__GrossPerformance'),\n this.translationStore.FindTranslationForSelectedLanguage('Application') + ' 1',\n this.translationStore.FindTranslationForSelectedLanguage('Amount') + ' 1',\n this.translationStore.FindTranslationForSelectedLanguage('Settings__Lbl_Menu_Unit') + ' 1',\n this.translationStore.FindTranslationForSelectedLanguage('Application') + ' 2',\n this.translationStore.FindTranslationForSelectedLanguage('Amount') + ' 2',\n this.translationStore.FindTranslationForSelectedLanguage('Settings__Lbl_Menu_Unit') + ' 2',\n this.translationStore.FindTranslationForSelectedLanguage('Application') + ' 3',\n this.translationStore.FindTranslationForSelectedLanguage('Amount') + ' 3',\n this.translationStore.FindTranslationForSelectedLanguage('Settings__Lbl_Menu_Unit') + ' 3',\n this.translationStore.FindTranslationForSelectedLanguage('Api_Enums__FuelRate'),\n ],\n Rows: contentRows,\n },\n Footer: {\n FieldTime: {\n Days: 0,\n Hours: 0,\n Milliseconds: 0,\n Minutes: 0,\n Seconds: 0,\n Ticks: 0,\n TotalDays: 0,\n TotalHours: 0,\n TotalMilliseconds: 0,\n TotalMinutes: 0,\n TotalSeconds: movementTime,\n Microseconds: 0,\n TotalMicroseconds: 0,\n Nanoseconds: 0,\n TotalNanoseconds: 0\n },\n FieldTimeFuel: movementFuel,\n FieldTimeLabel: this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Time'),\n FuelLabel: this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Fuel'),\n StandstillLabel: this.translationStore.FindTranslationForSelectedLanguage('Docu_MachineAction__StandStill'),\n StandstillTime: {\n Days: 0,\n Hours: 0,\n Milliseconds: 0,\n Minutes: 0,\n Seconds: 0,\n Ticks: 0,\n TotalDays: 0,\n TotalHours: 0,\n TotalMilliseconds: 0,\n TotalMinutes: 0,\n TotalSeconds: standStillTime,\n Microseconds: 0,\n TotalMicroseconds: 0,\n Nanoseconds: 0,\n TotalNanoseconds: 0\n },\n StandstillTimeFuel: standStillFuel,\n SummaryLabel: this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Summary'),\n SummaryTime: {\n Days: 0,\n Hours: 0,\n Milliseconds: 0,\n Minutes: 0,\n Seconds: 0,\n Ticks: 0,\n TotalDays: 0,\n TotalHours: 0,\n TotalMilliseconds: 0,\n TotalMinutes: 0,\n TotalSeconds: 0,\n Microseconds: 0,\n TotalMicroseconds: 0,\n Nanoseconds: 0,\n TotalNanoseconds: 0\n },\n SummaryTimeFuel: 0,\n TimeLabel: this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Time'),\n },\n Header: {\n Croptype: '',\n CroptypeLabel: this.translationStore.FindTranslationForSelectedLanguage('Nutrients_Pages__Crops'),\n FieldLabel: this.translationStore.FindTranslationForSelectedLanguage('Base__Fields'),\n FieldNames: [this.selectedField.FieldName],\n From: this.dateFrom,\n TimePointLabel: this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Date'),\n To: this.dateTo,\n Worktype: '',\n WorktypeLabel: this.translationStore.FindTranslationForSelectedLanguage('Settings__Lbl_Menu_Worktypes'),\n }\n };\n\n this.fieldDiaryStore.downloadFieldDiary(`${this._getName()}.xlsx`, reportData);\n }\n\n private _isActive(dataItem: any): boolean {\n const fieldAction = dataItem['SourceItem'] as IFieldAction;\n return this.showTrackOnMapService.isActive(fieldAction.Id as string);\n }\n\n private _showTrackOnMap(dataItem): void {\n const fieldAction = dataItem['SourceItem'] as IFieldAction;\n this.showTrackOnMapService.generateGeoJsonByField(fieldAction.Attachment,\n this.fieldStore.getFieldById(fieldAction.Slice.FieldIdOnEnd), fieldAction.Slice.From, fieldAction.Attachment.WorkType);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {\n ApCustomTypes,\n NetTypes,\n PerformanceReportDownload,\n PerformanceReportDownloadSuccess,\n PerformanceReportWrite\n} from 'invoker-transport';\nimport {IStateStore} from '../../ap-interface';\nimport {Store} from '../index';\nimport * as download from 'downloadjs';\nimport IReportData = Agriport.Excel.Factory.InputData.PerformanceReport.IReportData;\nimport {ApSignalrService} from '../../ap-core/services/ap-signalr.service';\n\n\ninterface IPerformanceReportStore extends IStateStore {\n writing: boolean;\n written: boolean;\n}\n\n@Injectable({providedIn: 'root'})\nexport class PerformanceReportStore extends Store {\n constructor(private backend: ApSignalrService) {\n super(backend, {\n loading: false,\n loaded: false,\n data: [],\n writing: false,\n written: false,\n });\n\n // register Actions from Backend\n backend.registerObservable(PerformanceReportDownloadSuccess).subscribe(d => {\n super.Mutate(s => s.writing, () => false);\n super.Mutate(s => s.written, () => true);\n download(d.Data[1], d.Data[0], 'application/excel');\n });\n }\n\n public writePerformanceReport(bookName: string, reportData: IReportData): void {\n super.Mutate(s => s.writing, () => false);\n super.Mutate(s => s.written, () => true);\n this.DispatchBackend(new PerformanceReportWrite([\n {Name: 'bookName', Type: NetTypes.STRING, Value: bookName},\n {\n Name: 'reportData',\n Type: ApCustomTypes.Agriport_Excel_Factory_InputData_PerformanceReport_ReportData,\n Value: reportData\n },\n ]));\n }\n\n public downloadPerformanceReport(bookName: string, reportData: IReportData): void {\n super.Mutate(s => s.writing, () => false);\n super.Mutate(s => s.written, () => true);\n this.DispatchBackend(new PerformanceReportDownload([\n {Name: 'bookName', Type: NetTypes.STRING, Value: bookName},\n {\n Name: 'reportData',\n Type: ApCustomTypes.Agriport_Excel_Factory_InputData_PerformanceReport_ReportData,\n Value: reportData\n },\n ]));\n }\n\n}\n","import {AfterViewInit, Component, EventEmitter, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription} from 'rxjs';\nimport {FormBuilder, Validators} from '@angular/forms';\nimport {ApDocuUtils} from '../../../docu/utils/ap-docu-utils';\nimport {isDate} from 'lodash';\nimport {\n ApGetUtcDatePipe\n} from '../../../stores/pipes/ap-get-utc-date.pipe';\nimport {\n ApDynComponentComponent\n} from '../../../ap-dyncomponent/ap-dyncomponent.component';\nimport {\n ApDynGridColumnConfigBase\n} from '../../../ap-dyngrids/config/ap-dyn-grid-column-config-base';\nimport {\n ApDynformsConfigFieldset\n} from '../../../ap-dynforms/config/ap-dynforms-config-fieldset';\nimport {\n ApDynformsConfigDatepicker\n} from '../../../ap-dynforms/config/ap-dynforms-config-datepicker';\nimport {\n ApDynformsValidator\n} from '../../../ap-dynforms/ap-dynforms-validator';\nimport {\n ApDynformsConfigComboBox\n} from '../../../ap-dynforms/config/ap-dynforms-config-combobox';\nimport {\n ApDynformsConfigMultiSelect\n} from '../../../ap-dynforms/config/ap-dynforms-config-multiselect';\nimport {\n ApDynGridPagerWizardButton,\n ApDynGridPagerWizardConfig,\n ApDynGridPagerWizardExport,\n ApDynGridPagerWizardSection\n} from '../../../ap-dyngrids/config/ap-dyn-grid-pager-wizard-config';\nimport {\n ApShowTrackOnMapService\n} from '../../../ap-utils/service/ap-show-track-on-map.service';\nimport {\n ApDynGridStatusColumnConfig\n} from '../../../ap-dyngrids/config/ap-dyn-grid-status-column-config';\nimport {\n ApDynGridPropertyColumnConfig,\n FilterType\n} from '../../../ap-dyngrids/config/ap-dyn-grid-property-column-config';\nimport {\n ApDynGridButtonColumnConfig\n} from '../../../ap-dyngrids/config/ap-dyn-grid-button-column-config';\nimport {ApGuidUtil, GetRoundNumericPipe} from '../../../ap-utils';\nimport {\n GetKendoDateFormatPipe\n} from '../../../ap-utils/pipes/get-kendo-date-format.pipe';\nimport {DatePipe} from '@angular/common';\nimport {APP_CONFIGURATION} from '../../../ap-core/config';\nimport {map} from 'rxjs/operators';\nimport {MachineStore} from '../../../stores/docu/machine.store';\nimport {DriverStore} from '../../../stores/docu/driver.store';\nimport {\n InstrumentStore\n} from '../../../stores/docu/instrument.store';\nimport {\n CropTypeStore\n} from '../../../stores/base-data/crop.types.store';\nimport {\n ApEditActionComponent\n} from '../../../entry-components/ap-docu-entry-components/ap-edit-action.component';\nimport {\n SettingsStore\n} from '../../../stores/base-data/settings.store';\nimport {FieldStore} from '../../../stores/farm/field.store';\nimport {\n WorkTypesStore\n} from '../../../stores/base-data/worrktypes.store';\nimport {\n CampaignYearStore\n} from '../../../stores/login/campaignyear.store';\nimport {FormStore} from '../../../stores/layout/form.store';\nimport {SliceStore} from '../../../stores/docu/slice.store';\nimport {\n PerformanceReportStore\n} from '../../../stores/evaluation/performance.report.store';\nimport {\n TranslationStore\n} from '../../../stores/translation/translation.store';\nimport {LoginStore} from '../../../stores/login/login.store';\nimport {\n LanguageStore\n} from '../../../stores/translation/language.store';\nimport {\n ApDateService\n} from '../../../ap-core/services/ap-date-service';\nimport * as moment from 'moment-timezone';\nimport ICropTypes = Data.BaseData.ICropTypes;\nimport IMachine = Data.DocuContext.Machine.IMachine;\nimport IInstrument = Data.DocuContext.Instrument.IInstrument;\nimport IDriver = Data.DocuContext.Driver.IDriver;\nimport IWorktypes = Data.BaseData.IWorktypes;\nimport ISlice = Data.DocuContext.Slice.ISlice;\nimport ActionType = Data.Authentication.Enums.ActionType;\nimport ISliceFilter = Data.DocuContext.Slice.ISliceFilter;\nimport IFieldBase = Data.FieldManagement.IFieldBase;\nimport ISettings = Data.BaseData.ISettings;\nimport IField = Data.FieldManagement.IField;\nimport IReportData = Agriport.Excel.Factory.InputData.PerformanceReport.IReportData;\nimport IContentRow = Agriport.Excel.Factory.InputData.PerformanceReport.IContentRow;\nimport ILanguage = Data.Language.ILanguage;\n\n/**\n * Component for the performance-evaluation\n */\n@Component({\n selector: 'ap-performance-evaluation',\n template: `\n \n
\n \n
\n
\n `,\n})\n\nexport class ApPerformanceEvaluationComponent implements OnInit, AfterViewInit, OnDestroy {\n @ViewChild(ApDynComponentComponent, {static: true}) dynComponent: ApDynComponentComponent;\n\n dateFrom: Date = null;\n dateTo: Date = null;\n selectedActions: ActionType = null;\n actions: Array<{ text: string, actionType: ActionType }>;\n selectedCropType: ICropTypes = null;\n cropTypes = new BehaviorSubject([]);\n selectedDriver: IDriver = null;\n drivers = new BehaviorSubject([]);\n selectedFields: IFieldBase[] = [];\n fields = new BehaviorSubject([]);\n fieldsLoading$: Observable;\n selectedInstrument: IInstrument = null;\n instruments = new BehaviorSubject([]);\n selectedMachine: IMachine = null;\n machines = new BehaviorSubject([]);\n minDate = new BehaviorSubject(new Date('1900-01-01'));\n maxDate = new BehaviorSubject(new Date('2099-12-31'));\n loading$: Observable;\n selectedWorkType: IWorktypes = null;\n workTypes = new BehaviorSubject([]);\n language: ILanguage;\n settings: ISettings;\n columns: ApDynGridColumnConfigBase[] = [];\n fieldSets: ApDynformsConfigFieldset[] = [];\n items: any[] = [];\n exportFileName = '';\n pager: ApDynGridPagerWizardConfig;\n\n private actionTypeMap = {\n [ActionType.Movement]: 'Docu_Data__Action',\n [ActionType.No_Movement]: 'Docu_Data__TimeOfNonuse',\n };\n private _onBack = new EventEmitter();\n private _formSubscriptions: Subscription[] = [];\n private _show = new EventEmitter();\n private _subscriptions: Array = [];\n private _xlsExport = new EventEmitter();\n\n constructor(private fb: FormBuilder,\n private campaignYearStore: CampaignYearStore,\n private cropTypeStore: CropTypeStore,\n private datePipe: DatePipe,\n private driversStore: DriverStore,\n private loginStore: LoginStore,\n private fieldStore: FieldStore,\n private formStore: FormStore,\n private instrumentsStore: InstrumentStore,\n private dateService: ApDateService,\n private machinesStore: MachineStore,\n private translationStore: TranslationStore,\n private settingsStore: SettingsStore,\n private showTrackOnMapService: ApShowTrackOnMapService,\n private sliceStore: SliceStore,\n private kendoDateFormat: GetKendoDateFormatPipe,\n private roundPipe: GetRoundNumericPipe,\n private performanceReportStore: PerformanceReportStore,\n private worktypeStore: WorkTypesStore,\n private getUtcDatePipe: ApGetUtcDatePipe,\n private languageStore: LanguageStore) {\n this._subscriptions.push(this.campaignYearStore.Listen(s => s.selectedYear).subscribe(y => {\n if (y === null) {\n return;\n }\n this.minDate.next(this.dateService.toFarmDate(isDate(y.DefaultStart) ? y.DefaultStart : new Date(y.DefaultStart)).toDate());\n this.maxDate.next(this.dateService.toFarmDate(isDate(y.DefaultEnd) ? y.DefaultEnd : new Date(y.DefaultEnd)).toDate());\n\n setTimeout(() => {\n const form = this.dynComponent.getForm();\n if (form) {\n form.get('From').setValue(this.minDate.getValue());\n form.get('To').setValue(this.maxDate.getValue());\n }\n }, 1);\n\n this._onDateChange();\n }));\n this._onBack.subscribe(() => this._enableDetailView(false));\n this._show.subscribe((dataItem) => this._showTrackOnMap(dataItem));\n this._xlsExport.subscribe(() => this._exportAsXls());\n }\n\n /**\n * when the component is loaded\n */\n ngOnInit(): void {\n this.actions = [\n {\n text: this.translationStore.FindTranslationForSelectedLanguage('Docu_Data__Action'),\n actionType: ActionType.Movement\n },\n {\n text: this.translationStore.FindTranslationForSelectedLanguage('Docu_Data__TimeOfNonuse'),\n actionType: ActionType.No_Movement\n }\n ];\n\n this.getDataFromStore();\n this.formBuilder();\n }\n\n ngAfterViewInit(): void {\n this._subscribeToFormControls();\n }\n\n /**\n * cleanup subscriptions\n */\n ngOnDestroy(): void {\n this._formSubscriptions.forEach(f => f.unsubscribe());\n this._subscriptions.forEach(d => d.unsubscribe());\n this.showTrackOnMapService.clear();\n }\n\n /**\n * retrieves all data from the store\n */\n getDataFromStore(): void {\n this.language = this.languageStore.SelectedLanguage;\n this._subscriptions.push(this.settingsStore.FirstSetting$.subscribe(s => this.settings = s));\n this._subscriptions.push(this.cropTypeStore.Listen(s => s.data).subscribe(c => {\n this.cropTypes.next(c.filter(ct => ct.Selected));\n }));\n\n this._subscriptions.push(this.driversStore.Listen(d => d.data).subscribe(() => {\n this.drivers.next(this.driversStore.Listen(_ => _.data).getValue());\n }));\n\n this._subscriptions.push(this.instrumentsStore.Listen(s => s.data).subscribe(() => {\n this.instruments.next(this.instrumentsStore.Listen(_ => _.data).getValue());\n }));\n\n this._subscriptions.push(this.machinesStore.Listen(s => s.data).subscribe(() => {\n this.machines.next(this.machinesStore.Listen(_ => _.data).getValue());\n }));\n\n this._subscriptions.push(this.worktypeStore.Listen(s => s.data).subscribe(() => {\n this.workTypes.next(this.worktypeStore.Listen(_ => _.data).getValue());\n }));\n\n this.fieldsLoading$ = this.fieldStore.Listen(s => s.loading);\n this._subscriptions.push(this.fieldStore.Listen(s => s.selectedFieldsRange).subscribe(\n () => {\n this.fields.next([\n {\n Id: ApGuidUtil.getEmptyGuid(),\n FieldName: this.translationStore.FindTranslationForSelectedLanguage('Docu_Data__Outside'),\n FarmId: this.loginStore.SelectedFarmId,\n FieldNumber: undefined,\n FieldSubnumber: undefined,\n ValidFrom: new Date(),\n ValidTo: new Date(),\n FieldCrops: []\n },\n ...this.fieldStore.Listen(_ => _.selectedFieldsRange).getValue().map(field => ({\n field,\n FieldName: this.fieldStore.getFieldName(field as IField)\n })).sort((a, b) => a.FieldName < b.FieldName ? -1 : 1)\n ]);\n }\n ));\n\n this.loading$ =\n combineLatest([this.fieldStore.Listen(s => s.loading), this.sliceStore.Listen(s => s.loading)])\n .pipe(map(([f, a]) => f || a));\n this._subscriptions.push(\n combineLatest([this.fieldStore.Listen(s => s.data), this.sliceStore.Listen(s => s.data)]).subscribe(([f, d]) => {\n if (!f || f.length === 0 || !d) {\n return;\n }\n\n const statusDesc = {\n 1: this.translationStore.FindTranslationForSelectedLanguage('Docu_Is_Modified'),\n 0: this.translationStore.FindTranslationForSelectedLanguage('Docu_Not_Modified'),\n '-1': this.translationStore.FindTranslationForSelectedLanguage('Docu_Invalid')\n };\n\n this.items = d.map((data: ISlice) => {\n const field = this.fieldStore.getFieldById(data.FieldIdOnEnd);\n return {\n Id: data.Id,\n SourceItem: data,\n Field: field,\n Date: this.dateService.getDateMidnight(this.dateService.toFarmDateFromUtcGetJsDate(data.From)),\n TimeFrom: moment(this.dateService.toFarmDateFromUtcGetJsDate(data.From)).format('HH:mm'),\n TimeTo: moment(this.dateService.toFarmDateFromUtcGetJsDate(data.To)).format('HH:mm'),\n DurationTime: ApDocuUtils.formatDuration(data.Duration * 1000),\n Speed: this.roundPipe.transform(ApDocuUtils.getSliceProperty(data, 'speed', 'Avg'),\n this.settings.DigitsAfterDecimalPoint),\n Status: data.Attachment.Status,\n StatusDesc: statusDesc[data.Attachment.Status.toString()],\n StatusClass: data.Attachment.Status === -1 ? 'ap-status-red' :\n data.Attachment.Status === 1 ? 'ap-status-green' : 'ap-status-yellow',\n ActionType: this.translationStore.FindTranslationForSelectedLanguage(this.actionTypeMap[data.Type]),\n WorkTypeText: this.translationStore.FindTranslationForSelectedLanguage(data.Attachment.WorkType?.Description),\n DriverName: data.Attachment.Driver?.FullName ?? ''\n };\n });\n }));\n }\n\n formBuilder(): void {\n this.fieldSets = [\n new ApDynformsConfigFieldset({\n key: 'performanceEvaluation',\n config: [\n new ApDynformsConfigDatepicker({\n key: 'From',\n value: this.dateFrom,\n format: this.language.DateFormat,\n minDate: this.minDate,\n maxDate: this.maxDate,\n label: 'Docu_Ini__From',\n validators: [\n new ApDynformsValidator({validator: Validators.required, errorKey: ''}),\n ]\n }),\n new ApDynformsConfigDatepicker({\n key: 'To',\n value: this.dateTo,\n format: this.language.DateFormat,\n minDate: this.minDate,\n maxDate: this.maxDate,\n label: 'Docu_Ini__To',\n validators: [\n new ApDynformsValidator({validator: Validators.required, errorKey: ''}),\n ]\n }),\n new ApDynformsConfigComboBox({\n key: 'Driver',\n value: this.selectedDriver,\n valuePrimitive: false,\n options: this.drivers,\n textField: 'FullName',\n valueField: 'Id',\n placeholder: 'Global__All',\n label: 'Docu_Ini__Motorist',\n clearButton: true,\n sort: 1,\n dependsOn: [\n 'From',\n 'To'\n ]\n }),\n new ApDynformsConfigComboBox({\n key: 'CropType',\n value: this.selectedCropType,\n valuePrimitive: false,\n options: this.cropTypes,\n textField: 'Description',\n valueField: 'CropKey',\n placeholder: 'Global__All',\n label: 'Docu_Ini__CropType',\n clearButton: true,\n sort: 1,\n dependsOn: [\n 'From',\n 'To'\n ]\n }),\n new ApDynformsConfigComboBox({\n key: 'Machine',\n value: this.selectedMachine,\n valuePrimitive: false,\n options: this.machines,\n textField: 'NameWithSign',\n valueField: 'Id',\n placeholder: 'Global__All',\n label: 'Docu_Ini__Engine',\n clearButton: true,\n sort: 1,\n dependsOn: [\n 'From',\n 'To'\n ]\n }),\n new ApDynformsConfigComboBox({\n key: 'Action',\n value: this.selectedActions,\n valuePrimitive: false,\n options: this.actions,\n textField: 'text',\n valueField: 'actionType',\n placeholder: 'Global__All',\n label: 'Docu_Ini__Action',\n clearButton: true,\n sort: 1,\n dependsOn: [\n 'From',\n 'To'\n ]\n }),\n new ApDynformsConfigComboBox({\n key: 'Instrument',\n value: this.selectedInstrument,\n valuePrimitive: false,\n options: this.instruments,\n textField: 'Name',\n valueField: 'Id',\n placeholder: 'Global__All',\n label: 'Docu_Ini__Tool',\n clearButton: true,\n sort: 1,\n dependsOn: [\n 'From',\n 'To'\n ]\n }),\n new ApDynformsConfigComboBox({\n key: 'WorkType',\n value: this.selectedWorkType,\n valuePrimitive: false,\n options: this.workTypes,\n textField: 'Description',\n valueField: 'Id',\n placeholder: 'Global__All',\n label: 'Docu_Ini__WorkType',\n clearButton: true,\n sort: 1,\n dependsOn: [\n 'From',\n 'To'\n ]\n }),\n new ApDynformsConfigMultiSelect({\n key: 'Fields',\n value: this.selectedFields,\n valuePrimitive: false,\n options: this.fields,\n textField: 'FieldName',\n valueField: 'Id',\n placeholder: 'Global__All',\n label: 'Docu_Ini__Fields',\n loading$: this.fieldsLoading$,\n clearButton: true,\n dependsOn: [\n 'From',\n 'To'\n ]\n })\n ]\n })\n ];\n }\n\n gridBuilder(): void {\n this.columns = [\n new ApDynGridStatusColumnConfig({\n field: 'Status', class: 'StatusClass', description: 'StatusDesc'\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'Date',\n title: 'Docu_Ini__Date',\n format: this.language.DateFormat,\n width: 95\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'TimeFrom',\n title: 'Docu_Ini__From',\n width: 75\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'TimeTo',\n title: 'Docu_Ini__To',\n width: 75\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'DurationTime',\n title: 'Docu_Ini__Duration',\n width: 75\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.Attachment.Machine.Name',\n title: 'Docu_Ini__Engine'\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.Attachment.Machine.Sign',\n title: 'Docu_Ini__NumberPlate', width: 90\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.Attachment.Instrument.Name',\n title: 'Docu_Ini__Tool', width: 110,\n hide: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'WorkTypeText',\n title: 'Docu_Ini__WorkType', width: 110,\n hide: true\n }),\n new ApDynGridPropertyColumnConfig({field: 'DriverName', title: 'Docu_Ini__Motorist', hide: true}),\n new ApDynGridPropertyColumnConfig({field: 'ActionType', title: 'Docu_Ini__Action', width: 85}),\n new ApDynGridPropertyColumnConfig({field: 'Field.FieldName', title: 'Docu_Ini__Field', hide: true}),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.Way', title: 'Docu_Ini__Track',\n cssClass: 'right', filterType: FilterType.NUMBER, hide: true,\n pipes: [\n {\n pipe: this.roundPipe,\n args: [\n this.settingsStore.FirstSetting.DigitsAfterDecimalPoint,\n ]\n }\n ],\n width: 100, unit: this.translationStore.FindTranslationForSelectedLanguage('Base__UnitKm')\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'Speed', title: 'Docu_Ini__Speed', hide: true,\n cssClass: 'right', filterType: FilterType.NUMBER, width: 100,\n pipes: [\n {\n pipe: this.roundPipe,\n args: [\n this.settingsStore.FirstSetting.DigitsAfterDecimalPoint,\n ]\n }\n ],\n unit: this.translationStore.FindTranslationForSelectedLanguage('Unit__km_h')\n }),\n new ApDynGridButtonColumnConfig({\n imageUrl: APP_CONFIGURATION.ButtonZoomToMapImage,\n disabled: (slice) => slice.SourceItem.Attachment.Logger === null,\n callback: this._show,\n selected: this._isActive.bind(this),\n itemBusy$: this.showTrackOnMapService.getPendingSubject.bind(this.showTrackOnMapService)\n })\n ];\n\n this.pager = new ApDynGridPagerWizardConfig(\n new ApDynGridPagerWizardButton('Global_Back_With_Arrow', this._onBack),\n new ApDynGridPagerWizardSection(),\n new ApDynGridPagerWizardExport({xlsCallback: this._xlsExport})\n );\n }\n\n onCreate(): void {\n this.formStore.openForm({component: ApEditActionComponent, data: null});\n }\n\n onSubmitClick(): void {\n const controls = this.dynComponent.getForm().controls;\n this.selectedDriver = controls['Driver'].value;\n this.selectedMachine = controls['Machine'].value;\n this.selectedActions = controls['Action'].value;\n this.selectedFields = controls['Fields'].value;\n this.selectedInstrument = controls['Instrument'].value;\n this.selectedCropType = controls['CropType'].value;\n this.selectedWorkType = controls['WorkType'].value;\n this._enableDetailView(true);\n }\n\n private _enableDetailView(showDetails: boolean): void {\n if (showDetails) {\n const farmId = this.loginStore.SelectedFarmId;\n const filter: ISliceFilter = {\n Actions: this.selectedActions ? [this.selectedActions] : [],\n CropTypes: this.selectedCropType ? [this.selectedCropType] : [],\n Drivers: this.selectedDriver ? [this.selectedDriver] : [],\n Fields: this.selectedFields.map(f => f.Id),\n Instruments: this.selectedInstrument ? [this.selectedInstrument] : [],\n Machines: this.selectedMachine ? [this.selectedMachine] : [],\n WorkTypes: this.selectedWorkType ? [this.selectedWorkType] : []\n };\n\n const from = this.getUtcDatePipe.transform(this.dateFrom).toDate();\n const to = this.getUtcDatePipe.transform(this.dateTo).add({\n hours: 23,\n minutes: 59,\n seconds: 59,\n milliseconds: 999\n }).toDate();\n\n this.sliceStore.loadSlices(farmId, from, to, filter);\n this.exportFileName = this._getName();\n this.fieldSets = [];\n this.gridBuilder();\n } else {\n this.columns = [];\n this.formBuilder();\n this.showTrackOnMapService.clear();\n setTimeout(() => this._subscribeToFormControls(), 1);\n }\n }\n\n private _getName(): string {\n let name = `${this.loginStore.SelectedFarm.FarmName}`;\n\n name += `_${this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__EvaluationActivity')}`;\n name += `_${this.dateFrom.toLocaleDateString()}`;\n\n if (this.dateFrom !== this.dateTo) {\n name += `_${this.dateTo.toLocaleDateString()}`;\n }\n\n if (this.selectedDriver) {\n name += `_${this.selectedDriver.Name}_${this.selectedDriver.Firstname}`;\n }\n\n if (this.selectedMachine) {\n name += `_${this.selectedMachine.Name}`;\n }\n\n if (this.selectedInstrument) {\n name += `_${this.selectedInstrument.Name}`;\n }\n\n if (this.selectedActions) {\n name += `_${this.translationStore.FindTranslationForSelectedLanguage(this.actionTypeMap[this.selectedActions])}`;\n }\n\n if (this.selectedWorkType) {\n name += `_${this.selectedWorkType.Description}`;\n }\n\n if (this.selectedCropType) {\n name += `_${this.selectedCropType.Description}`;\n }\n\n this.selectedFields.forEach(f => name += `_${this.fieldStore.getFieldName(f)}`);\n\n return name;\n }\n\n private _isActive(e: any): boolean {\n return this.showTrackOnMapService.isActive(e.Id);\n }\n\n private _showTrackOnMap(dataItem): void {\n const slice = dataItem['SourceItem'] as ISlice;\n this.showTrackOnMapService.generateGeoJsonBySlice(slice);\n }\n\n private _exportAsXls(): void {\n const contentRows: IContentRow[] = [];\n for (let i = 0; i < (this.items as []).length; ++i) {\n const s = this.items[i].SourceItem as ISlice;\n const timeFrom = new Date(s.From);\n const timeTo = new Date(s.To);\n const endField = this.fieldStore.getFieldById(s.FieldIdOnEnd);\n contentRows.push({\n Action: this.translationStore.FindTranslationForSelectedLanguage(this.actionTypeMap[s.Type]),\n AvgEnginePower: ApDocuUtils.getSliceProperty(s, 'engine_power', 'Avg'),\n AvgEngineTorque: ApDocuUtils.getSliceProperty(s, 'engine_speed', 'Avg'),\n AvgSpeed: ApDocuUtils.getSliceProperty(s, 'speed', 'Avg'),\n Day: s.From,\n Driver: s.Attachment.Driver?.FullName ?? '',\n Duration: {\n Days: 0,\n Hours: 0,\n Milliseconds: 0,\n Minutes: 0,\n Seconds: 0,\n Ticks: 0,\n TotalDays: 0,\n TotalHours: 0,\n TotalMilliseconds: 0,\n TotalMinutes: 0,\n TotalSeconds: s.Duration != null ? s.Duration : 0,\n Microseconds: 0,\n TotalMicroseconds: 0,\n Nanoseconds: 0,\n TotalNanoseconds: 0\n },\n FieldName: endField ? endField.FieldName : '',\n From: {\n Days: 0,\n Hours: timeFrom.getHours(),\n Milliseconds: 0,\n Minutes: timeFrom.getMinutes(),\n Seconds: timeFrom.getSeconds(),\n Ticks: 0,\n TotalDays: 0,\n TotalHours: 0,\n TotalMilliseconds: 0,\n TotalMinutes: 0,\n TotalSeconds: 0,\n Microseconds: 0,\n TotalMicroseconds: 0,\n Nanoseconds: 0,\n TotalNanoseconds: 0\n },\n FuelTotal: ApDocuUtils.getSliceProperty(s, 'fuel_total', 'Avg'),\n Instrument: s.Attachment.Instrument ? s.Attachment.Instrument.Name : '',\n MachineName: s.Attachment.Machine?.NameWithSign ?? '',\n To: {\n Days: 0,\n Hours: timeTo.getHours(),\n Milliseconds: 0,\n Minutes: timeTo.getMinutes(),\n Seconds: timeTo.getSeconds(),\n Ticks: 0,\n TotalDays: 0,\n TotalHours: 0,\n TotalMilliseconds: 0,\n TotalMinutes: 0,\n TotalSeconds: 0,\n Microseconds: 0,\n TotalMicroseconds: 0,\n Nanoseconds: 0,\n TotalNanoseconds: 0\n },\n Way: s.Way !== null && s.Way !== undefined ? s.Way : 0,\n Worktype: s.Attachment.WorkType ? s.Attachment.WorkType.Description : '',\n });\n }\n\n const reportData: IReportData = {\n Content: {\n HeaderLabels: [\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Date'),\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__From'),\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__To'),\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Duration'),\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Track'),\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Action'),\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Field'),\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Motorist'),\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Engine'),\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Tool'),\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__WorkType'),\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Speed'),\n this.translationStore.FindTranslationForSelectedLanguage('Api_Enums__FuelRate'),\n this.translationStore.FindTranslationForSelectedLanguage('Api_Enums__EngineSpeed'),\n this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Engine_Power')\n ],\n Rows: contentRows\n },\n Header: {\n Actions: this.selectedActions !== null ?\n [this.translationStore.FindTranslationForSelectedLanguage(this.actionTypeMap[this.selectedActions])] : [],\n ActionsLabel: this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Action'),\n Croptype: this.selectedCropType !== null ? this.selectedCropType.Description : '',\n CroptypeLabel: this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__CropType'),\n Driver: this.selectedDriver?.FullName ?? '',\n DriverLabel: this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Motorist'),\n FieldLabel: this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Fields'),\n FieldNames: this.selectedFields.map(f => f.FieldName),\n From: new Date(this.dateFrom),\n InstrumentLabel: this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Tool'),\n InstrumentName: this.selectedInstrument !== null ? this.selectedInstrument.Name : '',\n MachineLabel: this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__Engine'),\n MachineName: this.selectedMachine?.NameWithSign ?? '',\n TimePointLabel: this.translationStore.FindTranslationForSelectedLanguage('Docu_Pages__EvaluationPeriod'),\n To: new Date(this.dateTo),\n Worktype: this.selectedWorkType !== null ? this.selectedWorkType.Description : '',\n WorktypeLabel: this.translationStore.FindTranslationForSelectedLanguage('Docu_Ini__WorkType')\n }\n };\n\n this.performanceReportStore.downloadPerformanceReport(`${this._getName()}.xlsx`, reportData);\n }\n\n private _onDateChange(): void {\n if (this.dateFrom !== null && this.dateTo !== null) {\n const convertedDateFrom = this.dateService.toFarmDate(this.dateFrom).toDate();\n const convertedDateTo = this.dateService.toFarmDate(this.dateTo).toDate();\n this.fieldStore.loadFieldsFromRange(convertedDateFrom, convertedDateTo);\n }\n }\n\n private _subscribeToFormControls(): void {\n const form = this.dynComponent.getForm();\n this._formSubscriptions.forEach(d => {\n d.unsubscribe();\n });\n this._formSubscriptions.push(form.get('From').valueChanges.subscribe((date: Date) => {\n this.dateFrom = date;\n this._onDateChange();\n }));\n this._formSubscriptions.push(form.get('To').valueChanges.subscribe((date: Date) => {\n this.dateTo = date;\n this._onDateChange();\n }));\n this._formSubscriptions.push(form.get('CropType').valueChanges.subscribe((cropType: ICropTypes) => {\n if (cropType === null) {\n return;\n }\n form.get('Fields').setValue([]);\n }));\n this._formSubscriptions.push(form.get('Fields').valueChanges.subscribe((fields: IField[]) => {\n if (fields.length === 0) {\n return;\n }\n form.get('CropType').setValue(null);\n }));\n }\n}\n","import {NgModule} from '@angular/core';\nimport {Route, RouterModule} from '@angular/router';\nimport {PageMode} from '../ap-interface';\nimport {ApFieldDiaryEvaluationComponent} from './components/field-diary/ap-field-diary-evaluation.component';\nimport {ApPerformanceEvaluationComponent} from './components/performance-evaluation/ap-performance-evaluation.component';\nimport {ApPermissionGuard} from '../guards/ap-permission-guard.service';\n\nconst routes: Route[] = [\n {\n path: 'performance-evaluation',\n component: ApPerformanceEvaluationComponent,\n canActivate: [ApPermissionGuard],\n data: {\n login: true,\n layout: PageMode.HALFSCREEN,\n }\n },\n {\n path: 'field-diary-evaluation',\n component: ApFieldDiaryEvaluationComponent,\n canActivate: [ApPermissionGuard],\n data: {\n login: true,\n layout: PageMode.HALFSCREEN\n }\n },\n];\n\n@NgModule({\n imports: [\n RouterModule.forChild(routes)\n ],\n exports: [\n RouterModule\n ]\n})\nexport class ApEvaluationRoutes {\n}\n","import {NgModule} from '@angular/core';\nimport {ApFieldDiaryEvaluationComponent} from './components/field-diary/ap-field-diary-evaluation.component';\nimport {ApPerformanceEvaluationComponent} from './components/performance-evaluation/ap-performance-evaluation.component';\nimport {CommonModule, DatePipe} from '@angular/common';\nimport {ApEvaluationRoutes} from './ap-evaluation.routes';\nimport {ApCoreModule} from '../ap-core/ap-core.module';\nimport {BodyModule, GridModule, HeaderModule, PagerModule, PDFModule, SharedModule} from '@progress/kendo-angular-grid';\nimport {ApTranslationModule} from '../translation/ap-translation.module';\nimport {ApUtilsModule} from '../ap-utils';\nimport {ApIconModule} from '../icons/ap-icon.module';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {\n DateInputModule,\n DateRangeModule,\n MultiViewCalendarModule\n} from '@progress/kendo-angular-dateinputs';\nimport {\n ComboBoxModule,\n DropDownListModule,\n MultiSelectModule\n} from '@progress/kendo-angular-dropdowns';\nimport {ButtonsModule} from '@progress/kendo-angular-buttons';\nimport {PDFExportModule} from '@progress/kendo-angular-pdf-export';\nimport {GetKendoDateFormatPipe} from '../ap-utils/pipes/get-kendo-date-format.pipe';\nimport {ApDynComponentModule} from '../ap-dyncomponent/ap-dyncomponent.module';\nimport {ApResponsiveTextModule} from '../ap-responsive-text/ap-responsive-text.module';\nimport {ApSectionHeaderModule} from '../ap-section-header/ap-section-header.module';\nimport {ApTooltipModule} from '../ap-tooltip/ap-tooltip.module';\n\n@NgModule({\n declarations: [\n ApFieldDiaryEvaluationComponent,\n ApPerformanceEvaluationComponent,\n ],\n imports: [\n CommonModule,\n ApEvaluationRoutes,\n ApCoreModule,\n GridModule,\n BodyModule,\n SharedModule,\n HeaderModule,\n ApTranslationModule,\n ApUtilsModule,\n ApIconModule,\n ReactiveFormsModule,\n DateRangeModule,\n DateInputModule,\n MultiViewCalendarModule,\n MultiSelectModule,\n FormsModule,\n ComboBoxModule,\n DropDownListModule,\n ButtonsModule,\n PagerModule,\n PDFModule,\n PDFExportModule,\n ApDynComponentModule,\n ApResponsiveTextModule,\n ApSectionHeaderModule,\n ApTooltipModule\n ],\n exports: [\n ApFieldDiaryEvaluationComponent,\n ApPerformanceEvaluationComponent,\n ],\n providers: [\n DatePipe,\n GetKendoDateFormatPipe\n ]\n})\nexport class ApEvaluationModule {\n}\n"],"sourceRoot":"webpack:///","file":"696.ddaaab1e5b02b75f.js"}