@gesagro/jaspion-sdk 2.0.11 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/report.ts","../src/namespaces/pig-master/reports/birth-place-list.ts","../src/namespaces/pig-master/reports/boar-by-breed-list.ts","../src/namespaces/pig-master/reports/boar-death-collection-form.ts","../src/namespaces/pig-master/reports/boar-death-list.ts","../src/namespaces/pig-master/reports/boar-discard-collection-form.ts","../src/namespaces/pig-master/reports/boar-discard-list.ts","../src/namespaces/pig-master/reports/boar-ear-tag-replacement-list.ts","../src/namespaces/pig-master/reports/boar-treatment-collection-form.ts","../src/namespaces/pig-master/reports/boar-treatment-list.ts","../src/namespaces/pig-master/reports/boars-inventory.ts","../src/namespaces/pig-master/reports/breed-list.ts","../src/namespaces/pig-master/reports/breeding-monitor.ts","../src/namespaces/pig-master/reports/breeding-projection.ts","../src/namespaces/pig-master/reports/cause-list.ts","../src/namespaces/pig-master/reports/drug-list.ts","../src/namespaces/pig-master/reports/employee-list.ts","../src/namespaces/pig-master/reports/farm-summary.ts","../src/namespaces/pig-master/reports/farrowing-analysis.ts","../src/namespaces/pig-master/reports/farrowing-collection-form.ts","../src/namespaces/pig-master/reports/farrowing-forecast.ts","../src/core/to-snake-case.ts","../src/namespaces/pig-master/reports/farrowing-list.ts","../src/namespaces/pig-master/reports/farrowing-type-list.ts","../src/namespaces/pig-master/reports/female-swine-arrival-monitoring.ts","../src/namespaces/pig-master/reports/female-swine-by-breed-list.ts","../src/namespaces/pig-master/reports/female-swine-by-parity-list.ts","../src/namespaces/pig-master/reports/female-swine-by-status-list.ts","../src/namespaces/pig-master/reports/female-swine-by-traceability-list.ts","../src/namespaces/pig-master/reports/female-swine-death-analysis.ts","../src/namespaces/pig-master/reports/female-swine-death-collection-form.ts","../src/namespaces/pig-master/reports/female-swine-death-list.ts","../src/namespaces/pig-master/reports/female-swine-discard-analysis.ts","../src/namespaces/pig-master/reports/female-swine-discard-collection-form.ts","../src/namespaces/pig-master/reports/female-swine-discard-list.ts","../src/namespaces/pig-master/reports/female-swine-ear-tag-replacement-list.ts","../src/namespaces/pig-master/reports/female-swine-inventory.ts","../src/namespaces/pig-master/reports/female-swine-pending-action-list.ts","../src/namespaces/pig-master/reports/female-swine-pre-discard-list.ts","../src/namespaces/pig-master/reports/female-swine-record.ts","../src/namespaces/pig-master/reports/female-swine-sale-planning-list.ts","../src/namespaces/pig-master/reports/female-swine-treatment-collection-form.ts","../src/namespaces/pig-master/reports/female-swine-treatment-list.ts","../src/namespaces/pig-master/reports/finishing-piglet-death-collection-form.ts","../src/namespaces/pig-master/reports/flushing-female-swine-list.ts","../src/namespaces/pig-master/reports/flushing-monitor.ts","../src/namespaces/pig-master/reports/gilt-inventory.ts","../src/namespaces/pig-master/reports/gta-list.ts","../src/namespaces/pig-master/reports/heat-detection-collection-form.ts","../src/namespaces/pig-master/reports/heat-detection-list.ts","../src/namespaces/pig-master/reports/heat-monitoring.ts","../src/namespaces/pig-master/reports/location-list.ts","../src/namespaces/pig-master/reports/maternity-piglet-death-analysis.ts","../src/namespaces/pig-master/reports/maternity-piglet-death-collection-form.ts","../src/namespaces/pig-master/reports/maternity-piglet-death-list.ts","../src/namespaces/pig-master/reports/maternity-piglet-transfer-collection-form.ts","../src/namespaces/pig-master/reports/maternity-piglet-transfer-list.ts","../src/namespaces/pig-master/reports/mating-analysis.ts","../src/namespaces/pig-master/reports/mating-collection-form.ts","../src/namespaces/pig-master/reports/mating-group-list.ts","../src/namespaces/pig-master/reports/mating-list.ts","../src/namespaces/pig-master/reports/mating-overview.ts","../src/namespaces/pig-master/reports/mbrf-female-swine-record.ts","../src/namespaces/pig-master/reports/nursery-piglet-death-collection-form.ts","../src/namespaces/pig-master/reports/origin-list.ts","../src/namespaces/pig-master/reports/parity-structure.ts","../src/namespaces/pig-master/reports/pre-flushing-female-swine-list.ts","../src/namespaces/pig-master/reports/pregnant-female-swine-list.ts","../src/namespaces/pig-master/reports/pregnant-female-swine-sale-list.ts","../src/namespaces/pig-master/reports/reproductive-failure-analysis.ts","../src/namespaces/pig-master/reports/reproductive-failure-collection-form.ts","../src/namespaces/pig-master/reports/reproductive-failure-list.ts","../src/namespaces/pig-master/reports/score-list.ts","../src/namespaces/pig-master/reports/weaning-analysis.ts","../src/namespaces/pig-master/reports/weaning-collection-form.ts","../src/namespaces/pig-master/reports/weaning-forecast.ts","../src/namespaces/pig-master/reports/weaning-list.ts","../src/namespaces/pig-master/reports/weaning-overview.ts","../src/namespaces/pig-master/index.ts","../src/jaspion.ts"],"sourcesContent":["import type { HttpClient } from './http-client'\n\ntype ContentType = 'application/pdf' | 'text/csv'\n\nexport interface Parameter {\n key: string\n value: string | number | boolean | null\n}\n\nexport interface Resource {\n key: string\n value: string\n}\n\nexport interface RequestReportInput {\n contentType: ContentType\n parameters: Parameter[]\n resources: Resource[]\n}\n\nexport abstract class Report {\n abstract readonly template: string\n abstract fileName: string\n\n constructor(private readonly http: HttpClient) {}\n\n protected async requestPdf(input: Omit<RequestReportInput, 'contentType'>) {\n await this.request({\n ...input,\n contentType: 'application/pdf',\n })\n }\n\n protected async requestCsv(input: Omit<RequestReportInput, 'contentType'>) {\n await this.request({\n ...input,\n contentType: 'text/csv',\n })\n }\n\n private async request({\n contentType,\n parameters,\n resources,\n }: RequestReportInput) {\n const fileExtensions: Record<ContentType, string> = {\n 'application/pdf': '.pdf',\n 'text/csv': '.csv',\n }\n\n const fileName = `${this.fileName}${fileExtensions[contentType]}`\n\n return this.http.request({\n method: 'POST',\n path: '/reports',\n body: {\n template: this.template,\n fileName,\n parameters,\n resources,\n contentType,\n type: 'jasper-reports',\n },\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\n\ninterface BirthPlaceListInput {\n farmId: string\n language: Language\n}\n\nexport class BirthPlaceList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/birth-place-list'\n fileName = 'Listagem de procedências'\n\n async pdf(input: BirthPlaceListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: BirthPlaceListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: BirthPlaceListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: BirthPlaceListInput) {\n return [{ key: 'LOCATE', value: input.language.replace('-', '_') }]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface BoarByBreedListInput {\n farmId: string\n language: Language\n breedId: string | null\n calendarType: CalendarType\n}\n\nexport class BoarByBreedList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/boar-by-breed-list'\n fileName = 'Machos por raça'\n\n async pdf(input: BoarByBreedListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: BoarByBreedListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: BoarByBreedListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: BoarByBreedListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'CALENDAR', value: input.calendarType },\n ]\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface BoarDeathCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class BoarDeathCollectionForm extends Report implements PdfReport {\n readonly template = '@pig-master/boar-death-collection-form'\n fileName = 'Morte de macho'\n\n async pdf(input: BoarDeathCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface BoarDeathListInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n arrivalDateRange: { start: string; end: string } | null\n language: Language\n causeId: string | null\n breedId: string | null\n originId: string | null\n birthPlaceId: string | null\n calendarType: CalendarType\n}\n\nexport class BoarDeathList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/boar-death-list'\n fileName = 'Mortes de machos'\n\n async pdf(input: BoarDeathListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: BoarDeathListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: BoarDeathListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: BoarDeathListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'CAUSE_ID', value: input.causeId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CALENDAR', value: input.calendarType },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n ]\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface BoarDiscardCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class BoarDiscardCollectionForm extends Report implements PdfReport {\n readonly template = '@pig-master/boar-discard-collection-form'\n fileName = 'Descarte de macho'\n\n async pdf(input: BoarDiscardCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface BoarDiscardListInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n arrivalDateRange: { start: string; end: string } | null\n language: Language\n causeId: string | null\n breedId: string | null\n originId: string | null\n birthPlaceId: string | null\n recipientId: string | null\n calendarType: CalendarType\n}\n\nexport class BoarDiscardList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/boar-discard-list'\n fileName = 'Descartes de machos'\n\n async pdf(input: BoarDiscardListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: BoarDiscardListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: BoarDiscardListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: BoarDiscardListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'CAUSE_ID', value: input.causeId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'RECIPIENT_ID', value: input.recipientId },\n { key: 'CALENDAR', value: input.calendarType },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface BoarEarTagReplacementListInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n oldEarTag: string | null\n newEarTag: string | null\n calendarType: CalendarType\n}\n\nexport class BoarEarTagReplacementList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/boar-ear-tag-replacement-list'\n fileName = 'Trocas de brinco de macho'\n\n async pdf(input: BoarEarTagReplacementListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: BoarEarTagReplacementListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: BoarEarTagReplacementListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: BoarEarTagReplacementListInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'OLD_EAR_TAG', value: input.oldEarTag },\n { key: 'NEW_EAR_TAG', value: input.newEarTag },\n { key: 'CALENDAR', value: input.calendarType },\n ]\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface BoarTreatmentCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class BoarTreatmentCollectionForm extends Report implements PdfReport {\n readonly template = '@pig-master/boar-treatment-collection-form'\n fileName = 'Medicação / vacinação de macho'\n\n async pdf(input: BoarTreatmentCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface BoarTreatmentListInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n calendarType: CalendarType\n language: Language\n boarId: string | null\n}\n\nexport class BoarTreatmentList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/boar-treatment-list'\n fileName = 'Listagem de medicações / vacinas (machos)'\n\n async pdf(input: BoarTreatmentListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: BoarTreatmentListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: BoarTreatmentListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: BoarTreatmentListInput) {\n return [\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'BOAR_ID', value: input.boarId },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface BoarsInventoryInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n}\n\nexport class BoarsInventory extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/boars-inventory'\n fileName = 'Estoque de machos'\n\n async pdf(input: BoarsInventoryInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: BoarsInventoryInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: BoarsInventoryInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: BoarsInventoryInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\n\ninterface BreedListInput {\n farmId: string\n language: Language\n}\n\nexport class BreedList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/breed-list'\n fileName = 'Listagem de raças'\n\n async pdf(input: BreedListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: BreedListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: BreedListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: BreedListInput) {\n return [{ key: 'LOCATE', value: input.language.replace('-', '_') }]\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface BreedingMonitorInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n}\n\nexport class BreedingMonitor extends Report implements PdfReport {\n readonly template = '@pig-master/breeding-monitor'\n fileName = 'Monitor de Reprodução'\n\n async pdf(input: BreedingMonitorInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface BreedingProjectionInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n}\n\nexport class BreedingProjection extends Report implements PdfReport {\n readonly template = '@pig-master/breeding-projection'\n fileName = 'Projeção de reprodução'\n\n async pdf(input: BreedingProjectionInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: BreedingProjectionInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: BreedingProjectionInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: BreedingProjectionInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { OrderBy } from '../core/order-by'\n\ninterface CauseListInput {\n farmId: string\n language: Language\n description: string | null\n orderBy: OrderBy<'name' | 'createdAt'>\n availability:\n | 'reproductive-failure'\n | 'female-swine-discard'\n | 'female-swine-death'\n | 'boar-discard'\n | 'boar-death'\n | 'maternity-piglet-death'\n | 'nursery-piglet-death'\n | 'finishing-piglet-death'\n | 'nursery-piglet-discard'\n | 'finishing-piglet-discard'\n | null\n}\n\nexport class CauseList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/cause-list'\n fileName = 'Listagem de motivos'\n\n async pdf(input: CauseListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: CauseListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: CauseListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: CauseListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'ORDERBYCOLUMN', value: input.orderBy.column },\n { key: 'ORDERBYDIRECTION', value: input.orderBy.direction },\n { key: 'DESCRIPTION', value: input.description },\n { key: 'AVAILABILITY', value: input.availability },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\n\ninterface DrugListInput {\n farmId: string\n language: Language\n}\n\nexport class DrugList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/drug-list'\n fileName = 'Listagem de medicamentos / vacinas'\n\n async pdf(input: DrugListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: DrugListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: DrugListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: DrugListInput) {\n return [{ key: 'LOCATE', value: input.language.replace('-', '_') }]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface EmployeeListInput {\n farmId: string\n language: Language\n calendarType: CalendarType\n}\n\nexport class EmployeeList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/employee-list'\n fileName = 'Listagem de funcionários'\n\n async pdf(input: EmployeeListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: EmployeeListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: EmployeeListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: EmployeeListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'CALENDAR', value: input.calendarType },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FarmSummaryInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n}\n\nexport class FarmSummary extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/farm-summary'\n fileName = 'Fechamento de período'\n\n async pdf(input: FarmSummaryInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FarmSummaryInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FarmSummaryInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FarmSummaryInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n ]\n }\n}\n","import type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ntype FarrowingAnalysisGroupBy =\n | 'year-period'\n | 'parity'\n | 'employee'\n | 'breed'\n | 'doses'\n | 'first-mating-age'\n | 'first-mating-weight'\n | 'interval-from-weaning'\n | 'day-of-week'\n | 'lactation-length'\n | 'origin'\n | 'arrival-daily-gain'\n | 'first-mating-daily-gain'\n | 'farrowing-classification'\n | 'month-year'\n | 'score'\n\ntype FarrowingAnalysisEmphasis =\n | 'farrowing-count'\n | 'total-born-count'\n | 'liveborn-count'\n | 'liveborn-percentage'\n | 'average-liveborn'\n | 'stillborn-count'\n | 'stillborn-percentage'\n | 'average-stillborn'\n | 'mummified-count'\n | 'mummified-percentage'\n | 'average-mummified'\n | 'average-litter-birth-weight'\n | 'average-farrowing-duration'\n | 'induction-count'\n | 'intervention-count'\n | 'average-gestation-length'\n | 'farrowing-percentage'\n\ninterface FarrowingAnalysisInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n matingDateRange: { start: string; end: string } | null\n calendarType: CalendarType\n groupBy: FarrowingAnalysisGroupBy\n emphasis: FarrowingAnalysisEmphasis\n parity: number | null\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n femaleSwineId: string | null\n language: Language\n}\n\nexport class FarrowingAnalysis extends Report implements PdfReport {\n readonly template = '@pig-master/farrowing-analysis'\n fileName = 'Análise de partos'\n\n async pdf(input: FarrowingAnalysisInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'GROUP', value: input.groupBy },\n { key: 'FIELD', value: input.emphasis },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n {\n key: 'MATING_DATE_BEGIN',\n value: input.matingDateRange?.start ?? null,\n },\n { key: 'MATING_DATE_END', value: input.matingDateRange?.end ?? null },\n ],\n })\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FarrowingCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class FarrowingCollectionForm extends Report implements PdfReport {\n readonly template = '@pig-master/farrowing-collection-form'\n fileName = 'Parto'\n\n async pdf(input: FarrowingCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FarrowingForecastInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n parity: number | null\n locationId: string | null\n pen: string | null\n}\n\nexport class FarrowingForecast extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/farrowing-forecast'\n fileName = 'Previsão de partos'\n\n async pdf(input: FarrowingForecastInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FarrowingForecastInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FarrowingForecastInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FarrowingForecastInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'LOCATION_ID', value: input.locationId },\n { key: 'PEN', value: input.pen },\n ]\n }\n}\n","export function toSnakeCase(str: string) {\n return str.replace(/[A-Z]/g, (letter, index) => {\n return index === 0 ? letter.toLowerCase() : `_${letter.toLowerCase()}`\n })\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport { toSnakeCase } from '../../../core/to-snake-case'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { OrderBy } from '../core/order-by'\n\ninterface FarrowingListInput {\n farmId: string\n calendarType: CalendarType\n dateRange: { start: string; end: string } | null\n femaleSwineId: string | null\n parity: number | null\n matingDateRange: { start: string; end: string } | null\n birthPlaceId: string | null\n originId: string | null\n breedId: string | null\n orderBy: OrderBy<\n 'date' | 'parity' | 'liveborn' | 'stillborn' | 'mummified' | 'createdAt'\n >\n}\n\nexport class FarrowingList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/farrowing-list'\n fileName = 'Listagem de partos'\n\n async pdf(input: FarrowingListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FarrowingListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FarrowingListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FarrowingListInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'MATING_DATE_BEGIN', value: input.matingDateRange?.start ?? null },\n { key: 'MATING_DATE_END', value: input.matingDateRange?.end ?? null },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'ORDERBYDIRECTION', value: input.orderBy.direction },\n { key: 'ORDERBYCOLUMN', value: toSnakeCase(input.orderBy.column) },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\n\ninterface FarrowingTypeListInput {\n farmId: string\n language: Language\n}\n\nexport class FarrowingTypeList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/farrowing-type-list'\n fileName = 'Listagem de tipos de parto'\n\n async pdf(input: FarrowingTypeListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FarrowingTypeListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FarrowingTypeListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FarrowingTypeListInput) {\n return [{ key: 'LOCATE', value: input.language.replace('-', '_') }]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { Pagination } from '../core/pagination'\n\ninterface FemaleSwineArrivalMonitoringInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n pagination: Pagination\n originId: string | null\n}\n\nexport class FemaleSwineArrivalMonitoring\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-arrival-monitoring'\n fileName = 'Acompanhamento do lote'\n\n async pdf(input: FemaleSwineArrivalMonitoringInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwineArrivalMonitoringInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwineArrivalMonitoringInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwineArrivalMonitoringInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'PAGE', value: input.pagination.page },\n { key: 'PER_PAGE', value: input.pagination.perPage },\n { key: 'ORIGIN_ID', value: input.originId },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineProductivityStatus } from '../core/female-swine-productivity-status'\n\ninterface FemaleSwineByBreedListInput {\n farmId: string\n language: Language\n breedId: string | null\n productivityStatus: FemaleSwineProductivityStatus | null\n calendarType: CalendarType\n}\n\nexport class FemaleSwineByBreedList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-by-breed-list'\n fileName = 'Fêmeas por raça'\n\n async pdf(input: FemaleSwineByBreedListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwineByBreedListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwineByBreedListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwineByBreedListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'BREED_ID', value: input.breedId },\n {\n key: 'REMOVE_GILT_SOW',\n value: input.productivityStatus === 'productive',\n },\n { key: 'CALENDAR', value: input.calendarType },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineStatus } from '../core/female-swine-status'\n\ninterface FemaleSwineByParityListInput {\n farmId: string\n language: Language\n parity: number | null\n breedId: string | null\n originId: string | null\n birthPlaceId: string | null\n status: FemaleSwineStatus | null\n calendarType: CalendarType\n}\n\nexport class FemaleSwineByParityList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-by-parity-list'\n fileName = 'Fêmeas por cria'\n\n async pdf(input: FemaleSwineByParityListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwineByParityListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwineByParityListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwineByParityListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'STATUS', value: input.status },\n { key: 'CALENDAR', value: input.calendarType },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineLifecycleStatus } from '../core/female-swine-lifecycle-status'\nimport type { FemaleSwineOrderBy } from '../core/female-swine-order-by'\nimport type { FemaleSwineStatus } from '../core/female-swine-status'\nimport type { OrderBy } from '../core/order-by'\n\ninterface FemaleSwineByStatusListInput {\n farmId: string\n language: Language\n status: FemaleSwineStatus | null\n calendarType: CalendarType\n gestationLengthRange: { start: number; end: number } | null\n lastEventDateRange: { start: string; end: string } | null\n parity: number | null\n breedId: string | null\n originId: string | null\n birthPlaceId: string | null\n lifecycleStatus: FemaleSwineLifecycleStatus | null\n arrivalDateRange: { start: string; end: string } | null\n orderBy: OrderBy<FemaleSwineOrderBy>\n}\n\nexport class FemaleSwineByStatusList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-by-status-list'\n fileName = 'Fêmeas por status'\n\n async pdf(input: FemaleSwineByStatusListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwineByStatusListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwineByStatusListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwineByStatusListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'STATUS', value: input.status },\n {\n key: 'DAYSTODAY_BEGIN',\n value: input.gestationLengthRange?.start.toString() ?? null,\n },\n {\n key: 'DAYSTODAY_END',\n value: input.gestationLengthRange?.end.toString() ?? null,\n },\n { key: 'CALENDAR', value: input.calendarType },\n {\n key: 'LAST_EVENT_DATE_BEGIN',\n value: input.lastEventDateRange?.start ?? null,\n },\n {\n key: 'LAST_EVENT_DATE_END',\n value: input.lastEventDateRange?.end ?? null,\n },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'LIFECYCLE_STATUS', value: input.lifecycleStatus },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n { key: 'ORDERBYCOLUMN', value: input.orderBy.column },\n { key: 'ORDERBYDIRECTION', value: input.orderBy.direction },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineLifecycleStatus } from '../core/female-swine-lifecycle-status'\n\ninterface FemaleSwineByTraceabilityListInput {\n farmId: string\n language: Language\n birthPlaceId: string | null\n originId: string | null\n gtaId: string | null\n calendarType: CalendarType\n arrivalDateRange: { start: string; end: string } | null\n lifecycleStatus: FemaleSwineLifecycleStatus | null\n}\n\nexport class FemaleSwineByTraceabilityList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-by-traceability-list'\n fileName = 'Fêmeas por rastreabilidade'\n\n async pdf(input: FemaleSwineByTraceabilityListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwineByTraceabilityListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwineByTraceabilityListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwineByTraceabilityListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'GTA_ID', value: input.gtaId },\n { key: 'CALENDAR', value: input.calendarType },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n { key: 'LIFECYCLE_STATUS', value: input.lifecycleStatus },\n ]\n }\n}\n","import type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineStatus } from '../core/female-swine-status'\n\ninterface FemaleSwineDeathAnalysisInput {\n farmId: string\n language: Language\n groupBy: 'parity' | 'cause'\n dateRange: { start: string; end: string } | null\n causeId: string | null\n parity: number | null\n breedId: string | null\n originId: string | null\n birthPlaceId: string | null\n status: FemaleSwineStatus | null\n calendarType: CalendarType\n arrivalDateRange: { start: string; end: string } | null\n}\n\nexport class FemaleSwineDeathAnalysis extends Report implements PdfReport {\n readonly template = '@pig-master/female-swine-death-analysis'\n fileName = 'Análise morte de fêmeas'\n\n async pdf(input: FemaleSwineDeathAnalysisInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'GROUPED_DESCRIPTION', value: input.groupBy },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CAUSE_ID', value: input.causeId },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'STATUS', value: input.status },\n { key: 'CALENDAR', value: input.calendarType },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n ],\n })\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FemaleSwineDeathCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class FemaleSwineDeathCollectionForm\n extends Report\n implements PdfReport\n{\n readonly template = '@pig-master/female-swine-death-collection-form'\n fileName = 'Morte de fêmea'\n\n async pdf(input: FemaleSwineDeathCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineStatus } from '../core/female-swine-status'\n\ninterface FemaleSwineDeathListInput {\n farmId: string\n language: Language\n dateRange: { start: string; end: string } | null\n causeId: string | null\n parity: number | null\n breedId: string | null\n originId: string | null\n birthPlaceId: string | null\n status: FemaleSwineStatus | null\n calendarType: CalendarType\n arrivalDateRange: { start: string; end: string } | null\n}\n\nexport class FemaleSwineDeathList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-death-list'\n fileName = 'Morte de fêmeas'\n\n async pdf(input: FemaleSwineDeathListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwineDeathListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwineDeathListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwineDeathListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CAUSE_ID', value: input.causeId },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'STATUS', value: input.status },\n { key: 'CALENDAR', value: input.calendarType },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n ]\n }\n}\n","import type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineStatus } from '../core/female-swine-status'\n\ninterface FemaleSwineDiscardAnalysisInput {\n farmId: string\n language: Language\n groupBy: 'parity' | 'cause'\n dateRange: { start: string; end: string } | null\n causeId: string | null\n parity: number | null\n breedId: string | null\n originId: string | null\n birthPlaceId: string | null\n recipientId: string | null\n status: FemaleSwineStatus | null\n calendarType: CalendarType\n arrivalDateRange: { start: string; end: string } | null\n}\n\nexport class FemaleSwineDiscardAnalysis extends Report implements PdfReport {\n readonly template = '@pig-master/female-swine-discard-analysis'\n fileName = 'Análise descarte de fêmeas'\n\n async pdf(input: FemaleSwineDiscardAnalysisInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'GROUPED_DESCRIPTION', value: input.groupBy },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CAUSE_ID', value: input.causeId },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'RECIPIENT_ID', value: input.recipientId },\n { key: 'STATUS', value: input.status },\n { key: 'CALENDAR', value: input.calendarType },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n ],\n })\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FemaleSwineDiscardCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class FemaleSwineDiscardCollectionForm\n extends Report\n implements PdfReport\n{\n readonly template = '@pig-master/female-swine-discard-collection-form'\n fileName = 'Descarte de fêmea'\n\n async pdf(input: FemaleSwineDiscardCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineStatus } from '../core/female-swine-status'\n\ninterface FemaleSwineDiscardListInput {\n farmId: string\n language: Language\n causeId: string | null\n breedId: string | null\n originId: string | null\n birthPlaceId: string | null\n dateRange: { start: string; end: string } | null\n parity: number | null\n recipientId: string | null\n status: FemaleSwineStatus | null\n calendarType: CalendarType\n arrivalDateRange: { start: string; end: string } | null\n}\n\nexport class FemaleSwineDiscardList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-discard-list'\n fileName = 'Descarte de fêmeas'\n\n async pdf(input: FemaleSwineDiscardListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwineDiscardListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwineDiscardListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwineDiscardListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'CAUSE_ID', value: input.causeId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'RECIPIENT_ID', value: input.recipientId },\n { key: 'STATUS', value: input.status },\n { key: 'CALENDAR', value: input.calendarType },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FemaleSwineEarTagReplacementListInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n oldEarTag: string | null\n newEarTag: string | null\n calendarType: CalendarType\n}\n\nexport class FemaleSwineEarTagReplacementList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-ear-tag-replacement-list'\n fileName = 'Trocas de brinco de fêmeas'\n\n async pdf(input: FemaleSwineEarTagReplacementListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwineEarTagReplacementListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwineEarTagReplacementListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwineEarTagReplacementListInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'OLD_EAR_TAG', value: input.oldEarTag },\n { key: 'NEW_EAR_TAG', value: input.newEarTag },\n { key: 'CALENDAR', value: input.calendarType },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FemaleSwineInventoryInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n}\n\nexport class FemaleSwineInventory\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-inventory'\n fileName = 'Estoque de fêmeas'\n\n async pdf(input: FemaleSwineInventoryInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwineInventoryInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwineInventoryInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwineInventoryInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineStatus } from '../core/female-swine-status'\n\ninterface FemaleSwinePendingActionListInput {\n farmId: string\n language: Language\n status: FemaleSwineStatus | null\n calendarType: CalendarType\n}\n\nexport class FemaleSwinePendingActionList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-pending-action-list'\n fileName = 'Ações pendentes'\n\n async pdf(input: FemaleSwinePendingActionListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwinePendingActionListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwinePendingActionListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwinePendingActionListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'STATUS', value: input.status },\n { key: 'CALENDAR', value: input.calendarType },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineOrderBy } from '../core/female-swine-order-by'\nimport type { FemaleSwinePreDiscard } from '../core/female-swine-pre-discard'\nimport type { OrderBy } from '../core/order-by'\n\ninterface FemaleSwinePreDiscardListInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n calendarType: CalendarType\n language: Language\n preDiscard: FemaleSwinePreDiscard | null\n orderBy: OrderBy<FemaleSwineOrderBy>\n}\n\nexport class FemaleSwinePreDiscardList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-pre-discard-list'\n fileName = 'Listagem de pré-descartes de fêmeas'\n\n async pdf(input: FemaleSwinePreDiscardListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwinePreDiscardListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwinePreDiscardListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwinePreDiscardListInput) {\n return [\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'PRE_DISCARD', value: input.preDiscard },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'ORDERBYCOLUMN', value: input.orderBy.column },\n { key: 'ORDERBYDIRECTION', value: input.orderBy.direction },\n ]\n }\n}\n","import type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FemaleSwineRecordInput {\n farmId: string\n language: Language\n femaleSwineId: string\n farrowingAssistance: boolean\n calendarType: CalendarType\n}\n\nexport class FemaleSwineRecord extends Report implements PdfReport {\n readonly template = '@pig-master/female-swine-record'\n fileName = 'Ficha da fêmea'\n\n async pdf(input: FemaleSwineRecordInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n { key: 'BORN_FOLLOW', value: input.farrowingAssistance },\n { key: 'CALENDAR', value: input.calendarType },\n ],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineOrderBy } from '../core/female-swine-order-by'\nimport type { OrderBy } from '../core/order-by'\n\ninterface FemaleSwineSalePlanningListInput {\n farmId: string\n query: string | null\n dateRange: { start: string; end: string } | null\n calendarType: CalendarType\n recipientId: string | null\n orderBy: OrderBy<FemaleSwineOrderBy>\n}\n\nexport class FemaleSwineSalePlanningList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-sale-planning-list'\n fileName = 'Listagem de fêmeas planejadas para venda'\n\n async pdf(input: FemaleSwineSalePlanningListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwineSalePlanningListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwineSalePlanningListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwineSalePlanningListInput) {\n return [\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'QUERY', value: input.query },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'RECIPIENT_ID', value: input.recipientId },\n { key: 'ORDERBYCOLUMN', value: input.orderBy.column },\n { key: 'ORDERBYDIRECTION', value: input.orderBy.direction },\n ]\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FemaleSwineTreatmentCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class FemaleSwineTreatmentCollectionForm\n extends Report\n implements PdfReport\n{\n readonly template = '@pig-master/female-swine-treatment-collection-form'\n fileName = 'Medicação / vacinação de fêmea'\n\n async pdf(input: FemaleSwineTreatmentCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FemaleSwineTreatmentListInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n calendarType: CalendarType\n language: Language\n femaleSwineId: string | null\n}\n\nexport class FemaleSwineTreatmentList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-treatment-list'\n fileName = 'Listagem de medicações / vacinas (fêmeas)'\n\n async pdf(input: FemaleSwineTreatmentListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwineTreatmentListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwineTreatmentListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwineTreatmentListInput) {\n return [\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n ]\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FinishingPigletDeathCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class FinishingPigletDeathCollectionForm\n extends Report\n implements PdfReport\n{\n readonly template = '@pig-master/finishing-piglet-death-collection-form'\n fileName = 'Morte de leitão na terminação'\n\n async pdf(input: FinishingPigletDeathCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FlushingFemaleSwineListInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n originId: string | null\n}\n\nexport class FlushingFemaleSwineList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/flushing-female-swine-list'\n fileName = 'Fêmeas flushing'\n\n async pdf(input: FlushingFemaleSwineListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FlushingFemaleSwineListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FlushingFemaleSwineListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FlushingFemaleSwineListInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'ORIGIN_ID', value: input.originId },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FlushingMonitorInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n originId: string | null\n}\n\nexport class FlushingMonitor extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/flushing-monitor'\n fileName = 'Flushing'\n\n async pdf(input: FlushingMonitorInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FlushingMonitorInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FlushingMonitorInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FlushingMonitorInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'ORIGIN_ID', value: input.originId },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface GiltInventoryInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n}\n\nexport class GiltInventory extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/gilt-inventory'\n fileName = 'Estoque de leitoas'\n\n async pdf(input: GiltInventoryInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: GiltInventoryInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: GiltInventoryInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: GiltInventoryInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface GtaListInput {\n farmId: string\n language: Language\n calendarType: CalendarType\n}\n\nexport class GtaList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/gta-list'\n fileName = 'Listagem de gtas'\n\n async pdf(input: GtaListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: GtaListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: GtaListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: GtaListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'CALENDAR', value: input.calendarType },\n ]\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface HeatDetectionCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class HeatDetectionCollectionForm extends Report implements PdfReport {\n readonly template = '@pig-master/heat-detection-collection-form'\n fileName = 'Registro de cio'\n\n async pdf(input: HeatDetectionCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { OrderBy } from '../core/order-by'\n\ninterface HeatDetectionListInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n arrivalDateRange: { start: string; end: string } | null\n language: Language\n calendarType: CalendarType\n originId: string | null\n femaleSwineId: string | null\n number: number | null\n stimulus: 'hormone-free' | 'hormonal' | null\n orderBy: OrderBy<'date' | 'number' | 'createdAt'>\n}\n\nexport class HeatDetectionList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/heat-detection-list'\n fileName = 'Listagem de registros de cio'\n\n async pdf(input: HeatDetectionListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: HeatDetectionListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: HeatDetectionListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: HeatDetectionListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'ORIGIN_ID', value: input.originId },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n { key: 'NUMBER', value: input.number?.toString() ?? null },\n { key: 'STIMULUS', value: input.stimulus },\n { key: 'ORDERBYDIRECTION', value: input.orderBy.direction },\n { key: 'ORDERBYCOLUMN', value: input.orderBy.column },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { Pagination } from '../core/pagination'\n\ninterface HeatMonitoringInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n pagination: Pagination\n originId: string | null\n}\n\nexport class HeatMonitoring extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/heat-monitoring'\n fileName = 'Mapa de Cio'\n\n async pdf(input: HeatMonitoringInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: HeatMonitoringInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: HeatMonitoringInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: HeatMonitoringInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'PAGE', value: input.pagination.page },\n { key: 'PER_PAGE', value: input.pagination.perPage },\n { key: 'ORIGIN_ID', value: input.originId },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\n\ninterface LocationListInput {\n farmId: string\n language: Language\n}\n\nexport class LocationList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/location-list'\n fileName = 'Listagem de localizações'\n\n async pdf(input: LocationListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: LocationListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: LocationListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: LocationListInput) {\n return [{ key: 'LOCATE', value: input.language.replace('-', '_') }]\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FarrowingInduction } from '../core/farrowing-induction'\nimport type { FarrowingIntervention } from '../core/farrowing-intervention'\nimport type { MaternityContext } from '../core/maternity-context'\n\ntype MaternityPigletDeathAnalysisGroupBy =\n | 'year-period'\n | 'parity'\n | 'employee'\n | 'breed'\n | 'day-of-week'\n | 'month-year'\n | 'origin'\n | 'location'\n | 'lactation-length'\n | 'lactation-length-category'\n | 'score'\n | 'context'\n | 'cause'\n | 'farrowing-classification'\n\ntype MaternityPigletDeathAnalysisEmphasis =\n | 'dead-piglet-count'\n | 'dead-piglet-percentage'\n | 'average-dead-piglet-age'\n\ninterface MaternityPigletDeathAnalysisInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n calendarType: CalendarType\n groupBy: MaternityPigletDeathAnalysisGroupBy\n emphasis: MaternityPigletDeathAnalysisEmphasis\n femaleSwineId: string | null\n parity: number | null\n context: MaternityContext | null\n causeId: string | null\n employeeId: string | null\n femaleSwineBreedId: string | null\n femaleSwineOriginId: string | null\n scoreId: string | null\n locationId: string | null\n pen: string | null\n farrowingInduction: FarrowingInduction | null\n farrowingIntervention: FarrowingIntervention | null\n}\n\nexport class MaternityPigletDeathAnalysis extends Report implements PdfReport {\n readonly template = '@pig-master/maternity-piglet-death-analysis'\n fileName = 'Análise de mortes de leitões na maternidade'\n\n async pdf(input: MaternityPigletDeathAnalysisInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'GROUP', value: input.groupBy },\n { key: 'FIELD', value: input.emphasis },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'ORIGIN_ID', value: input.femaleSwineOriginId },\n { key: 'BREED_ID', value: input.femaleSwineBreedId },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n { key: 'EMPLOYEE_ID', value: input.employeeId },\n { key: 'LOCATION_ID', value: input.locationId },\n { key: 'PEN', value: input.pen },\n { key: 'CAUSE_ID', value: input.causeId },\n { key: 'SCORE_ID', value: input.scoreId },\n { key: 'CONTEXT', value: input.context },\n { key: 'INDUCTION', value: input.farrowingInduction },\n { key: 'INTERVENTION', value: input.farrowingIntervention },\n ],\n })\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface MaternityPigletDeathCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class MaternityPigletDeathCollectionForm\n extends Report\n implements PdfReport\n{\n readonly template = '@pig-master/maternity-piglet-death-collection-form'\n fileName = 'Morte de leitão na maternidade'\n\n async pdf(input: MaternityPigletDeathCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { MaternityContext } from '../core/maternity-context'\n\ninterface MaternityPigletDeathListInput {\n farmId: string\n calendarType: CalendarType\n dateRange: { start: string; end: string } | null\n femaleSwineId: string | null\n parity: number | null\n context: MaternityContext | null\n employeeId: string | null\n causeId: string | null\n}\n\nexport class MaternityPigletDeathList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/maternity-piglet-death-list'\n fileName = 'Listagem de mortes de leitão'\n\n async pdf(input: MaternityPigletDeathListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: MaternityPigletDeathListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: MaternityPigletDeathListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: MaternityPigletDeathListInput) {\n return [\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'CONTEXT', value: input.context },\n { key: 'EMPLOYEE_ID', value: input.employeeId },\n { key: 'CAUSE_ID', value: input.causeId },\n ]\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface MaternityPigletTransferCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class MaternityPigletTransferCollectionForm\n extends Report\n implements PdfReport\n{\n readonly template = '@pig-master/maternity-piglet-transfer-collection-form'\n fileName = 'Transferência de leitão na maternidade'\n\n async pdf(input: MaternityPigletTransferCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { MaternityContext } from '../core/maternity-context'\n\ninterface MaternityPigletTransferListInput {\n dateRange: { start: string; end: string } | null\n calendarType: CalendarType\n donorId: string | null\n donorParity: number | null\n donorContext: MaternityContext | null\n recipientId: string | null\n recipientParity: number | null\n recipientContext: MaternityContext | null\n farmId: string\n}\n\nexport class MaternityPigletTransferList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/maternity-piglet-transfer-list'\n fileName = 'Listagem de transferências de leitão'\n\n async pdf(input: MaternityPigletTransferListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: MaternityPigletTransferListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: MaternityPigletTransferListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: MaternityPigletTransferListInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'DONOR_ID', value: input.donorId },\n { key: 'DONOR_PARITY', value: input.donorParity?.toString() ?? null },\n { key: 'DONOR_CONTEXT', value: input.donorContext },\n { key: 'RECIPIENT_ID', value: input.recipientId },\n {\n key: 'RECIPIENT_PARITY',\n value: input.recipientParity?.toString() ?? null,\n },\n { key: 'RECIPIENT_CONTEXT', value: input.recipientContext },\n ]\n }\n}\n","import type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineArrivalReproductiveStatus } from '../core/female-swine-arrival-reproductive-status'\nimport type { MatingContext } from '../core/mating-context'\nimport type { MatingMethod } from '../core/mating-method'\n\ntype MatingAnalysisGroupBy =\n | 'doses'\n | 'parity'\n | 'employee'\n | 'breeder'\n | 'year-period'\n | 'first-mating-age'\n | 'interval-from-weaning'\n | 'origin'\n | 'average-daily-gain'\n | 'score'\n | 'month-year'\n\ntype MatingAnalysisEmphasis =\n | 'mating-count'\n | 'mating-percentage'\n | 'first-mating-count'\n | 'normal-mating-count'\n | 'estrus-return-mating-count'\n | 'post-reproductive-failure-mating-count'\n | 'first-mating-percentage'\n | 'normal-mating-percentage'\n | 'estrus-return-mating-percentage'\n | 'post-reproductive-failure-mating-percentage'\n | 'average-interval-from-weaning'\n | 'average-interval-from-reproductive-failure'\n | 'average-interval-from-last-mating'\n\ninterface MatingAnalysisInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n arrivalDateRange: { start: string; end: string } | null\n calendarType: CalendarType\n groupBy: MatingAnalysisGroupBy\n emphasis: MatingAnalysisEmphasis\n parity: number | null\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n femaleSwineId: string | null\n arrivalReproductiveStatus: FemaleSwineArrivalReproductiveStatus | null\n matingContext: MatingContext | null\n method: MatingMethod | null\n language: Language\n}\n\nexport class MatingAnalysis extends Report implements PdfReport {\n readonly template = '@pig-master/mating-analysis'\n fileName = 'Análise de coberturas'\n\n async pdf(input: MatingAnalysisInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'GROUP', value: input.groupBy },\n { key: 'FIELD', value: input.emphasis },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n {\n key: 'ARRIVAL_REPRODUCTIVE_STATUS',\n value: input.arrivalReproductiveStatus,\n },\n { key: 'MATING_CONTEXT', value: input.matingContext },\n { key: 'METHOD', value: input.method },\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n ],\n })\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface MatingCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class MatingCollectionForm extends Report implements PdfReport {\n readonly template = '@pig-master/mating-collection-form'\n fileName = 'Cobertura'\n\n async pdf(input: MatingCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\n\ninterface MatingGroupListInput {\n farmId: string\n language: Language\n}\n\nexport class MatingGroupList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/mating-group-list'\n fileName = 'Listagem de grupos de cobertura'\n\n async pdf(input: MatingGroupListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: MatingGroupListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: MatingGroupListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: MatingGroupListInput) {\n return [{ key: 'LOCATE', value: input.language.replace('-', '_') }]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineArrivalReproductiveStatus } from '../core/female-swine-arrival-reproductive-status'\nimport type { MatingContext } from '../core/mating-context'\nimport type { MatingMethod } from '../core/mating-method'\nimport type { OrderBy } from '../core/order-by'\n\ninterface MatingListInput {\n farmId: string\n orderBy: OrderBy<'date' | 'parity' | 'createdAt'>\n language: Language\n calendarType: CalendarType\n managementCycle: number\n dateRange: { start: string; end: string } | null\n arrivalDateRange: { start: string; end: string } | null\n parity: number | null\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n femaleSwineId: string | null\n arrivalReproductiveStatus: FemaleSwineArrivalReproductiveStatus | null\n matingContext: MatingContext | null\n method: MatingMethod | null\n}\n\nexport class MatingList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/mating-list'\n fileName = 'Listagem de coberturas'\n\n async pdf(input: MatingListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: MatingListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: MatingListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: MatingListInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'MANAGEMENT_CYCLE', value: input.managementCycle },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n {\n key: 'ARRIVAL_REPRODUCTIVE_STATUS',\n value: input.arrivalReproductiveStatus,\n },\n { key: 'MATING_CONTEXT', value: input.matingContext },\n { key: 'ORDER_BY_COLUMN', value: input.orderBy.column },\n { key: 'ORDER_BY_DIRECTION', value: input.orderBy.direction },\n { key: 'METHOD', value: input.method },\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface MatingOverviewInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n}\n\nexport class MatingOverview extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/mating-overview'\n fileName = 'Performance de coberturas'\n\n async pdf(input: MatingOverviewInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: MatingOverviewInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: MatingOverviewInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: MatingOverviewInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n ]\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface MbrfFemaleSwineRecordInput {\n farmId: string\n femaleSwineId: string\n calendarType: CalendarType\n}\n\nexport class MbrfFemaleSwineRecord extends Report implements PdfReport {\n readonly template = '@pig-master/mbrf-female-swine-record'\n fileName = 'Ficha fim'\n\n async pdf(input: MbrfFemaleSwineRecordInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n { key: 'CALENDAR', value: input.calendarType },\n ],\n })\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface NurseryPigletDeathCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class NurseryPigletDeathCollectionForm\n extends Report\n implements PdfReport\n{\n readonly template = '@pig-master/nursery-piglet-death-collection-form'\n fileName = 'Morte de leitão na creche'\n\n async pdf(input: NurseryPigletDeathCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\n\ninterface OriginListInput {\n farmId: string\n language: Language\n}\n\nexport class OriginList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/origin-list'\n fileName = 'Listagem de origens'\n\n async pdf(input: OriginListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: OriginListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: OriginListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: OriginListInput) {\n return [{ key: 'LOCATE', value: input.language.replace('-', '_') }]\n }\n}\n","import type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { FemaleSwineStatus } from '../core/female-swine-status'\n\ninterface ParityStructureInput {\n farmId: string\n language: Language\n breedId: string | null\n birthPlaceId: string | null\n originId: string | null\n status: FemaleSwineStatus | null\n}\n\nexport class ParityStructure extends Report implements PdfReport {\n readonly template = '@pig-master/parity-structure'\n fileName = 'Estrutura etária'\n\n async pdf(input: ParityStructureInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'STATUS', value: input.status },\n ],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface PreFlushingFemaleSwineListInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n originId: string | null\n}\n\nexport class PreFlushingFemaleSwineList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/pre-flushing-female-swine-list'\n fileName = 'Fêmeas pré-flushing'\n\n async pdf(input: PreFlushingFemaleSwineListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: PreFlushingFemaleSwineListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: PreFlushingFemaleSwineListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: PreFlushingFemaleSwineListInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'ORIGIN_ID', value: input.originId },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface PregnantFemaleSwineListInput {\n farmId: string\n matingDateRange: { start: string; end: string }\n calendarType: CalendarType\n gestationWeek: number\n}\n\nexport class PregnantFemaleSwineList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/pregnant-female-swine-list'\n fileName = 'Fêmeas gestantes'\n\n async pdf(input: PregnantFemaleSwineListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n { key: 'DATA_ONLY', value: false },\n ...this.getParameters(input),\n ],\n })\n }\n\n async csv(input: PregnantFemaleSwineListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n { key: 'DATA_ONLY', value: true },\n ...this.getParameters(input),\n ],\n })\n }\n\n private getResources(input: PregnantFemaleSwineListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: PregnantFemaleSwineListInput) {\n return [\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'MATING_DATE_BEGIN', value: input.matingDateRange.start },\n { key: 'MATING_DATE_END', value: input.matingDateRange.end },\n { key: 'GESTATION_WEEK', value: input.gestationWeek.toString() },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { OrderBy } from '../core/order-by'\nimport type { YearPeriod } from '../core/year-period'\n\ntype PregnantFemaleSwineSalesOrderByColumns =\n | 'date'\n | 'parity'\n | 'gestationLength'\n | 'createdAt'\n\ninterface PregnantFemaleSwineSaleListInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n arrivalDateRange: { start: string; end: string } | null\n matingDateRange: { start: string; end: string } | null\n dueDateRange: { start: string; end: string } | null\n calendarType: CalendarType\n language: Language\n recipientId: string | null\n orderBy: OrderBy<PregnantFemaleSwineSalesOrderByColumns>\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n yearPeriod: YearPeriod\n}\n\nexport class PregnantFemaleSwineSaleList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/pregnant-female-swine-sale-list'\n fileName = 'Listagem de vendas de gestantes'\n\n async pdf(input: PregnantFemaleSwineSaleListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: PregnantFemaleSwineSaleListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: PregnantFemaleSwineSaleListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: PregnantFemaleSwineSaleListInput) {\n return [\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'MATING_DATE_BEGIN', value: input.matingDateRange?.start ?? null },\n { key: 'MATING_DATE_END', value: input.matingDateRange?.end ?? null },\n { key: 'RECIPIENT_ID', value: input.recipientId },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n { key: 'ORDERBYCOLUMN', value: input.orderBy.column },\n { key: 'ORDERBYDIRECTION', value: input.orderBy.direction },\n { key: 'DUE_DATE_BEGIN', value: input.dueDateRange?.start ?? null },\n { key: 'DUE_DATE_END', value: input.dueDateRange?.end ?? null },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'P_WEEKDAY', value: input.yearPeriod.weekday },\n { key: 'P_WEEK', value: input.yearPeriod.week },\n ]\n }\n}\n","import type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { ReproductiveFailureContext } from '../core/reproductive-failure-context'\n\ntype ReproductiveFailureAnalysisEmphasis =\n | 'reproductive-failure-count'\n | 'loss-reproductive-failure-count'\n | 'estrus-return-reproductive-failure-count'\n | 'death-reproductive-failure-count'\n | 'discard-reproductive-failure-count'\n | 'loss-reproductive-failure-percentage'\n | 'estrus-return-reproductive-failure-percentage'\n | 'death-reproductive-failure-percentage'\n | 'discard-reproductive-failure-percentage'\n | 'average-loss-reproductive-failure-gestation-length'\n | 'average-estrus-return-reproductive-failure-gestation-length'\n | 'average-death-reproductive-failure-gestation-length'\n | 'average-discard-reproductive-failure-gestation-length'\n | 'reproductive-failure-percentage'\n\ntype ReproductiveFailureAnalysisGroupBy =\n | 'doses'\n | 'parity'\n | 'employee'\n | 'breeder'\n | 'cause'\n | 'day-of-week'\n | 'day-range'\n | 'month-year'\n | 'year-period'\n\ninterface ReproductiveFailureAnalysisInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n matingDateRange: { start: string; end: string } | null\n groupBy: ReproductiveFailureAnalysisGroupBy\n emphasis: ReproductiveFailureAnalysisEmphasis\n calendarType: CalendarType\n femaleSwineId: string | null\n parity: number | null\n context: ReproductiveFailureContext | null\n breedId: string | null\n birthPlaceId: string | null\n originId: string | null\n language: Language\n}\n\nexport class ReproductiveFailureAnalysis extends Report implements PdfReport {\n readonly template = '@pig-master/reproductive-failure-analysis'\n fileName = 'Análise de perdas de cobertura'\n\n async pdf(input: ReproductiveFailureAnalysisInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [\n { key: 'GROUP', value: input.groupBy },\n { key: 'FIELD', value: input.emphasis },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n {\n key: 'MATING_DATE_BEGIN',\n value: input.matingDateRange?.start ?? null,\n },\n { key: 'MATING_DATE_END', value: input.matingDateRange?.end ?? null },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'CONTEXT', value: input.context },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n ],\n })\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface ReproductiveFailureCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class ReproductiveFailureCollectionForm\n extends Report\n implements PdfReport\n{\n readonly template = '@pig-master/reproductive-failure-collection-form'\n fileName = 'Perda de cobertura'\n\n async pdf(input: ReproductiveFailureCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { OrderBy } from '../core/order-by'\nimport type { ReproductiveFailureContext } from '../core/reproductive-failure-context'\n\ninterface ReproductiveFailureListInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n matingDateRange: { start: string; end: string } | null\n calendarType: CalendarType\n parity: number | null\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n femaleSwineId: string | null\n context: ReproductiveFailureContext | null\n orderBy: OrderBy<'date' | 'parity' | 'createdAt'>\n}\n\nexport class ReproductiveFailureList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/reproductive-failure-list'\n fileName = 'Perdas de cobertura'\n\n async pdf(input: ReproductiveFailureListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: ReproductiveFailureListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: ReproductiveFailureListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: ReproductiveFailureListInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n { key: 'MATING_DATE_BEGIN', value: input.matingDateRange?.start ?? null },\n { key: 'MATING_DATE_END', value: input.matingDateRange?.end ?? null },\n { key: 'CONTEXT', value: input.context },\n { key: 'ORDERBYCOLUMN', value: input.orderBy.column },\n { key: 'ORDERBYDIRECTION', value: input.orderBy.direction },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\n\ninterface ScoreListInput {\n farmId: string\n language: Language\n}\n\nexport class ScoreList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/score-list'\n fileName = 'Listagem de escores'\n\n async pdf(input: ScoreListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: ScoreListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: ScoreListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: ScoreListInput) {\n return [{ key: 'LOCATE', value: input.language.replace('-', '_') }]\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { MaternityContext } from '../core/maternity-context'\n\ntype WeaningAnalysisGroupBy =\n | 'year-period'\n | 'parity'\n | 'breed'\n | 'month-year'\n | 'score'\n\ntype WeaningAnalysisEmphasis =\n | 'weaning-count'\n | 'weaning-percentage'\n | 'lactating-weaning-count'\n | 'piglet-batch-count'\n | 'weaned-piglet-count'\n | 'average-weaned-piglet-count'\n | 'weaned-litter-weight'\n | 'average-weaned-piglet-weight'\n | 'nurse-sow-weaning-count'\n | 'dead-piglet-count'\n | 'dead-piglet-percentage'\n | 'estimated-dead-piglet-percentage'\n | 'liveborn-count'\n | 'transferred-piglet-count'\n | 'received-piglet-count'\n\ninterface WeaningAnalysisInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n matingDateRange: { start: string; end: string } | null\n calendarType: CalendarType\n groupBy: WeaningAnalysisGroupBy\n emphasis: WeaningAnalysisEmphasis\n parity: number | null\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n femaleSwineId: string | null\n context: MaternityContext | null\n nurseryPigletBatchId: string | null\n}\n\nexport class WeaningAnalysis extends Report implements PdfReport {\n readonly template = '@pig-master/weaning-analysis'\n fileName = 'Análise de desmames'\n\n async pdf(input: WeaningAnalysisInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'GROUP', value: input.groupBy },\n { key: 'FIELD', value: input.emphasis },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n {\n key: 'MATING_DATE_BEGIN',\n value: input.matingDateRange?.start ?? null,\n },\n { key: 'MATING_DATE_END', value: input.matingDateRange?.end ?? null },\n { key: 'CONTEXT', value: input.context },\n { key: 'PIGLET_BATCH_ID', value: input.nurseryPigletBatchId },\n ],\n })\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface WeaningCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class WeaningCollectionForm extends Report implements PdfReport {\n readonly template = '@pig-master/weaning-collection-form'\n fileName = 'Desmame'\n\n async pdf(input: WeaningCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport { toSnakeCase } from '../../../core/to-snake-case'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { MaternityContext } from '../core/maternity-context'\nimport type { OrderBy } from '../core/order-by'\n\ninterface WeaningForecastInput {\n farmId: string\n weaningDate: string\n calendarType: CalendarType\n parity: number | null\n locationId: string | null\n pen: string | null\n lactationLengthRange: { start: number; end: number } | null\n context: MaternityContext | null\n orderBy: OrderBy<\n 'earTag' | 'lactationLength' | 'parity' | 'locationName' | 'createdAt'\n >\n}\n\nexport class WeaningForecast extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/weaning-forecast'\n fileName = 'Previsão de desmames'\n\n async pdf(input: WeaningForecastInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: WeaningForecastInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: WeaningForecastInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: WeaningForecastInput) {\n return [\n { key: 'WEANING_DATE', value: input.weaningDate },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'LOCATION_ID', value: input.locationId },\n { key: 'PEN', value: input.pen },\n {\n key: 'MIN_LACTATION_DAYS',\n value: input.lactationLengthRange?.start.toString() ?? null,\n },\n {\n key: 'MAX_LACTATION_DAYS',\n value: input.lactationLengthRange?.end.toString() ?? null,\n },\n { key: 'CONTEXT', value: input.context },\n { key: 'ORDERBYDIRECTION', value: input.orderBy.direction },\n { key: 'ORDERBYCOLUMN', value: toSnakeCase(input.orderBy.column) },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { MaternityContext } from '../core/maternity-context'\nimport type { OrderBy } from '../core/order-by'\n\ninterface WeaningListInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n matingDateRange: { start: string; end: string } | null\n calendarType: CalendarType\n parity: number | null\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n femaleSwineId: string | null\n context: MaternityContext | null\n nurseryPigletBatchId: string | null\n orderBy: OrderBy<'date' | 'parity' | 'weanedPiglets' | 'createdAt'>\n}\n\nexport class WeaningList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/weaning-list'\n fileName = 'Listagem de desmames'\n\n async pdf(input: WeaningListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: WeaningListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: WeaningListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: WeaningListInput) {\n let orderByColumn: string = input.orderBy.column\n\n switch (orderByColumn) {\n case 'createdAt':\n orderByColumn = 'created_at'\n break\n case 'weanedPiglets':\n orderByColumn = 'weaned_piglets'\n break\n default:\n break\n }\n\n return [\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n {\n key: 'MATING_DATE_BEGIN',\n value: input.matingDateRange?.start ?? null,\n },\n { key: 'MATING_DATE_END', value: input.matingDateRange?.end ?? null },\n { key: 'CONTEXT', value: input.context },\n { key: 'PIGLET_BATCH_ID', value: input.nurseryPigletBatchId },\n { key: 'ORDERBYDIRECTION', value: input.orderBy.direction },\n { key: 'ORDERBYCOLUMN', value: orderByColumn },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface WeaningOverviewInput {\n farmId: string\n calendarType: CalendarType\n dateRange: { start: string; end: string }\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n}\n\nexport class WeaningOverview extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/weaning-overview'\n fileName = 'Performance de desmames'\n\n async pdf(input: WeaningOverviewInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: WeaningOverviewInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: WeaningOverviewInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: WeaningOverviewInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n ]\n }\n}\n","import type { HttpClient } from '../../core/http-client'\nimport { BirthPlaceList } from './reports/birth-place-list'\nimport { BoarByBreedList } from './reports/boar-by-breed-list'\nimport { BoarDeathCollectionForm } from './reports/boar-death-collection-form'\nimport { BoarDeathList } from './reports/boar-death-list'\nimport { BoarDiscardCollectionForm } from './reports/boar-discard-collection-form'\nimport { BoarDiscardList } from './reports/boar-discard-list'\nimport { BoarEarTagReplacementList } from './reports/boar-ear-tag-replacement-list'\nimport { BoarTreatmentCollectionForm } from './reports/boar-treatment-collection-form'\nimport { BoarTreatmentList } from './reports/boar-treatment-list'\nimport { BoarsInventory } from './reports/boars-inventory'\nimport { BreedList } from './reports/breed-list'\nimport { BreedingMonitor } from './reports/breeding-monitor'\nimport { BreedingProjection } from './reports/breeding-projection'\nimport { CauseList } from './reports/cause-list'\nimport { DrugList } from './reports/drug-list'\nimport { EmployeeList } from './reports/employee-list'\nimport { FarmSummary } from './reports/farm-summary'\nimport { FarrowingAnalysis } from './reports/farrowing-analysis'\nimport { FarrowingCollectionForm } from './reports/farrowing-collection-form'\nimport { FarrowingForecast } from './reports/farrowing-forecast'\nimport { FarrowingList } from './reports/farrowing-list'\nimport { FarrowingTypeList } from './reports/farrowing-type-list'\nimport { FemaleSwineArrivalMonitoring } from './reports/female-swine-arrival-monitoring'\nimport { FemaleSwineByBreedList } from './reports/female-swine-by-breed-list'\nimport { FemaleSwineByParityList } from './reports/female-swine-by-parity-list'\nimport { FemaleSwineByStatusList } from './reports/female-swine-by-status-list'\nimport { FemaleSwineByTraceabilityList } from './reports/female-swine-by-traceability-list'\nimport { FemaleSwineDeathAnalysis } from './reports/female-swine-death-analysis'\nimport { FemaleSwineDeathCollectionForm } from './reports/female-swine-death-collection-form'\nimport { FemaleSwineDeathList } from './reports/female-swine-death-list'\nimport { FemaleSwineDiscardAnalysis } from './reports/female-swine-discard-analysis'\nimport { FemaleSwineDiscardCollectionForm } from './reports/female-swine-discard-collection-form'\nimport { FemaleSwineDiscardList } from './reports/female-swine-discard-list'\nimport { FemaleSwineEarTagReplacementList } from './reports/female-swine-ear-tag-replacement-list'\nimport { FemaleSwineInventory } from './reports/female-swine-inventory'\nimport { FemaleSwinePendingActionList } from './reports/female-swine-pending-action-list'\nimport { FemaleSwinePreDiscardList } from './reports/female-swine-pre-discard-list'\nimport { FemaleSwineRecord } from './reports/female-swine-record'\nimport { FemaleSwineSalePlanningList } from './reports/female-swine-sale-planning-list'\nimport { FemaleSwineTreatmentCollectionForm } from './reports/female-swine-treatment-collection-form'\nimport { FemaleSwineTreatmentList } from './reports/female-swine-treatment-list'\nimport { FinishingPigletDeathCollectionForm } from './reports/finishing-piglet-death-collection-form'\nimport { FlushingFemaleSwineList } from './reports/flushing-female-swine-list'\nimport { FlushingMonitor } from './reports/flushing-monitor'\nimport { GiltInventory } from './reports/gilt-inventory'\nimport { GtaList } from './reports/gta-list'\nimport { HeatDetectionCollectionForm } from './reports/heat-detection-collection-form'\nimport { HeatDetectionList } from './reports/heat-detection-list'\nimport { HeatMonitoring } from './reports/heat-monitoring'\nimport { LocationList } from './reports/location-list'\nimport { MaternityPigletDeathAnalysis } from './reports/maternity-piglet-death-analysis'\nimport { MaternityPigletDeathCollectionForm } from './reports/maternity-piglet-death-collection-form'\nimport { MaternityPigletDeathList } from './reports/maternity-piglet-death-list'\nimport { MaternityPigletTransferCollectionForm } from './reports/maternity-piglet-transfer-collection-form'\nimport { MaternityPigletTransferList } from './reports/maternity-piglet-transfer-list'\nimport { MatingAnalysis } from './reports/mating-analysis'\nimport { MatingCollectionForm } from './reports/mating-collection-form'\nimport { MatingGroupList } from './reports/mating-group-list'\nimport { MatingList } from './reports/mating-list'\nimport { MatingOverview } from './reports/mating-overview'\nimport { MbrfFemaleSwineRecord } from './reports/mbrf-female-swine-record'\nimport { NurseryPigletDeathCollectionForm } from './reports/nursery-piglet-death-collection-form'\nimport { OriginList } from './reports/origin-list'\nimport { ParityStructure } from './reports/parity-structure'\nimport { PreFlushingFemaleSwineList } from './reports/pre-flushing-female-swine-list'\nimport { PregnantFemaleSwineList } from './reports/pregnant-female-swine-list'\nimport { PregnantFemaleSwineSaleList } from './reports/pregnant-female-swine-sale-list'\nimport { ReproductiveFailureAnalysis } from './reports/reproductive-failure-analysis'\nimport { ReproductiveFailureCollectionForm } from './reports/reproductive-failure-collection-form'\nimport { ReproductiveFailureList } from './reports/reproductive-failure-list'\nimport { ScoreList } from './reports/score-list'\nimport { WeaningAnalysis } from './reports/weaning-analysis'\nimport { WeaningCollectionForm } from './reports/weaning-collection-form'\nimport { WeaningForecast } from './reports/weaning-forecast'\nimport { WeaningList } from './reports/weaning-list'\nimport { WeaningOverview } from './reports/weaning-overview'\n\nexport class PigMaster {\n readonly birthPlaceList: BirthPlaceList\n readonly boarByBreedList: BoarByBreedList\n readonly boarDeathCollectionForm: BoarDeathCollectionForm\n readonly boarDeathList: BoarDeathList\n readonly boarDiscardCollectionForm: BoarDiscardCollectionForm\n readonly boarDiscardList: BoarDiscardList\n readonly boarEarTagReplacementList: BoarEarTagReplacementList\n readonly boarsInventory: BoarsInventory\n readonly boarTreatmentCollectionForm: BoarTreatmentCollectionForm\n readonly boarTreatmentList: BoarTreatmentList\n readonly breedingMonitor: BreedingMonitor\n readonly breedList: BreedList\n readonly causeList: CauseList\n readonly drugList: DrugList\n readonly employeeList: EmployeeList\n readonly farmSummary: FarmSummary\n readonly farrowingAnalysis: FarrowingAnalysis\n readonly farrowingCollectionForm: FarrowingCollectionForm\n readonly farrowingTypeList: FarrowingTypeList\n readonly femaleSwineArrivalMonitoring: FemaleSwineArrivalMonitoring\n readonly femaleSwineByBreedList: FemaleSwineByBreedList\n readonly femaleSwineByParityList: FemaleSwineByParityList\n readonly femaleSwineByStatusList: FemaleSwineByStatusList\n readonly femaleSwineByTraceabilityList: FemaleSwineByTraceabilityList\n readonly femaleSwineDeathAnalysis: FemaleSwineDeathAnalysis\n readonly femaleSwineDeathCollectionForm: FemaleSwineDeathCollectionForm\n readonly femaleSwineDeathList: FemaleSwineDeathList\n readonly femaleSwineDiscardAnalysis: FemaleSwineDiscardAnalysis\n readonly femaleSwineDiscardCollectionForm: FemaleSwineDiscardCollectionForm\n readonly femaleSwineDiscardList: FemaleSwineDiscardList\n readonly femaleSwineEarTagReplacementList: FemaleSwineEarTagReplacementList\n readonly femaleSwineInventory: FemaleSwineInventory\n readonly femaleSwinePendingActionList: FemaleSwinePendingActionList\n readonly femaleSwinePreDiscardList: FemaleSwinePreDiscardList\n readonly femaleSwineRecord: FemaleSwineRecord\n readonly femaleSwineSalePlanningList: FemaleSwineSalePlanningList\n readonly femaleSwineTreatmentCollectionForm: FemaleSwineTreatmentCollectionForm\n readonly femaleSwineTreatmentList: FemaleSwineTreatmentList\n readonly finishingPigletDeathCollectionForm: FinishingPigletDeathCollectionForm\n readonly flushingFemaleSwineList: FlushingFemaleSwineList\n readonly flushingMonitor: FlushingMonitor\n readonly giltInventory: GiltInventory\n readonly gtaList: GtaList\n readonly heatDetectionCollectionForm: HeatDetectionCollectionForm\n readonly heatDetectionList: HeatDetectionList\n readonly heatMonitoring: HeatMonitoring\n readonly locationList: LocationList\n readonly maternityPigletDeathCollectionForm: MaternityPigletDeathCollectionForm\n readonly maternityPigletTransferCollectionForm: MaternityPigletTransferCollectionForm\n readonly matingAnalysis: MatingAnalysis\n readonly matingCollectionForm: MatingCollectionForm\n readonly matingGroupList: MatingGroupList\n readonly matingList: MatingList\n readonly matingOverview: MatingOverview\n readonly mbrfFemaleSwineRecord: MbrfFemaleSwineRecord\n readonly nurseryPigletDeathCollectionForm: NurseryPigletDeathCollectionForm\n readonly originList: OriginList\n readonly parityStructure: ParityStructure\n readonly preFlushingFemaleSwineList: PreFlushingFemaleSwineList\n readonly pregnantFemaleSwineList: PregnantFemaleSwineList\n readonly pregnantFemaleSwineSaleList: PregnantFemaleSwineSaleList\n readonly reproductiveFailureAnalysis: ReproductiveFailureAnalysis\n readonly reproductiveFailureCollectionForm: ReproductiveFailureCollectionForm\n readonly reproductiveFailureList: ReproductiveFailureList\n readonly scoreList: ScoreList\n readonly weaningAnalysis: WeaningAnalysis\n readonly weaningCollectionForm: WeaningCollectionForm\n readonly maternityPigletDeathList: MaternityPigletDeathList\n readonly weaningList: WeaningList\n readonly farrowingList: FarrowingList\n readonly maternityPigletTransferList: MaternityPigletTransferList\n readonly weaningForecast: WeaningForecast\n readonly farrowingForecast: FarrowingForecast\n readonly breedingProjection: BreedingProjection\n readonly maternityPigletDeathAnalysis: MaternityPigletDeathAnalysis\n readonly weaningOverview: WeaningOverview\n\n constructor(http: HttpClient) {\n this.birthPlaceList = new BirthPlaceList(http)\n this.boarByBreedList = new BoarByBreedList(http)\n this.boarDeathCollectionForm = new BoarDeathCollectionForm(http)\n this.boarDeathList = new BoarDeathList(http)\n this.boarDiscardCollectionForm = new BoarDiscardCollectionForm(http)\n this.boarDiscardList = new BoarDiscardList(http)\n this.boarEarTagReplacementList = new BoarEarTagReplacementList(http)\n this.boarsInventory = new BoarsInventory(http)\n this.boarTreatmentCollectionForm = new BoarTreatmentCollectionForm(http)\n this.boarTreatmentList = new BoarTreatmentList(http)\n this.breedingMonitor = new BreedingMonitor(http)\n this.breedList = new BreedList(http)\n this.causeList = new CauseList(http)\n this.drugList = new DrugList(http)\n this.employeeList = new EmployeeList(http)\n this.farmSummary = new FarmSummary(http)\n this.farrowingAnalysis = new FarrowingAnalysis(http)\n this.farrowingCollectionForm = new FarrowingCollectionForm(http)\n this.farrowingTypeList = new FarrowingTypeList(http)\n this.femaleSwineArrivalMonitoring = new FemaleSwineArrivalMonitoring(http)\n this.femaleSwineByBreedList = new FemaleSwineByBreedList(http)\n this.femaleSwineByParityList = new FemaleSwineByParityList(http)\n this.femaleSwineByStatusList = new FemaleSwineByStatusList(http)\n this.femaleSwineByTraceabilityList = new FemaleSwineByTraceabilityList(http)\n this.femaleSwineDeathAnalysis = new FemaleSwineDeathAnalysis(http)\n this.femaleSwineDeathCollectionForm = new FemaleSwineDeathCollectionForm(\n http,\n )\n this.femaleSwineDeathList = new FemaleSwineDeathList(http)\n this.femaleSwineDiscardAnalysis = new FemaleSwineDiscardAnalysis(http)\n this.femaleSwineDiscardCollectionForm =\n new FemaleSwineDiscardCollectionForm(http)\n this.femaleSwineDiscardList = new FemaleSwineDiscardList(http)\n this.femaleSwineEarTagReplacementList =\n new FemaleSwineEarTagReplacementList(http)\n this.femaleSwineInventory = new FemaleSwineInventory(http)\n this.femaleSwinePendingActionList = new FemaleSwinePendingActionList(http)\n this.femaleSwinePreDiscardList = new FemaleSwinePreDiscardList(http)\n this.femaleSwineRecord = new FemaleSwineRecord(http)\n this.femaleSwineSalePlanningList = new FemaleSwineSalePlanningList(http)\n this.femaleSwineTreatmentCollectionForm =\n new FemaleSwineTreatmentCollectionForm(http)\n this.femaleSwineTreatmentList = new FemaleSwineTreatmentList(http)\n this.finishingPigletDeathCollectionForm =\n new FinishingPigletDeathCollectionForm(http)\n this.flushingFemaleSwineList = new FlushingFemaleSwineList(http)\n this.flushingMonitor = new FlushingMonitor(http)\n this.giltInventory = new GiltInventory(http)\n this.gtaList = new GtaList(http)\n this.heatDetectionCollectionForm = new HeatDetectionCollectionForm(http)\n this.heatDetectionList = new HeatDetectionList(http)\n this.heatMonitoring = new HeatMonitoring(http)\n this.locationList = new LocationList(http)\n this.maternityPigletDeathCollectionForm =\n new MaternityPigletDeathCollectionForm(http)\n this.maternityPigletTransferCollectionForm =\n new MaternityPigletTransferCollectionForm(http)\n this.matingAnalysis = new MatingAnalysis(http)\n this.matingCollectionForm = new MatingCollectionForm(http)\n this.matingGroupList = new MatingGroupList(http)\n this.matingList = new MatingList(http)\n this.matingOverview = new MatingOverview(http)\n this.mbrfFemaleSwineRecord = new MbrfFemaleSwineRecord(http)\n this.nurseryPigletDeathCollectionForm =\n new NurseryPigletDeathCollectionForm(http)\n this.originList = new OriginList(http)\n this.parityStructure = new ParityStructure(http)\n this.preFlushingFemaleSwineList = new PreFlushingFemaleSwineList(http)\n this.pregnantFemaleSwineList = new PregnantFemaleSwineList(http)\n this.pregnantFemaleSwineSaleList = new PregnantFemaleSwineSaleList(http)\n this.reproductiveFailureAnalysis = new ReproductiveFailureAnalysis(http)\n this.reproductiveFailureCollectionForm =\n new ReproductiveFailureCollectionForm(http)\n this.reproductiveFailureList = new ReproductiveFailureList(http)\n this.scoreList = new ScoreList(http)\n this.weaningAnalysis = new WeaningAnalysis(http)\n this.weaningCollectionForm = new WeaningCollectionForm(http)\n this.maternityPigletDeathList = new MaternityPigletDeathList(http)\n this.weaningList = new WeaningList(http)\n this.farrowingList = new FarrowingList(http)\n this.maternityPigletTransferList = new MaternityPigletTransferList(http)\n this.weaningForecast = new WeaningForecast(http)\n this.farrowingForecast = new FarrowingForecast(http)\n this.breedingProjection = new BreedingProjection(http)\n this.maternityPigletDeathAnalysis = new MaternityPigletDeathAnalysis(http)\n this.weaningOverview = new WeaningOverview(http)\n }\n}\n","import type { HttpClient } from './core/http-client'\nimport { PigMaster } from './namespaces/pig-master'\n\nexport interface JaspionConfig {\n http: HttpClient\n}\n\nexport class Jaspion {\n readonly pigMaster: PigMaster\n\n constructor({ http }: JaspionConfig) {\n this.pigMaster = new PigMaster(http)\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../src/core/report.ts","../src/namespaces/pig-master/reports/birth-place-list.ts","../src/namespaces/pig-master/reports/boar-by-breed-list.ts","../src/namespaces/pig-master/reports/boar-death-collection-form.ts","../src/namespaces/pig-master/reports/boar-death-list.ts","../src/namespaces/pig-master/reports/boar-discard-collection-form.ts","../src/namespaces/pig-master/reports/boar-discard-list.ts","../src/namespaces/pig-master/reports/boar-ear-tag-replacement-list.ts","../src/namespaces/pig-master/reports/boar-treatment-collection-form.ts","../src/namespaces/pig-master/reports/boar-treatment-list.ts","../src/namespaces/pig-master/reports/boars-inventory.ts","../src/namespaces/pig-master/reports/breed-list.ts","../src/namespaces/pig-master/reports/breeding-monitor.ts","../src/namespaces/pig-master/reports/breeding-projection.ts","../src/namespaces/pig-master/reports/cause-list.ts","../src/namespaces/pig-master/reports/drug-list.ts","../src/namespaces/pig-master/reports/employee-list.ts","../src/namespaces/pig-master/reports/farm-summary.ts","../src/namespaces/pig-master/reports/farrowing-analysis.ts","../src/namespaces/pig-master/reports/farrowing-collection-form.ts","../src/namespaces/pig-master/reports/farrowing-forecast.ts","../src/core/to-snake-case.ts","../src/namespaces/pig-master/reports/farrowing-list.ts","../src/namespaces/pig-master/reports/farrowing-type-list.ts","../src/namespaces/pig-master/reports/female-swine-arrival-monitoring.ts","../src/namespaces/pig-master/reports/female-swine-by-breed-list.ts","../src/namespaces/pig-master/reports/female-swine-by-parity-list.ts","../src/namespaces/pig-master/reports/female-swine-by-status-list.ts","../src/namespaces/pig-master/reports/female-swine-by-traceability-list.ts","../src/namespaces/pig-master/reports/female-swine-death-analysis.ts","../src/namespaces/pig-master/reports/female-swine-death-collection-form.ts","../src/namespaces/pig-master/reports/female-swine-death-list.ts","../src/namespaces/pig-master/reports/female-swine-discard-analysis.ts","../src/namespaces/pig-master/reports/female-swine-discard-collection-form.ts","../src/namespaces/pig-master/reports/female-swine-discard-list.ts","../src/namespaces/pig-master/reports/female-swine-ear-tag-replacement-list.ts","../src/namespaces/pig-master/reports/female-swine-inventory.ts","../src/namespaces/pig-master/reports/female-swine-pending-action-list.ts","../src/namespaces/pig-master/reports/female-swine-pre-discard-list.ts","../src/namespaces/pig-master/reports/female-swine-record.ts","../src/namespaces/pig-master/reports/female-swine-sale-planning-list.ts","../src/namespaces/pig-master/reports/female-swine-treatment-collection-form.ts","../src/namespaces/pig-master/reports/female-swine-treatment-list.ts","../src/namespaces/pig-master/reports/finishing-piglet-death-collection-form.ts","../src/namespaces/pig-master/reports/flushing-female-swine-list.ts","../src/namespaces/pig-master/reports/flushing-monitor.ts","../src/namespaces/pig-master/reports/gilt-inventory.ts","../src/namespaces/pig-master/reports/gta-list.ts","../src/namespaces/pig-master/reports/heat-detection-collection-form.ts","../src/namespaces/pig-master/reports/heat-detection-list.ts","../src/namespaces/pig-master/reports/heat-monitoring.ts","../src/namespaces/pig-master/reports/location-list.ts","../src/namespaces/pig-master/reports/maternity-piglet-death-analysis.ts","../src/namespaces/pig-master/reports/maternity-piglet-death-collection-form.ts","../src/namespaces/pig-master/reports/maternity-piglet-death-list.ts","../src/namespaces/pig-master/reports/maternity-piglet-transfer-collection-form.ts","../src/namespaces/pig-master/reports/maternity-piglet-transfer-list.ts","../src/namespaces/pig-master/reports/mating-analysis.ts","../src/namespaces/pig-master/reports/mating-collection-form.ts","../src/namespaces/pig-master/reports/mating-group-list.ts","../src/namespaces/pig-master/reports/mating-list.ts","../src/namespaces/pig-master/reports/mating-overview.ts","../src/namespaces/pig-master/reports/mbrf-female-swine-record.ts","../src/namespaces/pig-master/reports/nursery-piglet-death-collection-form.ts","../src/namespaces/pig-master/reports/origin-list.ts","../src/namespaces/pig-master/reports/parity-structure.ts","../src/namespaces/pig-master/reports/pre-flushing-female-swine-list.ts","../src/namespaces/pig-master/reports/pregnant-female-swine-list.ts","../src/namespaces/pig-master/reports/pregnant-female-swine-sale-list.ts","../src/namespaces/pig-master/reports/reproductive-failure-analysis.ts","../src/namespaces/pig-master/reports/reproductive-failure-collection-form.ts","../src/namespaces/pig-master/reports/reproductive-failure-list.ts","../src/namespaces/pig-master/reports/score-list.ts","../src/namespaces/pig-master/reports/weaning-analysis.ts","../src/namespaces/pig-master/reports/weaning-collection-form.ts","../src/namespaces/pig-master/reports/weaning-forecast.ts","../src/namespaces/pig-master/reports/weaning-list.ts","../src/namespaces/pig-master/reports/weaning-overview.ts","../src/namespaces/pig-master/index.ts","../src/jaspion.ts"],"sourcesContent":["import type { HttpClient } from './http-client'\n\ntype ContentType = 'application/pdf' | 'text/csv'\n\nexport interface Parameter {\n key: string\n value: string | number | boolean | null\n}\n\nexport interface Resource {\n key: string\n value: string\n}\n\nexport interface RequestReportInput {\n contentType: ContentType\n parameters: Parameter[]\n resources: Resource[]\n}\n\nexport abstract class Report {\n abstract readonly template: string\n abstract fileName: string\n\n constructor(private readonly http: HttpClient) {}\n\n protected async requestPdf(input: Omit<RequestReportInput, 'contentType'>) {\n await this.request({\n ...input,\n contentType: 'application/pdf',\n })\n }\n\n protected async requestCsv(input: Omit<RequestReportInput, 'contentType'>) {\n await this.request({\n ...input,\n contentType: 'text/csv',\n })\n }\n\n private async request({\n contentType,\n parameters,\n resources,\n }: RequestReportInput) {\n const fileExtensions: Record<ContentType, string> = {\n 'application/pdf': '.pdf',\n 'text/csv': '.csv',\n }\n\n const fileName = `${this.fileName}${fileExtensions[contentType]}`\n\n return this.http.request({\n method: 'POST',\n path: '/reports',\n body: {\n template: this.template,\n fileName,\n parameters,\n resources,\n contentType,\n type: 'jasper-reports',\n },\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\n\ninterface BirthPlaceListInput {\n farmId: string\n language: Language\n}\n\nexport class BirthPlaceList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/birth-place-list'\n fileName = 'Listagem de procedências'\n\n async pdf(input: BirthPlaceListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: BirthPlaceListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: BirthPlaceListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: BirthPlaceListInput) {\n return [{ key: 'LOCATE', value: input.language.replace('-', '_') }]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface BoarByBreedListInput {\n farmId: string\n language: Language\n breedId: string | null\n calendarType: CalendarType\n}\n\nexport class BoarByBreedList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/boar-by-breed-list'\n fileName = 'Machos por raça'\n\n async pdf(input: BoarByBreedListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: BoarByBreedListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: BoarByBreedListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: BoarByBreedListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'CALENDAR', value: input.calendarType },\n ]\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface BoarDeathCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class BoarDeathCollectionForm extends Report implements PdfReport {\n readonly template = '@pig-master/boar-death-collection-form'\n fileName = 'Morte de macho'\n\n async pdf(input: BoarDeathCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface BoarDeathListInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n arrivalDateRange: { start: string; end: string } | null\n language: Language\n causeId: string | null\n breedId: string | null\n originId: string | null\n birthPlaceId: string | null\n calendarType: CalendarType\n}\n\nexport class BoarDeathList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/boar-death-list'\n fileName = 'Mortes de machos'\n\n async pdf(input: BoarDeathListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: BoarDeathListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: BoarDeathListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: BoarDeathListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'CAUSE_ID', value: input.causeId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CALENDAR', value: input.calendarType },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n ]\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface BoarDiscardCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class BoarDiscardCollectionForm extends Report implements PdfReport {\n readonly template = '@pig-master/boar-discard-collection-form'\n fileName = 'Descarte de macho'\n\n async pdf(input: BoarDiscardCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface BoarDiscardListInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n arrivalDateRange: { start: string; end: string } | null\n language: Language\n causeId: string | null\n breedId: string | null\n originId: string | null\n birthPlaceId: string | null\n recipientId: string | null\n calendarType: CalendarType\n}\n\nexport class BoarDiscardList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/boar-discard-list'\n fileName = 'Descartes de machos'\n\n async pdf(input: BoarDiscardListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: BoarDiscardListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: BoarDiscardListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: BoarDiscardListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'CAUSE_ID', value: input.causeId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'RECIPIENT_ID', value: input.recipientId },\n { key: 'CALENDAR', value: input.calendarType },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface BoarEarTagReplacementListInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n oldEarTag: string | null\n newEarTag: string | null\n calendarType: CalendarType\n}\n\nexport class BoarEarTagReplacementList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/boar-ear-tag-replacement-list'\n fileName = 'Trocas de brinco de macho'\n\n async pdf(input: BoarEarTagReplacementListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: BoarEarTagReplacementListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: BoarEarTagReplacementListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: BoarEarTagReplacementListInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'OLD_EAR_TAG', value: input.oldEarTag },\n { key: 'NEW_EAR_TAG', value: input.newEarTag },\n { key: 'CALENDAR', value: input.calendarType },\n ]\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface BoarTreatmentCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class BoarTreatmentCollectionForm extends Report implements PdfReport {\n readonly template = '@pig-master/boar-treatment-collection-form'\n fileName = 'Medicação / vacinação de macho'\n\n async pdf(input: BoarTreatmentCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface BoarTreatmentListInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n calendarType: CalendarType\n language: Language\n boarId: string | null\n}\n\nexport class BoarTreatmentList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/boar-treatment-list'\n fileName = 'Listagem de medicações / vacinas (machos)'\n\n async pdf(input: BoarTreatmentListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: BoarTreatmentListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: BoarTreatmentListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: BoarTreatmentListInput) {\n return [\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'BOAR_ID', value: input.boarId },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface BoarsInventoryInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n}\n\nexport class BoarsInventory extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/boars-inventory'\n fileName = 'Estoque de machos'\n\n async pdf(input: BoarsInventoryInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: BoarsInventoryInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: BoarsInventoryInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: BoarsInventoryInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\n\ninterface BreedListInput {\n farmId: string\n language: Language\n}\n\nexport class BreedList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/breed-list'\n fileName = 'Listagem de raças'\n\n async pdf(input: BreedListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: BreedListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: BreedListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: BreedListInput) {\n return [{ key: 'LOCATE', value: input.language.replace('-', '_') }]\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface BreedingMonitorInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n}\n\nexport class BreedingMonitor extends Report implements PdfReport {\n readonly template = '@pig-master/breeding-monitor'\n fileName = 'Monitor de Reprodução'\n\n async pdf(input: BreedingMonitorInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface BreedingProjectionInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n}\n\nexport class BreedingProjection extends Report implements PdfReport {\n readonly template = '@pig-master/breeding-projection'\n fileName = 'Projeção de reprodução'\n\n async pdf(input: BreedingProjectionInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: BreedingProjectionInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: BreedingProjectionInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: BreedingProjectionInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { OrderBy } from '../core/order-by'\n\ninterface CauseListInput {\n farmId: string\n language: Language\n description: string | null\n orderBy: OrderBy<'name' | 'createdAt'>\n availability:\n | 'reproductive-failure'\n | 'female-swine-discard'\n | 'female-swine-death'\n | 'boar-discard'\n | 'boar-death'\n | 'maternity-piglet-death'\n | 'nursery-piglet-death'\n | 'finishing-piglet-death'\n | 'nursery-piglet-discard'\n | 'finishing-piglet-discard'\n | null\n}\n\nexport class CauseList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/cause-list'\n fileName = 'Listagem de motivos'\n\n async pdf(input: CauseListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: CauseListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: CauseListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: CauseListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'ORDERBYCOLUMN', value: input.orderBy.column },\n { key: 'ORDERBYDIRECTION', value: input.orderBy.direction },\n { key: 'DESCRIPTION', value: input.description },\n { key: 'AVAILABILITY', value: input.availability },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\n\ninterface DrugListInput {\n farmId: string\n language: Language\n}\n\nexport class DrugList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/drug-list'\n fileName = 'Listagem de medicamentos / vacinas'\n\n async pdf(input: DrugListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: DrugListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: DrugListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: DrugListInput) {\n return [{ key: 'LOCATE', value: input.language.replace('-', '_') }]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface EmployeeListInput {\n farmId: string\n language: Language\n calendarType: CalendarType\n}\n\nexport class EmployeeList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/employee-list'\n fileName = 'Listagem de funcionários'\n\n async pdf(input: EmployeeListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: EmployeeListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: EmployeeListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: EmployeeListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'CALENDAR', value: input.calendarType },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FarmSummaryInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n}\n\nexport class FarmSummary extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/farm-summary'\n fileName = 'Fechamento de período'\n\n async pdf(input: FarmSummaryInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FarmSummaryInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FarmSummaryInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FarmSummaryInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n ]\n }\n}\n","import type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ntype FarrowingAnalysisGroupBy =\n | 'year-period'\n | 'parity'\n | 'employee'\n | 'breed'\n | 'doses'\n | 'first-mating-age'\n | 'first-mating-weight'\n | 'interval-from-weaning'\n | 'day-of-week'\n | 'lactation-length'\n | 'origin'\n | 'arrival-daily-gain'\n | 'first-mating-daily-gain'\n | 'farrowing-classification'\n | 'month-year'\n | 'score'\n\ntype FarrowingAnalysisEmphasis =\n | 'farrowing-count'\n | 'total-born-count'\n | 'liveborn-count'\n | 'liveborn-percentage'\n | 'average-liveborn'\n | 'stillborn-count'\n | 'stillborn-percentage'\n | 'average-stillborn'\n | 'mummified-count'\n | 'mummified-percentage'\n | 'average-mummified'\n | 'average-litter-birth-weight'\n | 'average-farrowing-duration'\n | 'induction-count'\n | 'intervention-count'\n | 'average-gestation-length'\n | 'farrowing-percentage'\n\ninterface FarrowingAnalysisInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n matingDateRange: { start: string; end: string } | null\n calendarType: CalendarType\n groupBy: FarrowingAnalysisGroupBy\n emphasis: FarrowingAnalysisEmphasis\n parity: number | null\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n femaleSwineId: string | null\n language: Language\n}\n\nexport class FarrowingAnalysis extends Report implements PdfReport {\n readonly template = '@pig-master/farrowing-analysis'\n fileName = 'Análise de partos'\n\n async pdf(input: FarrowingAnalysisInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'GROUP', value: input.groupBy },\n { key: 'FIELD', value: input.emphasis },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n {\n key: 'MATING_DATE_BEGIN',\n value: input.matingDateRange?.start ?? null,\n },\n { key: 'MATING_DATE_END', value: input.matingDateRange?.end ?? null },\n ],\n })\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FarrowingCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class FarrowingCollectionForm extends Report implements PdfReport {\n readonly template = '@pig-master/farrowing-collection-form'\n fileName = 'Parto'\n\n async pdf(input: FarrowingCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FarrowingForecastInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n parity: number | null\n locationId: string | null\n pen: string | null\n}\n\nexport class FarrowingForecast extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/farrowing-forecast'\n fileName = 'Previsão de partos'\n\n async pdf(input: FarrowingForecastInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FarrowingForecastInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FarrowingForecastInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FarrowingForecastInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'LOCATION_ID', value: input.locationId },\n { key: 'PEN', value: input.pen },\n ]\n }\n}\n","export function toSnakeCase(str: string) {\n return str.replace(/[A-Z]/g, (letter, index) => {\n return index === 0 ? letter.toLowerCase() : `_${letter.toLowerCase()}`\n })\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport { toSnakeCase } from '../../../core/to-snake-case'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { OrderBy } from '../core/order-by'\n\ninterface FarrowingListInput {\n farmId: string\n calendarType: CalendarType\n dateRange: { start: string; end: string } | null\n femaleSwineId: string | null\n parity: number | null\n matingDateRange: { start: string; end: string } | null\n birthPlaceId: string | null\n originId: string | null\n breedId: string | null\n orderBy: OrderBy<\n 'date' | 'parity' | 'liveborn' | 'stillborn' | 'mummified' | 'createdAt'\n >\n}\n\nexport class FarrowingList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/farrowing-list'\n fileName = 'Listagem de partos'\n\n async pdf(input: FarrowingListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FarrowingListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FarrowingListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FarrowingListInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'MATING_DATE_BEGIN', value: input.matingDateRange?.start ?? null },\n { key: 'MATING_DATE_END', value: input.matingDateRange?.end ?? null },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'ORDERBYDIRECTION', value: input.orderBy.direction },\n { key: 'ORDERBYCOLUMN', value: toSnakeCase(input.orderBy.column) },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\n\ninterface FarrowingTypeListInput {\n farmId: string\n language: Language\n}\n\nexport class FarrowingTypeList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/farrowing-type-list'\n fileName = 'Listagem de tipos de parto'\n\n async pdf(input: FarrowingTypeListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FarrowingTypeListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FarrowingTypeListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FarrowingTypeListInput) {\n return [{ key: 'LOCATE', value: input.language.replace('-', '_') }]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { Pagination } from '../core/pagination'\n\ninterface FemaleSwineArrivalMonitoringInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n pagination: Pagination\n originId: string | null\n}\n\nexport class FemaleSwineArrivalMonitoring\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-arrival-monitoring'\n fileName = 'Acompanhamento do lote'\n\n async pdf(input: FemaleSwineArrivalMonitoringInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwineArrivalMonitoringInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwineArrivalMonitoringInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwineArrivalMonitoringInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'PAGE', value: input.pagination.page },\n { key: 'PER_PAGE', value: input.pagination.perPage },\n { key: 'ORIGIN_ID', value: input.originId },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineProductivityStatus } from '../core/female-swine-productivity-status'\n\ninterface FemaleSwineByBreedListInput {\n farmId: string\n language: Language\n breedId: string | null\n productivityStatus: FemaleSwineProductivityStatus | null\n calendarType: CalendarType\n}\n\nexport class FemaleSwineByBreedList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-by-breed-list'\n fileName = 'Fêmeas por raça'\n\n async pdf(input: FemaleSwineByBreedListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwineByBreedListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwineByBreedListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwineByBreedListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'BREED_ID', value: input.breedId },\n {\n key: 'REMOVE_GILT_SOW',\n value: input.productivityStatus === 'productive',\n },\n { key: 'CALENDAR', value: input.calendarType },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineStatus } from '../core/female-swine-status'\n\ninterface FemaleSwineByParityListInput {\n farmId: string\n language: Language\n parity: number | null\n breedId: string | null\n originId: string | null\n birthPlaceId: string | null\n status: FemaleSwineStatus | null\n calendarType: CalendarType\n}\n\nexport class FemaleSwineByParityList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-by-parity-list'\n fileName = 'Fêmeas por cria'\n\n async pdf(input: FemaleSwineByParityListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwineByParityListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwineByParityListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwineByParityListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'STATUS', value: input.status },\n { key: 'CALENDAR', value: input.calendarType },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineLifecycleStatus } from '../core/female-swine-lifecycle-status'\nimport type { FemaleSwineOrderBy } from '../core/female-swine-order-by'\nimport type { FemaleSwineStatus } from '../core/female-swine-status'\nimport type { OrderBy } from '../core/order-by'\n\ninterface FemaleSwineByStatusListInput {\n farmId: string\n language: Language\n status: FemaleSwineStatus | null\n calendarType: CalendarType\n gestationLengthRange: { start: number; end: number } | null\n lastEventDateRange: { start: string; end: string } | null\n parity: number | null\n breedId: string | null\n originId: string | null\n birthPlaceId: string | null\n lifecycleStatus: FemaleSwineLifecycleStatus | null\n arrivalDateRange: { start: string; end: string } | null\n orderBy: OrderBy<FemaleSwineOrderBy>\n}\n\nexport class FemaleSwineByStatusList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-by-status-list'\n fileName = 'Fêmeas por status'\n\n async pdf(input: FemaleSwineByStatusListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwineByStatusListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwineByStatusListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwineByStatusListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'STATUS', value: input.status },\n {\n key: 'DAYSTODAY_BEGIN',\n value: input.gestationLengthRange?.start.toString() ?? null,\n },\n {\n key: 'DAYSTODAY_END',\n value: input.gestationLengthRange?.end.toString() ?? null,\n },\n { key: 'CALENDAR', value: input.calendarType },\n {\n key: 'LAST_EVENT_DATE_BEGIN',\n value: input.lastEventDateRange?.start ?? null,\n },\n {\n key: 'LAST_EVENT_DATE_END',\n value: input.lastEventDateRange?.end ?? null,\n },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'LIFECYCLE_STATUS', value: input.lifecycleStatus },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n { key: 'ORDERBYCOLUMN', value: input.orderBy.column },\n { key: 'ORDERBYDIRECTION', value: input.orderBy.direction },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineLifecycleStatus } from '../core/female-swine-lifecycle-status'\n\ninterface FemaleSwineByTraceabilityListInput {\n farmId: string\n language: Language\n birthPlaceId: string | null\n originId: string | null\n gtaId: string | null\n calendarType: CalendarType\n arrivalDateRange: { start: string; end: string } | null\n lifecycleStatus: FemaleSwineLifecycleStatus | null\n}\n\nexport class FemaleSwineByTraceabilityList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-by-traceability-list'\n fileName = 'Fêmeas por rastreabilidade'\n\n async pdf(input: FemaleSwineByTraceabilityListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwineByTraceabilityListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwineByTraceabilityListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwineByTraceabilityListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'GTA_ID', value: input.gtaId },\n { key: 'CALENDAR', value: input.calendarType },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n { key: 'LIFECYCLE_STATUS', value: input.lifecycleStatus },\n ]\n }\n}\n","import type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineStatus } from '../core/female-swine-status'\n\ninterface FemaleSwineDeathAnalysisInput {\n farmId: string\n language: Language\n groupBy: 'parity' | 'cause'\n dateRange: { start: string; end: string } | null\n causeId: string | null\n parity: number | null\n breedId: string | null\n originId: string | null\n birthPlaceId: string | null\n status: FemaleSwineStatus | null\n calendarType: CalendarType\n arrivalDateRange: { start: string; end: string } | null\n}\n\nexport class FemaleSwineDeathAnalysis extends Report implements PdfReport {\n readonly template = '@pig-master/female-swine-death-analysis'\n fileName = 'Análise morte de fêmeas'\n\n async pdf(input: FemaleSwineDeathAnalysisInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'GROUPED_DESCRIPTION', value: input.groupBy },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CAUSE_ID', value: input.causeId },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'STATUS', value: input.status },\n { key: 'CALENDAR', value: input.calendarType },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n ],\n })\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FemaleSwineDeathCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class FemaleSwineDeathCollectionForm\n extends Report\n implements PdfReport\n{\n readonly template = '@pig-master/female-swine-death-collection-form'\n fileName = 'Morte de fêmea'\n\n async pdf(input: FemaleSwineDeathCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineStatus } from '../core/female-swine-status'\n\ninterface FemaleSwineDeathListInput {\n farmId: string\n language: Language\n dateRange: { start: string; end: string } | null\n causeId: string | null\n parity: number | null\n breedId: string | null\n originId: string | null\n birthPlaceId: string | null\n status: FemaleSwineStatus | null\n calendarType: CalendarType\n arrivalDateRange: { start: string; end: string } | null\n}\n\nexport class FemaleSwineDeathList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-death-list'\n fileName = 'Morte de fêmeas'\n\n async pdf(input: FemaleSwineDeathListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwineDeathListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwineDeathListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwineDeathListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CAUSE_ID', value: input.causeId },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'STATUS', value: input.status },\n { key: 'CALENDAR', value: input.calendarType },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n ]\n }\n}\n","import type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineStatus } from '../core/female-swine-status'\n\ninterface FemaleSwineDiscardAnalysisInput {\n farmId: string\n language: Language\n groupBy: 'parity' | 'cause'\n dateRange: { start: string; end: string } | null\n causeId: string | null\n parity: number | null\n breedId: string | null\n originId: string | null\n birthPlaceId: string | null\n recipientId: string | null\n status: FemaleSwineStatus | null\n calendarType: CalendarType\n arrivalDateRange: { start: string; end: string } | null\n}\n\nexport class FemaleSwineDiscardAnalysis extends Report implements PdfReport {\n readonly template = '@pig-master/female-swine-discard-analysis'\n fileName = 'Análise descarte de fêmeas'\n\n async pdf(input: FemaleSwineDiscardAnalysisInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'GROUPED_DESCRIPTION', value: input.groupBy },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CAUSE_ID', value: input.causeId },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'RECIPIENT_ID', value: input.recipientId },\n { key: 'STATUS', value: input.status },\n { key: 'CALENDAR', value: input.calendarType },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n ],\n })\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FemaleSwineDiscardCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class FemaleSwineDiscardCollectionForm\n extends Report\n implements PdfReport\n{\n readonly template = '@pig-master/female-swine-discard-collection-form'\n fileName = 'Descarte de fêmea'\n\n async pdf(input: FemaleSwineDiscardCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineStatus } from '../core/female-swine-status'\n\ninterface FemaleSwineDiscardListInput {\n farmId: string\n language: Language\n causeId: string | null\n breedId: string | null\n originId: string | null\n birthPlaceId: string | null\n dateRange: { start: string; end: string } | null\n parity: number | null\n recipientId: string | null\n status: FemaleSwineStatus | null\n calendarType: CalendarType\n arrivalDateRange: { start: string; end: string } | null\n}\n\nexport class FemaleSwineDiscardList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-discard-list'\n fileName = 'Descarte de fêmeas'\n\n async pdf(input: FemaleSwineDiscardListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwineDiscardListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwineDiscardListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwineDiscardListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'CAUSE_ID', value: input.causeId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'RECIPIENT_ID', value: input.recipientId },\n { key: 'STATUS', value: input.status },\n { key: 'CALENDAR', value: input.calendarType },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FemaleSwineEarTagReplacementListInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n oldEarTag: string | null\n newEarTag: string | null\n calendarType: CalendarType\n}\n\nexport class FemaleSwineEarTagReplacementList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-ear-tag-replacement-list'\n fileName = 'Trocas de brinco de fêmeas'\n\n async pdf(input: FemaleSwineEarTagReplacementListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwineEarTagReplacementListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwineEarTagReplacementListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwineEarTagReplacementListInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'OLD_EAR_TAG', value: input.oldEarTag },\n { key: 'NEW_EAR_TAG', value: input.newEarTag },\n { key: 'CALENDAR', value: input.calendarType },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FemaleSwineInventoryInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n}\n\nexport class FemaleSwineInventory\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-inventory'\n fileName = 'Estoque de fêmeas'\n\n async pdf(input: FemaleSwineInventoryInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwineInventoryInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwineInventoryInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwineInventoryInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineStatus } from '../core/female-swine-status'\n\ninterface FemaleSwinePendingActionListInput {\n farmId: string\n language: Language\n status: FemaleSwineStatus | null\n calendarType: CalendarType\n}\n\nexport class FemaleSwinePendingActionList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-pending-action-list'\n fileName = 'Ações pendentes'\n\n async pdf(input: FemaleSwinePendingActionListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwinePendingActionListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwinePendingActionListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwinePendingActionListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'STATUS', value: input.status },\n { key: 'CALENDAR', value: input.calendarType },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineOrderBy } from '../core/female-swine-order-by'\nimport type { FemaleSwinePreDiscard } from '../core/female-swine-pre-discard'\nimport type { OrderBy } from '../core/order-by'\n\ninterface FemaleSwinePreDiscardListInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n calendarType: CalendarType\n language: Language\n preDiscard: FemaleSwinePreDiscard | null\n orderBy: OrderBy<FemaleSwineOrderBy>\n}\n\nexport class FemaleSwinePreDiscardList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-pre-discard-list'\n fileName = 'Listagem de pré-descartes de fêmeas'\n\n async pdf(input: FemaleSwinePreDiscardListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwinePreDiscardListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwinePreDiscardListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwinePreDiscardListInput) {\n return [\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'PRE_DISCARD', value: input.preDiscard },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'ORDERBYCOLUMN', value: input.orderBy.column },\n { key: 'ORDERBYDIRECTION', value: input.orderBy.direction },\n ]\n }\n}\n","import type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FemaleSwineRecordInput {\n farmId: string\n language: Language\n femaleSwineId: string\n farrowingAssistance: boolean\n calendarType: CalendarType\n}\n\nexport class FemaleSwineRecord extends Report implements PdfReport {\n readonly template = '@pig-master/female-swine-record'\n fileName = 'Ficha da fêmea'\n\n async pdf(input: FemaleSwineRecordInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n { key: 'BORN_FOLLOW', value: input.farrowingAssistance },\n { key: 'CALENDAR', value: input.calendarType },\n ],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineOrderBy } from '../core/female-swine-order-by'\nimport type { OrderBy } from '../core/order-by'\n\ninterface FemaleSwineSalePlanningListInput {\n farmId: string\n query: string | null\n dateRange: { start: string; end: string } | null\n calendarType: CalendarType\n recipientId: string | null\n orderBy: OrderBy<FemaleSwineOrderBy>\n}\n\nexport class FemaleSwineSalePlanningList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-sale-planning-list'\n fileName = 'Listagem de fêmeas planejadas para venda'\n\n async pdf(input: FemaleSwineSalePlanningListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwineSalePlanningListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwineSalePlanningListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwineSalePlanningListInput) {\n return [\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'QUERY', value: input.query },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'RECIPIENT_ID', value: input.recipientId },\n { key: 'ORDERBYCOLUMN', value: input.orderBy.column },\n { key: 'ORDERBYDIRECTION', value: input.orderBy.direction },\n ]\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FemaleSwineTreatmentCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class FemaleSwineTreatmentCollectionForm\n extends Report\n implements PdfReport\n{\n readonly template = '@pig-master/female-swine-treatment-collection-form'\n fileName = 'Medicação / vacinação de fêmea'\n\n async pdf(input: FemaleSwineTreatmentCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FemaleSwineTreatmentListInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n calendarType: CalendarType\n language: Language\n femaleSwineId: string | null\n}\n\nexport class FemaleSwineTreatmentList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/female-swine-treatment-list'\n fileName = 'Listagem de medicações / vacinas (fêmeas)'\n\n async pdf(input: FemaleSwineTreatmentListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FemaleSwineTreatmentListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FemaleSwineTreatmentListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FemaleSwineTreatmentListInput) {\n return [\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n ]\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FinishingPigletDeathCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class FinishingPigletDeathCollectionForm\n extends Report\n implements PdfReport\n{\n readonly template = '@pig-master/finishing-piglet-death-collection-form'\n fileName = 'Morte de leitão na terminação'\n\n async pdf(input: FinishingPigletDeathCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FlushingFemaleSwineListInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n originId: string | null\n}\n\nexport class FlushingFemaleSwineList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/flushing-female-swine-list'\n fileName = 'Fêmeas flushing'\n\n async pdf(input: FlushingFemaleSwineListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FlushingFemaleSwineListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FlushingFemaleSwineListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FlushingFemaleSwineListInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'ORIGIN_ID', value: input.originId },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface FlushingMonitorInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n originId: string | null\n}\n\nexport class FlushingMonitor extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/flushing-monitor'\n fileName = 'Flushing'\n\n async pdf(input: FlushingMonitorInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: FlushingMonitorInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: FlushingMonitorInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: FlushingMonitorInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'ORIGIN_ID', value: input.originId },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface GiltInventoryInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n}\n\nexport class GiltInventory extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/gilt-inventory'\n fileName = 'Estoque de leitoas'\n\n async pdf(input: GiltInventoryInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: GiltInventoryInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: GiltInventoryInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: GiltInventoryInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface GtaListInput {\n farmId: string\n language: Language\n calendarType: CalendarType\n}\n\nexport class GtaList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/gta-list'\n fileName = 'Listagem de gtas'\n\n async pdf(input: GtaListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: GtaListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: GtaListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: GtaListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'CALENDAR', value: input.calendarType },\n ]\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface HeatDetectionCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class HeatDetectionCollectionForm extends Report implements PdfReport {\n readonly template = '@pig-master/heat-detection-collection-form'\n fileName = 'Registro de cio'\n\n async pdf(input: HeatDetectionCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { OrderBy } from '../core/order-by'\n\ninterface HeatDetectionListInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n arrivalDateRange: { start: string; end: string } | null\n language: Language\n calendarType: CalendarType\n originId: string | null\n femaleSwineId: string | null\n number: number | null\n stimulus: 'hormone-free' | 'hormonal' | null\n orderBy: OrderBy<'date' | 'number' | 'createdAt'>\n}\n\nexport class HeatDetectionList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/heat-detection-list'\n fileName = 'Listagem de registros de cio'\n\n async pdf(input: HeatDetectionListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: HeatDetectionListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: HeatDetectionListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: HeatDetectionListInput) {\n return [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'ORIGIN_ID', value: input.originId },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n { key: 'NUMBER', value: input.number?.toString() ?? null },\n { key: 'STIMULUS', value: input.stimulus },\n { key: 'ORDERBYDIRECTION', value: input.orderBy.direction },\n { key: 'ORDERBYCOLUMN', value: input.orderBy.column },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { Pagination } from '../core/pagination'\n\ninterface HeatMonitoringInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n pagination: Pagination\n originId: string | null\n}\n\nexport class HeatMonitoring extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/heat-monitoring'\n fileName = 'Mapa de Cio'\n\n async pdf(input: HeatMonitoringInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: HeatMonitoringInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: HeatMonitoringInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: HeatMonitoringInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'PAGE', value: input.pagination.page },\n { key: 'PER_PAGE', value: input.pagination.perPage },\n { key: 'ORIGIN_ID', value: input.originId },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\n\ninterface LocationListInput {\n farmId: string\n language: Language\n}\n\nexport class LocationList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/location-list'\n fileName = 'Listagem de localizações'\n\n async pdf(input: LocationListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: LocationListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: LocationListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: LocationListInput) {\n return [{ key: 'LOCATE', value: input.language.replace('-', '_') }]\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FarrowingInduction } from '../core/farrowing-induction'\nimport type { FarrowingIntervention } from '../core/farrowing-intervention'\nimport type { MaternityContext } from '../core/maternity-context'\n\ntype MaternityPigletDeathAnalysisGroupBy =\n | 'year-period'\n | 'parity'\n | 'employee'\n | 'breed'\n | 'day-of-week'\n | 'month-year'\n | 'origin'\n | 'location'\n | 'lactation-length'\n | 'lactation-length-category'\n | 'score'\n | 'context'\n | 'cause'\n | 'farrowing-classification'\n\ntype MaternityPigletDeathAnalysisEmphasis =\n | 'dead-piglet-count'\n | 'dead-piglet-percentage'\n | 'average-dead-piglet-age'\n\ninterface MaternityPigletDeathAnalysisInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n calendarType: CalendarType\n groupBy: MaternityPigletDeathAnalysisGroupBy\n emphasis: MaternityPigletDeathAnalysisEmphasis\n femaleSwineId: string | null\n parity: number | null\n context: MaternityContext | null\n causeId: string | null\n employeeId: string | null\n femaleSwineBreedId: string | null\n femaleSwineOriginId: string | null\n scoreId: string | null\n locationId: string | null\n pen: string | null\n farrowingInduction: FarrowingInduction | null\n farrowingIntervention: FarrowingIntervention | null\n}\n\nexport class MaternityPigletDeathAnalysis extends Report implements PdfReport {\n readonly template = '@pig-master/maternity-piglet-death-analysis'\n fileName = 'Análise de mortes de leitões na maternidade'\n\n async pdf(input: MaternityPigletDeathAnalysisInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'GROUP', value: input.groupBy },\n { key: 'FIELD', value: input.emphasis },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'ORIGIN_ID', value: input.femaleSwineOriginId },\n { key: 'BREED_ID', value: input.femaleSwineBreedId },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n { key: 'EMPLOYEE_ID', value: input.employeeId },\n { key: 'LOCATION_ID', value: input.locationId },\n { key: 'PEN', value: input.pen },\n { key: 'CAUSE_ID', value: input.causeId },\n { key: 'SCORE_ID', value: input.scoreId },\n { key: 'CONTEXT', value: input.context },\n { key: 'INDUCTION', value: input.farrowingInduction },\n { key: 'INTERVENTION', value: input.farrowingIntervention },\n ],\n })\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface MaternityPigletDeathCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class MaternityPigletDeathCollectionForm\n extends Report\n implements PdfReport\n{\n readonly template = '@pig-master/maternity-piglet-death-collection-form'\n fileName = 'Morte de leitão na maternidade'\n\n async pdf(input: MaternityPigletDeathCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { MaternityContext } from '../core/maternity-context'\n\ninterface MaternityPigletDeathListInput {\n farmId: string\n calendarType: CalendarType\n dateRange: { start: string; end: string } | null\n femaleSwineId: string | null\n parity: number | null\n context: MaternityContext | null\n employeeId: string | null\n causeId: string | null\n}\n\nexport class MaternityPigletDeathList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/maternity-piglet-death-list'\n fileName = 'Listagem de mortes de leitão'\n\n async pdf(input: MaternityPigletDeathListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: MaternityPigletDeathListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: MaternityPigletDeathListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: MaternityPigletDeathListInput) {\n return [\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'CONTEXT', value: input.context },\n { key: 'EMPLOYEE_ID', value: input.employeeId },\n { key: 'CAUSE_ID', value: input.causeId },\n ]\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface MaternityPigletTransferCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class MaternityPigletTransferCollectionForm\n extends Report\n implements PdfReport\n{\n readonly template = '@pig-master/maternity-piglet-transfer-collection-form'\n fileName = 'Transferência de leitão na maternidade'\n\n async pdf(input: MaternityPigletTransferCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { MaternityContext } from '../core/maternity-context'\n\ninterface MaternityPigletTransferListInput {\n dateRange: { start: string; end: string } | null\n calendarType: CalendarType\n donorId: string | null\n donorParity: number | null\n donorContext: MaternityContext | null\n recipientId: string | null\n recipientParity: number | null\n recipientContext: MaternityContext | null\n farmId: string\n}\n\nexport class MaternityPigletTransferList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/maternity-piglet-transfer-list'\n fileName = 'Listagem de transferências de leitão'\n\n async pdf(input: MaternityPigletTransferListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: MaternityPigletTransferListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: MaternityPigletTransferListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: MaternityPigletTransferListInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'DONOR_ID', value: input.donorId },\n { key: 'DONOR_PARITY', value: input.donorParity?.toString() ?? null },\n { key: 'DONOR_CONTEXT', value: input.donorContext },\n { key: 'RECIPIENT_ID', value: input.recipientId },\n {\n key: 'RECIPIENT_PARITY',\n value: input.recipientParity?.toString() ?? null,\n },\n { key: 'RECIPIENT_CONTEXT', value: input.recipientContext },\n ]\n }\n}\n","import type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineArrivalReproductiveStatus } from '../core/female-swine-arrival-reproductive-status'\nimport type { MatingContext } from '../core/mating-context'\nimport type { MatingMethod } from '../core/mating-method'\n\ntype MatingAnalysisGroupBy =\n | 'doses'\n | 'parity'\n | 'employee'\n | 'breeder'\n | 'year-period'\n | 'first-mating-age'\n | 'interval-from-weaning'\n | 'origin'\n | 'average-daily-gain'\n | 'score'\n | 'month-year'\n\ntype MatingAnalysisEmphasis =\n | 'mating-count'\n | 'mating-percentage'\n | 'first-mating-count'\n | 'normal-mating-count'\n | 'estrus-return-mating-count'\n | 'post-reproductive-failure-mating-count'\n | 'first-mating-percentage'\n | 'normal-mating-percentage'\n | 'estrus-return-mating-percentage'\n | 'post-reproductive-failure-mating-percentage'\n | 'average-interval-from-weaning'\n | 'average-interval-from-reproductive-failure'\n | 'average-interval-from-last-mating'\n\ninterface MatingAnalysisInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n arrivalDateRange: { start: string; end: string } | null\n calendarType: CalendarType\n groupBy: MatingAnalysisGroupBy\n emphasis: MatingAnalysisEmphasis\n parity: number | null\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n femaleSwineId: string | null\n arrivalReproductiveStatus: FemaleSwineArrivalReproductiveStatus | null\n matingContext: MatingContext | null\n method: MatingMethod | null\n language: Language\n}\n\nexport class MatingAnalysis extends Report implements PdfReport {\n readonly template = '@pig-master/mating-analysis'\n fileName = 'Análise de coberturas'\n\n async pdf(input: MatingAnalysisInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'GROUP', value: input.groupBy },\n { key: 'FIELD', value: input.emphasis },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n {\n key: 'ARRIVAL_REPRODUCTIVE_STATUS',\n value: input.arrivalReproductiveStatus,\n },\n { key: 'MATING_CONTEXT', value: input.matingContext },\n { key: 'METHOD', value: input.method },\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n ],\n })\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface MatingCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class MatingCollectionForm extends Report implements PdfReport {\n readonly template = '@pig-master/mating-collection-form'\n fileName = 'Cobertura'\n\n async pdf(input: MatingCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\n\ninterface MatingGroupListInput {\n farmId: string\n language: Language\n}\n\nexport class MatingGroupList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/mating-group-list'\n fileName = 'Listagem de grupos de cobertura'\n\n async pdf(input: MatingGroupListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: MatingGroupListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: MatingGroupListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: MatingGroupListInput) {\n return [{ key: 'LOCATE', value: input.language.replace('-', '_') }]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { FemaleSwineArrivalReproductiveStatus } from '../core/female-swine-arrival-reproductive-status'\nimport type { MatingContext } from '../core/mating-context'\nimport type { MatingMethod } from '../core/mating-method'\nimport type { OrderBy } from '../core/order-by'\n\ninterface MatingListInput {\n farmId: string\n orderBy: OrderBy<'date' | 'parity' | 'createdAt'>\n language: Language\n calendarType: CalendarType\n managementCycle: number\n dateRange: { start: string; end: string } | null\n arrivalDateRange: { start: string; end: string } | null\n parity: number | null\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n femaleSwineId: string | null\n arrivalReproductiveStatus: FemaleSwineArrivalReproductiveStatus | null\n matingContext: MatingContext | null\n method: MatingMethod | null\n}\n\nexport class MatingList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/mating-list'\n fileName = 'Listagem de coberturas'\n\n async pdf(input: MatingListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: MatingListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: MatingListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: MatingListInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'MANAGEMENT_CYCLE', value: input.managementCycle },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n {\n key: 'ARRIVAL_REPRODUCTIVE_STATUS',\n value: input.arrivalReproductiveStatus,\n },\n { key: 'MATING_CONTEXT', value: input.matingContext },\n { key: 'ORDER_BY_COLUMN', value: input.orderBy.column },\n { key: 'ORDER_BY_DIRECTION', value: input.orderBy.direction },\n { key: 'METHOD', value: input.method },\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface MatingOverviewInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n}\n\nexport class MatingOverview extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/mating-overview'\n fileName = 'Performance de coberturas'\n\n async pdf(input: MatingOverviewInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: MatingOverviewInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: MatingOverviewInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: MatingOverviewInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n ]\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface MbrfFemaleSwineRecordInput {\n farmId: string\n femaleSwineId: string\n calendarType: CalendarType\n}\n\nexport class MbrfFemaleSwineRecord extends Report implements PdfReport {\n readonly template = '@pig-master/mbrf-female-swine-record'\n fileName = 'Ficha fim'\n\n async pdf(input: MbrfFemaleSwineRecordInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n { key: 'CALENDAR', value: input.calendarType },\n ],\n })\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface NurseryPigletDeathCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class NurseryPigletDeathCollectionForm\n extends Report\n implements PdfReport\n{\n readonly template = '@pig-master/nursery-piglet-death-collection-form'\n fileName = 'Morte de leitão na creche'\n\n async pdf(input: NurseryPigletDeathCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\n\ninterface OriginListInput {\n farmId: string\n language: Language\n}\n\nexport class OriginList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/origin-list'\n fileName = 'Listagem de origens'\n\n async pdf(input: OriginListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: OriginListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: OriginListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: OriginListInput) {\n return [{ key: 'LOCATE', value: input.language.replace('-', '_') }]\n }\n}\n","import type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { FemaleSwineStatus } from '../core/female-swine-status'\n\ninterface ParityStructureInput {\n farmId: string\n language: Language\n breedId: string | null\n birthPlaceId: string | null\n originId: string | null\n status: FemaleSwineStatus | null\n}\n\nexport class ParityStructure extends Report implements PdfReport {\n readonly template = '@pig-master/parity-structure'\n fileName = 'Estrutura etária'\n\n async pdf(input: ParityStructureInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'STATUS', value: input.status },\n ],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface PreFlushingFemaleSwineListInput {\n farmId: string\n dateRange: { start: string; end: string }\n calendarType: CalendarType\n originId: string | null\n}\n\nexport class PreFlushingFemaleSwineList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/pre-flushing-female-swine-list'\n fileName = 'Fêmeas pré-flushing'\n\n async pdf(input: PreFlushingFemaleSwineListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: PreFlushingFemaleSwineListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: PreFlushingFemaleSwineListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: PreFlushingFemaleSwineListInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'ORIGIN_ID', value: input.originId },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface PregnantFemaleSwineListInput {\n farmId: string\n matingDateRange: { start: string; end: string }\n calendarType: CalendarType\n gestationWeek: number\n}\n\nexport class PregnantFemaleSwineList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/pregnant-female-swine-list'\n fileName = 'Fêmeas gestantes'\n\n async pdf(input: PregnantFemaleSwineListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n { key: 'DATA_ONLY', value: false },\n ...this.getParameters(input),\n ],\n })\n }\n\n async csv(input: PregnantFemaleSwineListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n { key: 'DATA_ONLY', value: true },\n ...this.getParameters(input),\n ],\n })\n }\n\n private getResources(input: PregnantFemaleSwineListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: PregnantFemaleSwineListInput) {\n return [\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'MATING_DATE_BEGIN', value: input.matingDateRange.start },\n { key: 'MATING_DATE_END', value: input.matingDateRange.end },\n { key: 'GESTATION_WEEK', value: input.gestationWeek.toString() },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { OrderBy } from '../core/order-by'\nimport type { YearPeriod } from '../core/year-period'\n\ntype PregnantFemaleSwineSalesOrderByColumns =\n | 'date'\n | 'parity'\n | 'gestationLength'\n | 'createdAt'\n\ninterface PregnantFemaleSwineSaleListInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n arrivalDateRange: { start: string; end: string } | null\n matingDateRange: { start: string; end: string } | null\n dueDateRange: { start: string; end: string } | null\n calendarType: CalendarType\n language: Language\n recipientId: string | null\n orderBy: OrderBy<PregnantFemaleSwineSalesOrderByColumns>\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n yearPeriod: YearPeriod\n}\n\nexport class PregnantFemaleSwineSaleList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/pregnant-female-swine-sale-list'\n fileName = 'Listagem de vendas de gestantes'\n\n async pdf(input: PregnantFemaleSwineSaleListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: PregnantFemaleSwineSaleListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: PregnantFemaleSwineSaleListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: PregnantFemaleSwineSaleListInput) {\n return [\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'MATING_DATE_BEGIN', value: input.matingDateRange?.start ?? null },\n { key: 'MATING_DATE_END', value: input.matingDateRange?.end ?? null },\n { key: 'RECIPIENT_ID', value: input.recipientId },\n {\n key: 'ARRIVAL_DATE_BEGIN',\n value: input.arrivalDateRange?.start ?? null,\n },\n { key: 'ARRIVAL_DATE_END', value: input.arrivalDateRange?.end ?? null },\n { key: 'ORDERBYCOLUMN', value: input.orderBy.column },\n { key: 'ORDERBYDIRECTION', value: input.orderBy.direction },\n { key: 'DUE_DATE_BEGIN', value: input.dueDateRange?.start ?? null },\n { key: 'DUE_DATE_END', value: input.dueDateRange?.end ?? null },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'P_WEEKDAY', value: input.yearPeriod.weekday },\n { key: 'P_WEEK', value: input.yearPeriod.week },\n ]\n }\n}\n","import type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { ReproductiveFailureContext } from '../core/reproductive-failure-context'\n\ntype ReproductiveFailureAnalysisEmphasis =\n | 'reproductive-failure-count'\n | 'loss-reproductive-failure-count'\n | 'estrus-return-reproductive-failure-count'\n | 'death-reproductive-failure-count'\n | 'discard-reproductive-failure-count'\n | 'loss-reproductive-failure-percentage'\n | 'estrus-return-reproductive-failure-percentage'\n | 'death-reproductive-failure-percentage'\n | 'discard-reproductive-failure-percentage'\n | 'average-loss-reproductive-failure-gestation-length'\n | 'average-estrus-return-reproductive-failure-gestation-length'\n | 'average-death-reproductive-failure-gestation-length'\n | 'average-discard-reproductive-failure-gestation-length'\n | 'reproductive-failure-percentage'\n\ntype ReproductiveFailureAnalysisGroupBy =\n | 'doses'\n | 'parity'\n | 'employee'\n | 'breeder'\n | 'cause'\n | 'day-of-week'\n | 'day-range'\n | 'month-year'\n | 'year-period'\n\ninterface ReproductiveFailureAnalysisInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n matingDateRange: { start: string; end: string } | null\n groupBy: ReproductiveFailureAnalysisGroupBy\n emphasis: ReproductiveFailureAnalysisEmphasis\n calendarType: CalendarType\n femaleSwineId: string | null\n parity: number | null\n context: ReproductiveFailureContext | null\n breedId: string | null\n birthPlaceId: string | null\n originId: string | null\n language: Language\n}\n\nexport class ReproductiveFailureAnalysis extends Report implements PdfReport {\n readonly template = '@pig-master/reproductive-failure-analysis'\n fileName = 'Análise de perdas de cobertura'\n\n async pdf(input: ReproductiveFailureAnalysisInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [\n { key: 'GROUP', value: input.groupBy },\n { key: 'FIELD', value: input.emphasis },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n {\n key: 'MATING_DATE_BEGIN',\n value: input.matingDateRange?.start ?? null,\n },\n { key: 'MATING_DATE_END', value: input.matingDateRange?.end ?? null },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'CONTEXT', value: input.context },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'LOCATE', value: input.language.replace('-', '_') },\n ],\n })\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface ReproductiveFailureCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class ReproductiveFailureCollectionForm\n extends Report\n implements PdfReport\n{\n readonly template = '@pig-master/reproductive-failure-collection-form'\n fileName = 'Perda de cobertura'\n\n async pdf(input: ReproductiveFailureCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { OrderBy } from '../core/order-by'\nimport type { ReproductiveFailureContext } from '../core/reproductive-failure-context'\n\ninterface ReproductiveFailureListInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n matingDateRange: { start: string; end: string } | null\n calendarType: CalendarType\n parity: number | null\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n femaleSwineId: string | null\n context: ReproductiveFailureContext | null\n orderBy: OrderBy<'date' | 'parity' | 'createdAt'>\n}\n\nexport class ReproductiveFailureList\n extends Report\n implements PdfReport, CsvReport\n{\n readonly template = '@pig-master/reproductive-failure-list'\n fileName = 'Perdas de cobertura'\n\n async pdf(input: ReproductiveFailureListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: ReproductiveFailureListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: ReproductiveFailureListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: ReproductiveFailureListInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n { key: 'MATING_DATE_BEGIN', value: input.matingDateRange?.start ?? null },\n { key: 'MATING_DATE_END', value: input.matingDateRange?.end ?? null },\n { key: 'CONTEXT', value: input.context },\n { key: 'ORDERBYCOLUMN', value: input.orderBy.column },\n { key: 'ORDERBYDIRECTION', value: input.orderBy.direction },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { Language } from '../../../core/language'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\n\ninterface ScoreListInput {\n farmId: string\n language: Language\n}\n\nexport class ScoreList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/score-list'\n fileName = 'Listagem de escores'\n\n async pdf(input: ScoreListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: ScoreListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: ScoreListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: ScoreListInput) {\n return [{ key: 'LOCATE', value: input.language.replace('-', '_') }]\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { MaternityContext } from '../core/maternity-context'\n\ntype WeaningAnalysisGroupBy =\n | 'year-period'\n | 'parity'\n | 'breed'\n | 'month-year'\n | 'score'\n\ntype WeaningAnalysisEmphasis =\n | 'weaning-count'\n | 'weaning-percentage'\n | 'lactating-weaning-count'\n | 'piglet-batch-count'\n | 'weaned-piglet-count'\n | 'average-weaned-piglet-count'\n | 'weaned-litter-weight'\n | 'average-weaned-piglet-weight'\n | 'nurse-sow-weaning-count'\n | 'dead-piglet-count'\n | 'dead-piglet-percentage'\n | 'estimated-dead-piglet-percentage'\n | 'liveborn-count'\n | 'transferred-piglet-count'\n | 'received-piglet-count'\n\ninterface WeaningAnalysisInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n matingDateRange: { start: string; end: string } | null\n calendarType: CalendarType\n groupBy: WeaningAnalysisGroupBy\n emphasis: WeaningAnalysisEmphasis\n parity: number | null\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n femaleSwineId: string | null\n context: MaternityContext | null\n nurseryPigletBatchId: string | null\n}\n\nexport class WeaningAnalysis extends Report implements PdfReport {\n readonly template = '@pig-master/weaning-analysis'\n fileName = 'Análise de desmames'\n\n async pdf(input: WeaningAnalysisInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'GROUP', value: input.groupBy },\n { key: 'FIELD', value: input.emphasis },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n {\n key: 'MATING_DATE_BEGIN',\n value: input.matingDateRange?.start ?? null,\n },\n { key: 'MATING_DATE_END', value: input.matingDateRange?.end ?? null },\n { key: 'CONTEXT', value: input.context },\n { key: 'PIGLET_BATCH_ID', value: input.nurseryPigletBatchId },\n ],\n })\n }\n}\n","import type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface WeaningCollectionFormInput {\n farmId: string\n calendarType: CalendarType\n}\n\nexport class WeaningCollectionForm extends Report implements PdfReport {\n readonly template = '@pig-master/weaning-collection-form'\n fileName = 'Desmame'\n\n async pdf(input: WeaningCollectionFormInput) {\n await this.requestPdf({\n resources: [{ key: 'FARM_ID', value: input.farmId }],\n parameters: [{ key: 'CALENDAR', value: input.calendarType }],\n })\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport { toSnakeCase } from '../../../core/to-snake-case'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { MaternityContext } from '../core/maternity-context'\nimport type { OrderBy } from '../core/order-by'\n\ninterface WeaningForecastInput {\n farmId: string\n weaningDate: string\n calendarType: CalendarType\n parity: number | null\n locationId: string | null\n pen: string | null\n lactationLengthRange: { start: number; end: number } | null\n context: MaternityContext | null\n orderBy: OrderBy<\n 'earTag' | 'lactationLength' | 'parity' | 'locationName' | 'createdAt'\n >\n}\n\nexport class WeaningForecast extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/weaning-forecast'\n fileName = 'Previsão de desmames'\n\n async pdf(input: WeaningForecastInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: WeaningForecastInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: WeaningForecastInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: WeaningForecastInput) {\n return [\n { key: 'WEANING_DATE', value: input.weaningDate },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'LOCATION_ID', value: input.locationId },\n { key: 'PEN', value: input.pen },\n {\n key: 'MIN_LACTATION_DAYS',\n value: input.lactationLengthRange?.start.toString() ?? null,\n },\n {\n key: 'MAX_LACTATION_DAYS',\n value: input.lactationLengthRange?.end.toString() ?? null,\n },\n { key: 'CONTEXT', value: input.context },\n { key: 'ORDERBYDIRECTION', value: input.orderBy.direction },\n { key: 'ORDERBYCOLUMN', value: toSnakeCase(input.orderBy.column) },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\nimport type { MaternityContext } from '../core/maternity-context'\nimport type { OrderBy } from '../core/order-by'\n\ninterface WeaningListInput {\n farmId: string\n dateRange: { start: string; end: string } | null\n matingDateRange: { start: string; end: string } | null\n calendarType: CalendarType\n parity: number | null\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n femaleSwineId: string | null\n context: MaternityContext | null\n nurseryPigletBatchId: string | null\n orderBy: OrderBy<'date' | 'parity' | 'weanedPiglets' | 'createdAt'>\n}\n\nexport class WeaningList extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/weaning-list'\n fileName = 'Listagem de desmames'\n\n async pdf(input: WeaningListInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: WeaningListInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: WeaningListInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: WeaningListInput) {\n let orderByColumn: string = input.orderBy.column\n\n switch (orderByColumn) {\n case 'createdAt':\n orderByColumn = 'created_at'\n break\n case 'weanedPiglets':\n orderByColumn = 'weaned_piglets'\n break\n default:\n break\n }\n\n return [\n { key: 'DATE_BEGIN', value: input.dateRange?.start ?? null },\n { key: 'DATE_END', value: input.dateRange?.end ?? null },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'PARITY', value: input.parity?.toString() ?? null },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n { key: 'FEMALE_SWINE_ID', value: input.femaleSwineId },\n {\n key: 'MATING_DATE_BEGIN',\n value: input.matingDateRange?.start ?? null,\n },\n { key: 'MATING_DATE_END', value: input.matingDateRange?.end ?? null },\n { key: 'CONTEXT', value: input.context },\n { key: 'PIGLET_BATCH_ID', value: input.nurseryPigletBatchId },\n { key: 'ORDERBYDIRECTION', value: input.orderBy.direction },\n { key: 'ORDERBYCOLUMN', value: orderByColumn },\n ]\n }\n}\n","import type { CsvReport } from '../../../core/csv-report'\nimport type { PdfReport } from '../../../core/pdf-report'\nimport { Report } from '../../../core/report'\nimport type { CalendarType } from '../core/calendar-type'\n\ninterface WeaningOverviewInput {\n farmId: string\n calendarType: CalendarType\n dateRange: { start: string; end: string }\n originId: string | null\n breedId: string | null\n birthPlaceId: string | null\n}\n\nexport class WeaningOverview extends Report implements PdfReport, CsvReport {\n readonly template = '@pig-master/weaning-overview'\n fileName = 'Performance de desmames'\n\n async pdf(input: WeaningOverviewInput) {\n await this.requestPdf({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: false },\n ],\n })\n }\n\n async csv(input: WeaningOverviewInput) {\n await this.requestCsv({\n resources: this.getResources(input),\n parameters: [\n ...this.getParameters(input),\n { key: 'DATA_ONLY', value: true },\n ],\n })\n }\n\n private getResources(input: WeaningOverviewInput) {\n return [{ key: 'FARM_ID', value: input.farmId }]\n }\n\n private getParameters(input: WeaningOverviewInput) {\n return [\n { key: 'DATE_BEGIN', value: input.dateRange.start },\n { key: 'DATE_END', value: input.dateRange.end },\n { key: 'CALENDAR', value: input.calendarType },\n { key: 'ORIGIN_ID', value: input.originId },\n { key: 'BREED_ID', value: input.breedId },\n { key: 'BIRTH_PLACE_ID', value: input.birthPlaceId },\n ]\n }\n}\n","import type { HttpClient } from '../../core/http-client'\nimport { BirthPlaceList } from './reports/birth-place-list'\nimport { BoarByBreedList } from './reports/boar-by-breed-list'\nimport { BoarDeathCollectionForm } from './reports/boar-death-collection-form'\nimport { BoarDeathList } from './reports/boar-death-list'\nimport { BoarDiscardCollectionForm } from './reports/boar-discard-collection-form'\nimport { BoarDiscardList } from './reports/boar-discard-list'\nimport { BoarEarTagReplacementList } from './reports/boar-ear-tag-replacement-list'\nimport { BoarTreatmentCollectionForm } from './reports/boar-treatment-collection-form'\nimport { BoarTreatmentList } from './reports/boar-treatment-list'\nimport { BoarsInventory } from './reports/boars-inventory'\nimport { BreedList } from './reports/breed-list'\nimport { BreedingMonitor } from './reports/breeding-monitor'\nimport { BreedingProjection } from './reports/breeding-projection'\nimport { CauseList } from './reports/cause-list'\nimport { DrugList } from './reports/drug-list'\nimport { EmployeeList } from './reports/employee-list'\nimport { FarmSummary } from './reports/farm-summary'\nimport { FarrowingAnalysis } from './reports/farrowing-analysis'\nimport { FarrowingCollectionForm } from './reports/farrowing-collection-form'\nimport { FarrowingForecast } from './reports/farrowing-forecast'\nimport { FarrowingList } from './reports/farrowing-list'\nimport { FarrowingTypeList } from './reports/farrowing-type-list'\nimport { FemaleSwineArrivalMonitoring } from './reports/female-swine-arrival-monitoring'\nimport { FemaleSwineByBreedList } from './reports/female-swine-by-breed-list'\nimport { FemaleSwineByParityList } from './reports/female-swine-by-parity-list'\nimport { FemaleSwineByStatusList } from './reports/female-swine-by-status-list'\nimport { FemaleSwineByTraceabilityList } from './reports/female-swine-by-traceability-list'\nimport { FemaleSwineDeathAnalysis } from './reports/female-swine-death-analysis'\nimport { FemaleSwineDeathCollectionForm } from './reports/female-swine-death-collection-form'\nimport { FemaleSwineDeathList } from './reports/female-swine-death-list'\nimport { FemaleSwineDiscardAnalysis } from './reports/female-swine-discard-analysis'\nimport { FemaleSwineDiscardCollectionForm } from './reports/female-swine-discard-collection-form'\nimport { FemaleSwineDiscardList } from './reports/female-swine-discard-list'\nimport { FemaleSwineEarTagReplacementList } from './reports/female-swine-ear-tag-replacement-list'\nimport { FemaleSwineInventory } from './reports/female-swine-inventory'\nimport { FemaleSwinePendingActionList } from './reports/female-swine-pending-action-list'\nimport { FemaleSwinePreDiscardList } from './reports/female-swine-pre-discard-list'\nimport { FemaleSwineRecord } from './reports/female-swine-record'\nimport { FemaleSwineSalePlanningList } from './reports/female-swine-sale-planning-list'\nimport { FemaleSwineTreatmentCollectionForm } from './reports/female-swine-treatment-collection-form'\nimport { FemaleSwineTreatmentList } from './reports/female-swine-treatment-list'\nimport { FinishingPigletDeathCollectionForm } from './reports/finishing-piglet-death-collection-form'\nimport { FlushingFemaleSwineList } from './reports/flushing-female-swine-list'\nimport { FlushingMonitor } from './reports/flushing-monitor'\nimport { GiltInventory } from './reports/gilt-inventory'\nimport { GtaList } from './reports/gta-list'\nimport { HeatDetectionCollectionForm } from './reports/heat-detection-collection-form'\nimport { HeatDetectionList } from './reports/heat-detection-list'\nimport { HeatMonitoring } from './reports/heat-monitoring'\nimport { LocationList } from './reports/location-list'\nimport { MaternityPigletDeathAnalysis } from './reports/maternity-piglet-death-analysis'\nimport { MaternityPigletDeathCollectionForm } from './reports/maternity-piglet-death-collection-form'\nimport { MaternityPigletDeathList } from './reports/maternity-piglet-death-list'\nimport { MaternityPigletTransferCollectionForm } from './reports/maternity-piglet-transfer-collection-form'\nimport { MaternityPigletTransferList } from './reports/maternity-piglet-transfer-list'\nimport { MatingAnalysis } from './reports/mating-analysis'\nimport { MatingCollectionForm } from './reports/mating-collection-form'\nimport { MatingGroupList } from './reports/mating-group-list'\nimport { MatingList } from './reports/mating-list'\nimport { MatingOverview } from './reports/mating-overview'\nimport { MbrfFemaleSwineRecord } from './reports/mbrf-female-swine-record'\nimport { NurseryPigletDeathCollectionForm } from './reports/nursery-piglet-death-collection-form'\nimport { OriginList } from './reports/origin-list'\nimport { ParityStructure } from './reports/parity-structure'\nimport { PreFlushingFemaleSwineList } from './reports/pre-flushing-female-swine-list'\nimport { PregnantFemaleSwineList } from './reports/pregnant-female-swine-list'\nimport { PregnantFemaleSwineSaleList } from './reports/pregnant-female-swine-sale-list'\nimport { ReproductiveFailureAnalysis } from './reports/reproductive-failure-analysis'\nimport { ReproductiveFailureCollectionForm } from './reports/reproductive-failure-collection-form'\nimport { ReproductiveFailureList } from './reports/reproductive-failure-list'\nimport { ScoreList } from './reports/score-list'\nimport { WeaningAnalysis } from './reports/weaning-analysis'\nimport { WeaningCollectionForm } from './reports/weaning-collection-form'\nimport { WeaningForecast } from './reports/weaning-forecast'\nimport { WeaningList } from './reports/weaning-list'\nimport { WeaningOverview } from './reports/weaning-overview'\n\nexport class PigMaster {\n readonly birthPlaceList: BirthPlaceList\n readonly boarByBreedList: BoarByBreedList\n readonly boarDeathCollectionForm: BoarDeathCollectionForm\n readonly boarDeathList: BoarDeathList\n readonly boarDiscardCollectionForm: BoarDiscardCollectionForm\n readonly boarDiscardList: BoarDiscardList\n readonly boarEarTagReplacementList: BoarEarTagReplacementList\n readonly boarsInventory: BoarsInventory\n readonly boarTreatmentCollectionForm: BoarTreatmentCollectionForm\n readonly boarTreatmentList: BoarTreatmentList\n readonly breedingMonitor: BreedingMonitor\n readonly breedList: BreedList\n readonly causeList: CauseList\n readonly drugList: DrugList\n readonly employeeList: EmployeeList\n readonly farmSummary: FarmSummary\n readonly farrowingAnalysis: FarrowingAnalysis\n readonly farrowingCollectionForm: FarrowingCollectionForm\n readonly farrowingTypeList: FarrowingTypeList\n readonly femaleSwineArrivalMonitoring: FemaleSwineArrivalMonitoring\n readonly femaleSwineByBreedList: FemaleSwineByBreedList\n readonly femaleSwineByParityList: FemaleSwineByParityList\n readonly femaleSwineByStatusList: FemaleSwineByStatusList\n readonly femaleSwineByTraceabilityList: FemaleSwineByTraceabilityList\n readonly femaleSwineDeathAnalysis: FemaleSwineDeathAnalysis\n readonly femaleSwineDeathCollectionForm: FemaleSwineDeathCollectionForm\n readonly femaleSwineDeathList: FemaleSwineDeathList\n readonly femaleSwineDiscardAnalysis: FemaleSwineDiscardAnalysis\n readonly femaleSwineDiscardCollectionForm: FemaleSwineDiscardCollectionForm\n readonly femaleSwineDiscardList: FemaleSwineDiscardList\n readonly femaleSwineEarTagReplacementList: FemaleSwineEarTagReplacementList\n readonly femaleSwineInventory: FemaleSwineInventory\n readonly femaleSwinePendingActionList: FemaleSwinePendingActionList\n readonly femaleSwinePreDiscardList: FemaleSwinePreDiscardList\n readonly femaleSwineRecord: FemaleSwineRecord\n readonly femaleSwineSalePlanningList: FemaleSwineSalePlanningList\n readonly femaleSwineTreatmentCollectionForm: FemaleSwineTreatmentCollectionForm\n readonly femaleSwineTreatmentList: FemaleSwineTreatmentList\n readonly finishingPigletDeathCollectionForm: FinishingPigletDeathCollectionForm\n readonly flushingFemaleSwineList: FlushingFemaleSwineList\n readonly flushingMonitor: FlushingMonitor\n readonly giltInventory: GiltInventory\n readonly gtaList: GtaList\n readonly heatDetectionCollectionForm: HeatDetectionCollectionForm\n readonly heatDetectionList: HeatDetectionList\n readonly heatMonitoring: HeatMonitoring\n readonly locationList: LocationList\n readonly maternityPigletDeathCollectionForm: MaternityPigletDeathCollectionForm\n readonly maternityPigletTransferCollectionForm: MaternityPigletTransferCollectionForm\n readonly matingAnalysis: MatingAnalysis\n readonly matingCollectionForm: MatingCollectionForm\n readonly matingGroupList: MatingGroupList\n readonly matingList: MatingList\n readonly matingOverview: MatingOverview\n readonly mbrfFemaleSwineRecord: MbrfFemaleSwineRecord\n readonly nurseryPigletDeathCollectionForm: NurseryPigletDeathCollectionForm\n readonly originList: OriginList\n readonly parityStructure: ParityStructure\n readonly preFlushingFemaleSwineList: PreFlushingFemaleSwineList\n readonly pregnantFemaleSwineList: PregnantFemaleSwineList\n readonly pregnantFemaleSwineSaleList: PregnantFemaleSwineSaleList\n readonly reproductiveFailureAnalysis: ReproductiveFailureAnalysis\n readonly reproductiveFailureCollectionForm: ReproductiveFailureCollectionForm\n readonly reproductiveFailureList: ReproductiveFailureList\n readonly scoreList: ScoreList\n readonly weaningAnalysis: WeaningAnalysis\n readonly weaningCollectionForm: WeaningCollectionForm\n readonly maternityPigletDeathList: MaternityPigletDeathList\n readonly weaningList: WeaningList\n readonly farrowingList: FarrowingList\n readonly maternityPigletTransferList: MaternityPigletTransferList\n readonly weaningForecast: WeaningForecast\n readonly farrowingForecast: FarrowingForecast\n readonly breedingProjection: BreedingProjection\n readonly maternityPigletDeathAnalysis: MaternityPigletDeathAnalysis\n readonly weaningOverview: WeaningOverview\n\n constructor(http: HttpClient) {\n this.birthPlaceList = new BirthPlaceList(http)\n this.boarByBreedList = new BoarByBreedList(http)\n this.boarDeathCollectionForm = new BoarDeathCollectionForm(http)\n this.boarDeathList = new BoarDeathList(http)\n this.boarDiscardCollectionForm = new BoarDiscardCollectionForm(http)\n this.boarDiscardList = new BoarDiscardList(http)\n this.boarEarTagReplacementList = new BoarEarTagReplacementList(http)\n this.boarsInventory = new BoarsInventory(http)\n this.boarTreatmentCollectionForm = new BoarTreatmentCollectionForm(http)\n this.boarTreatmentList = new BoarTreatmentList(http)\n this.breedingMonitor = new BreedingMonitor(http)\n this.breedList = new BreedList(http)\n this.causeList = new CauseList(http)\n this.drugList = new DrugList(http)\n this.employeeList = new EmployeeList(http)\n this.farmSummary = new FarmSummary(http)\n this.farrowingAnalysis = new FarrowingAnalysis(http)\n this.farrowingCollectionForm = new FarrowingCollectionForm(http)\n this.farrowingTypeList = new FarrowingTypeList(http)\n this.femaleSwineArrivalMonitoring = new FemaleSwineArrivalMonitoring(http)\n this.femaleSwineByBreedList = new FemaleSwineByBreedList(http)\n this.femaleSwineByParityList = new FemaleSwineByParityList(http)\n this.femaleSwineByStatusList = new FemaleSwineByStatusList(http)\n this.femaleSwineByTraceabilityList = new FemaleSwineByTraceabilityList(http)\n this.femaleSwineDeathAnalysis = new FemaleSwineDeathAnalysis(http)\n this.femaleSwineDeathCollectionForm = new FemaleSwineDeathCollectionForm(\n http,\n )\n this.femaleSwineDeathList = new FemaleSwineDeathList(http)\n this.femaleSwineDiscardAnalysis = new FemaleSwineDiscardAnalysis(http)\n this.femaleSwineDiscardCollectionForm =\n new FemaleSwineDiscardCollectionForm(http)\n this.femaleSwineDiscardList = new FemaleSwineDiscardList(http)\n this.femaleSwineEarTagReplacementList =\n new FemaleSwineEarTagReplacementList(http)\n this.femaleSwineInventory = new FemaleSwineInventory(http)\n this.femaleSwinePendingActionList = new FemaleSwinePendingActionList(http)\n this.femaleSwinePreDiscardList = new FemaleSwinePreDiscardList(http)\n this.femaleSwineRecord = new FemaleSwineRecord(http)\n this.femaleSwineSalePlanningList = new FemaleSwineSalePlanningList(http)\n this.femaleSwineTreatmentCollectionForm =\n new FemaleSwineTreatmentCollectionForm(http)\n this.femaleSwineTreatmentList = new FemaleSwineTreatmentList(http)\n this.finishingPigletDeathCollectionForm =\n new FinishingPigletDeathCollectionForm(http)\n this.flushingFemaleSwineList = new FlushingFemaleSwineList(http)\n this.flushingMonitor = new FlushingMonitor(http)\n this.giltInventory = new GiltInventory(http)\n this.gtaList = new GtaList(http)\n this.heatDetectionCollectionForm = new HeatDetectionCollectionForm(http)\n this.heatDetectionList = new HeatDetectionList(http)\n this.heatMonitoring = new HeatMonitoring(http)\n this.locationList = new LocationList(http)\n this.maternityPigletDeathCollectionForm =\n new MaternityPigletDeathCollectionForm(http)\n this.maternityPigletTransferCollectionForm =\n new MaternityPigletTransferCollectionForm(http)\n this.matingAnalysis = new MatingAnalysis(http)\n this.matingCollectionForm = new MatingCollectionForm(http)\n this.matingGroupList = new MatingGroupList(http)\n this.matingList = new MatingList(http)\n this.matingOverview = new MatingOverview(http)\n this.mbrfFemaleSwineRecord = new MbrfFemaleSwineRecord(http)\n this.nurseryPigletDeathCollectionForm =\n new NurseryPigletDeathCollectionForm(http)\n this.originList = new OriginList(http)\n this.parityStructure = new ParityStructure(http)\n this.preFlushingFemaleSwineList = new PreFlushingFemaleSwineList(http)\n this.pregnantFemaleSwineList = new PregnantFemaleSwineList(http)\n this.pregnantFemaleSwineSaleList = new PregnantFemaleSwineSaleList(http)\n this.reproductiveFailureAnalysis = new ReproductiveFailureAnalysis(http)\n this.reproductiveFailureCollectionForm =\n new ReproductiveFailureCollectionForm(http)\n this.reproductiveFailureList = new ReproductiveFailureList(http)\n this.scoreList = new ScoreList(http)\n this.weaningAnalysis = new WeaningAnalysis(http)\n this.weaningCollectionForm = new WeaningCollectionForm(http)\n this.maternityPigletDeathList = new MaternityPigletDeathList(http)\n this.weaningList = new WeaningList(http)\n this.farrowingList = new FarrowingList(http)\n this.maternityPigletTransferList = new MaternityPigletTransferList(http)\n this.weaningForecast = new WeaningForecast(http)\n this.farrowingForecast = new FarrowingForecast(http)\n this.breedingProjection = new BreedingProjection(http)\n this.maternityPigletDeathAnalysis = new MaternityPigletDeathAnalysis(http)\n this.weaningOverview = new WeaningOverview(http)\n }\n}\n","import type { HttpClient } from './core/http-client'\nimport { PigMaster } from './namespaces/pig-master'\n\nexport interface JaspionConfig {\n http: HttpClient\n}\n\nexport class Jaspion {\n readonly pigMaster: PigMaster\n\n constructor({ http }: JaspionConfig) {\n this.pigMaster = new PigMaster(http)\n }\n}\n"],"mappings":"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"}