{"version":3,"sources":["./src/$_lazy_route_resource lazy namespace object","./src/_enums/breed-enum.ts","./src/_enums/proof-type-enum.ts","./src/_models/address.ts","./src/_models/bonus-program.ts","./src/_models/breed-selection.ts","./src/_models/breed-type.ts","./src/_models/breed.ts","./src/_models/bull-attended-filter.ts","./src/_models/bull-selection-filter.ts","./src/_models/city.ts","./src/_models/cows-heifers-quantity.ts","./src/_models/customer.ts","./src/_models/doses-distribution-by-breed.ts","./src/_models/email.ts","./src/_models/farm.ts","./src/_models/filter-suggestion/filter-question.ts","./src/_models/filter-suggestion/filter-suggestion-has-trait.ts","./src/_models/filter-suggestion/filter-suggestion.ts","./src/_models/herd-problem.ts","./src/_models/herd.ts","./src/_models/interview-breed-goal.ts","./src/_models/interview-cycle.ts","./src/_models/interview.ts","./src/_models/login-info.ts","./src/_models/person.ts","./src/_models/phone.ts","./src/_models/proof-trait.ts","./src/_models/question.ts","./src/_models/reproductive-management.ts","./src/_models/saved-interview/saved-interview.ts","./src/_models/select-result-presentation/analytic-select-result-presentation.ts","./src/_models/select-result-presentation/synthetic-select-result-presentation.ts","./src/_models/selected-bull.ts","./src/_models/suggestion.ts","./src/_models/trait-group.ts","./src/_models/trait.ts","./src/_models/uf.ts","./src/_models/user-activity.ts","./src/_models/user-info.ts","./src/_models/user.ts","./src/_models/weighting-suggestion/weighting-question.ts","./src/_models/weighting-suggestion/weighting-suggestion-has-trait.ts","./src/_models/weighting-suggestion/weighting-suggestion.ts","./src/app/_authorization/auth.config.ts","./src/app/_directives/only-digits.directive.ts","./src/app/_helpers/auth.guard.ts","./src/app/_pipes/must-match.ts","./src/app/_services/api.service.ts","./src/app/_services/dialog-confirm.service.ts","./src/app/_services/export.service.ts","./src/app/_services/interview.service.ts","./src/app/_services/reproductive-management.service.ts","./src/app/_utils/interview-suggestions.ts","./src/app/address/address.component.html","./src/app/address/address.component.ts","./src/app/app-routing.module.ts","./src/app/app.component.html","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/email/email.component.html","./src/app/email/email.component.ts","./src/app/farm/farm.component.html","./src/app/farm/farm.component.ts","./src/app/forgot-password/forgot-password.component.html","./src/app/forgot-password/forgot-password.component.ts","./src/app/herd/herd.component.html","./src/app/herd/herd.component.ts","./src/app/index/index.component.html","./src/app/index/index.component.ts","./src/app/interview/basic-information/basic-information.component.html","./src/app/interview/basic-information/basic-information.component.ts","./src/app/interview/breed-proof-selection/breed-proof-selection.component.html","./src/app/interview/breed-proof-selection/breed-proof-selection.component.ts","./src/app/interview/bull-selection/bull-selection.component.html","./src/app/interview/bull-selection/bull-selection.component.ts","./src/app/interview/data-collect/data-collect.component.html","./src/app/interview/data-collect/data-collect.component.ts","./src/app/interview/doses-distribution/doses-distribution.component.html","./src/app/interview/doses-distribution/doses-distribution.component.ts","./src/app/interview/filter/filter.component.html","./src/app/interview/filter/filter.component.ts","./src/app/interview/interview.component.html","./src/app/interview/interview.component.ts","./src/app/interview/modal-bonus-program/modal-bonus-program.component.html","./src/app/interview/modal-bonus-program/modal-bonus-program.component.ts","./src/app/interview/modal-herd-problem/modal-herd-problem.component.html","./src/app/interview/modal-herd-problem/modal-herd-problem.component.ts","./src/app/interview/modal-traits/modal-traits.component.html","./src/app/interview/modal-traits/modal-traits.component.ts","./src/app/interview/reproductive-management/average-pregnancy-rate/average-pregnancy-rate.component.html","./src/app/interview/reproductive-management/average-pregnancy-rate/average-pregnancy-rate.component.ts","./src/app/interview/reproductive-management/breed-distribution/breed-distribution.component.html","./src/app/interview/reproductive-management/breed-distribution/breed-distribution.component.ts","./src/app/interview/reproductive-management/calving-distribution/calving-distribution.component.html","./src/app/interview/reproductive-management/calving-distribution/calving-distribution.component.ts","./src/app/interview/reproductive-management/iatf-distribution-per-season/iatf-distribution-per-season.component.html","./src/app/interview/reproductive-management/iatf-distribution-per-season/iatf-distribution-per-season.component.ts","./src/app/interview/reproductive-management/iatf-distribution/iatf-distribution.component.html","./src/app/interview/reproductive-management/iatf-distribution/iatf-distribution.component.ts","./src/app/interview/reproductive-management/max-iatf/max-iatf.component.html","./src/app/interview/reproductive-management/max-iatf/max-iatf.component.ts","./src/app/interview/reproductive-management/pregnancy-distribution-per-breed/pregnancy-distribution-per-breed.component.html","./src/app/interview/reproductive-management/pregnancy-distribution-per-breed/pregnancy-distribution-per-breed.component.ts","./src/app/interview/reproductive-management/pregnancy-iatf-distribution-per-season/pregnancy-iatf-distribution-per-season.component.html","./src/app/interview/reproductive-management/pregnancy-iatf-distribution-per-season/pregnancy-iatf-distribution-per-season.component.ts","./src/app/interview/reproductive-management/pregnancy-rate/pregnancy-rate.component.html","./src/app/interview/reproductive-management/pregnancy-rate/pregnancy-rate.component.ts","./src/app/interview/reproductive-management/quantity-to-inseminate/quantity-to-inseminate.component.html","./src/app/interview/reproductive-management/quantity-to-inseminate/quantity-to-inseminate.component.ts","./src/app/interview/reproductive-management/ready-to-iatf/ready-to-iatf.component.html","./src/app/interview/reproductive-management/ready-to-iatf/ready-to-iatf.component.ts","./src/app/interview/reproductive-management/reproductive-management.component.html","./src/app/interview/reproductive-management/reproductive-management.component.ts","./src/app/interview/select-result-presentation/select-result-presentation.component.html","./src/app/interview/select-result-presentation/select-result-presentation.component.ts","./src/app/interview/weighting/weighting.component.html","./src/app/interview/weighting/weighting.component.ts","./src/app/login/login.component.html","./src/app/login/login.component.ts","./src/app/managers/managers.component.html","./src/app/managers/managers.component.ts","./src/app/modal-access-request/modal-access-request.component.html","./src/app/modal-access-request/modal-access-request.component.ts","./src/app/page-not-found/page-not-found.component.html","./src/app/page-not-found/page-not-found.component.ts","./src/app/parameter/parameter.component.html","./src/app/parameter/parameter.component.ts","./src/app/person/person.component.html","./src/app/person/person.component.ts","./src/app/phone/phone.component.html","./src/app/phone/phone.component.ts","./src/app/profile/profile.component.html","./src/app/profile/profile.component.ts","./src/app/registration/registration.component.html","./src/app/registration/registration.component.ts","./src/app/saved-interviews/saved-interviews.component.html","./src/app/saved-interviews/saved-interviews.component.ts","./src/app/user/user.component.html","./src/app/user/user.component.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main-es2015.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","export enum BreedEnum {\r\n BRAHMAN = 1,\r\n GUZERA = 2,\r\n INDUBRASIL = 3,\r\n NELORE = 4,\r\n NELORE_MOCHO = 5,\r\n TABAPUA = 6,\r\n SINDI = 7,\r\n ANGUS = 8,\r\n BONSMARA = 9,\r\n BRAFORD = 10,\r\n BRANGUS = 11,\r\n BRAUNVIEH = 12,\r\n CANCHIM = 13,\r\n CARACU = 14,\r\n CHAROLES = 15,\r\n CHAROLES_MOCHO = 16,\r\n DEVON = 17,\r\n LIMOUSIN = 19,\r\n MARCHIGIANA = 20,\r\n PIEMONTES = 21,\r\n HEREFORD = 22,\r\n RED_ANGUS = 23,\r\n RED_BRANGUS = 24,\r\n SANTA_GERTRUDIS = 25,\r\n SENEPOL = 27,\r\n SIMBRASIL = 28,\r\n SIMENTAL = 29,\r\n SIMENTAL_MOCHO = 50,\r\n SIMENTAL_LEITEIRO = 51,\r\n WAGYU = 56,\r\n CARACU_MOCHO = 87,\r\n CRUZA_ANGUS = 105,\r\n CRUZA_HEREFORD = 106,\r\n CRUZA_SINTETICA = 116,\r\n ZEBU_MESTICA = 122\r\n }\r\n","export enum ProofTypeEnum {\r\n AAA = 12,\r\n ERA = 13,\r\n PROMEBO = 14,\r\n ALIANCA = 11,\r\n ANCP = 7,\r\n GENEPLUS = 8,\r\n PMGZ = 6,\r\n QUALITAS = 10,\r\n ASOSIACION_ARGENTINA_BRANGUS = 15,\r\n SUMARIO_NATURA = 16,\r\n ASOSIACION_ARGENTINA_HEREFORD = 17,\r\n CONEXAO_DELTA_G = 18,\r\n ASOSIACION_ARGENTINA_BRAFORD = 19,\r\n RED_ANGUS_ASSOCIATION_OF_AMERICA = 20\r\n}\r\n","import { City } from './city';\r\nimport { Person } from './person';\r\n\r\nexport class Address {\r\n\r\n public id: number;\r\n\r\n public street: string;\r\n\r\n public number: string;\r\n\r\n public complement: string;\r\n\r\n public postalCode: string;\r\n\r\n public cityId: number;\r\n\r\n public personId: number;\r\n\r\n public city: City;\r\n\r\n public isDefault: boolean;\r\n\r\n constructor () {\r\n if (!this.city) { this.city = new City(); }\r\n }\r\n\r\n deserialize(input: any): this {\r\n return Object.assign(this, input);\r\n }\r\n}\r\n","export class BonusProgramm {\r\n\r\n public id: number;\r\n\r\n public description: string;\r\n\r\n public checked: boolean;\r\n\r\n public active: boolean;\r\n\r\n public otherProgram: string;\r\n\r\n public static getPrograms (): Array {\r\n return listPrograms(); // BUSCAR NO SERVICE\r\n }\r\n\r\n deserialize(input: any): this {\r\n return Object.assign(this, input);\r\n }\r\n}\r\n\r\nfunction listPrograms(): Array {\r\n const programs = > [\r\n {id : 1, description : 'Angus / Brangus', checked : false, active : true },\r\n {id : 2, description : 'Boi no ponto', checked : false, active : true },\r\n {id : 3, description : 'Bonsmara', checked : false, active : true },\r\n {id : 4, description : 'Britânicas', checked : false, active : true },\r\n {id : 5, description : 'Charolês Beef', checked : false, active : true },\r\n {id : 6, description : 'Cota Hilton', checked : false, active : true },\r\n {id : 7, description : 'Hereford / Braford', checked : false, active : true },\r\n {id : 8, description : 'Novilho Precoce', checked : false, active : true },\r\n {id : 9, description : 'Rubia Galega', checked : false, active : true },\r\n {id : 10, description : 'Wagyu', checked : false, active : true },\r\n {id : 11, description : 'Outro', checked : false, active : true }\r\n ];\r\n return programs;\r\n}\r\n","import { ProofSelection } from './proof-selection';\r\n\r\nexport class BreedSelection {\r\n\r\n public id: number;\r\n\r\n public name: string;\r\n\r\n // public proofs: Array;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","export class BreedType {\r\n\r\n public id: number;\r\n\r\n public name: string;\r\n\r\n deserialize(input: any): this {\r\n return Object.assign(this, input);\r\n }\r\n}\r\n","import { BreedType } from './breed-type';\r\n\r\nexport class Breed {\r\n\r\n public id: number;\r\n\r\n public name: string;\r\n\r\n public breedTypeId: number;\r\n\r\n public breedType: BreedType;\r\n\r\n constructor () {\r\n if (!this.breedType) { this.breedType = new BreedType(); }\r\n }\r\n\r\n deserialize(input: any): this {\r\n return Object.assign(this, input);\r\n }\r\n}\r\n","export class BullAttendedFilter {\r\n\r\n public bullId: number;\r\n\r\n public column: string;\r\n\r\n constructor () {\r\n }\r\n\r\n deserialize(input: any): this {\r\n return Object.assign(this, input);\r\n }\r\n}\r\n","export class BullSelectionFilter {\r\n\r\n public signal: string;\r\n\r\n public value: string;\r\n\r\n public traitTypeId: number;\r\n\r\n public traitId: number;\r\n\r\n public proofId: number;\r\n\r\n constructor () { }\r\n\r\n deserialize(input: any): this {\r\n return Object.assign(this, input);\r\n }\r\n}\r\n","import { Uf } from './uf';\r\n\r\nexport class City {\r\n\r\n public id: number;\r\n\r\n public name: string;\r\n\r\n public ibge: string;\r\n\r\n public ufId: string;\r\n\r\n public uf: Uf;\r\n\r\n constructor () {\r\n if (!this.uf) { this.uf = new Uf(); }\r\n }\r\n\r\n deserialize(input: any): this {\r\n return Object.assign(this, input);\r\n }\r\n}\r\n","export class CowsHeifersQuantity {\r\n\r\n public id: number;\r\n\r\n public breedingSeasonStartHeifers?: number;\r\n\r\n public breedingSeasonStartCows?: number;\r\n\r\n public breedingSeasonMiddleHeifers?: number;\r\n\r\n public breedingSeasonMiddleCows?: number;\r\n\r\n public breedingSeasonEndHeifers?: number;\r\n\r\n public breedingSeasonEndCows?: number;\r\n\r\n deserialize(input: any): this {\r\n return Object.assign(this, input);\r\n }\r\n }\r\n ","import { Person } from './person';\r\nimport { Farm } from './farm';\r\n\r\nexport class Customer {\r\n\r\n public id: number;\r\n\r\n public active: boolean;\r\n\r\n public isFromAltaOne: boolean;\r\n\r\n public salesRepAn8: bigint;\r\n\r\n public userId: string;\r\n\r\n public farm: Array;\r\n\r\n public person: Person;\r\n\r\n public personId: number;\r\n\r\n constructor () {\r\n this.person = this.person ? this.person : new Person();\r\n }\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n\r\n this.farm = this.farm ? input.farm.map((farm: Farm) => new Farm().deserialize(farm)) : this.farm;\r\n\r\n return this;\r\n }\r\n}\r\n","export class DosesDistributionByBreed {\r\n\r\n public id: number;\r\n\r\n public interviewId: number;\r\n\r\n public cowsBeginningBreed1?: number;\r\n\r\n public cowsBeginningBreed2?: number;\r\n\r\n public cowsMiddleBreed1?: number;\r\n\r\n public cowsMiddleBreed2?: number;\r\n\r\n public cowsEndBreed1?: number;\r\n\r\n public cowsEndBreed2?: number;\r\n\r\n public heifersBeginningBreed1?: number;\r\n\r\n public heifersBeginningBreed2?: number;\r\n\r\n public heifersMiddleBreed1?: number;\r\n\r\n public heifersMiddleBreed2?: number;\r\n\r\n public heifersEndBreed1?: number;\r\n\r\n public heifersEndBreed2?: number;\r\n\r\n constructor () {\r\n this.cowsBeginningBreed1 = 0;\r\n this.cowsBeginningBreed2 = 0;\r\n this.cowsMiddleBreed1 = 0;\r\n this.cowsMiddleBreed2 = 0;\r\n this.cowsEndBreed1 = 0;\r\n this.cowsEndBreed2 = 0;\r\n this.heifersBeginningBreed1 = 0;\r\n this.heifersBeginningBreed2 = 0;\r\n this.heifersMiddleBreed1 = 0;\r\n this.heifersMiddleBreed2 = 0;\r\n this.heifersEndBreed1 = 0;\r\n this.heifersEndBreed2 = 0;\r\n }\r\n\r\n deserialize(input: any): this {\r\n return Object.assign(this, input);\r\n }\r\n}\r\n","export class Email {\r\n\r\n public id: number;\r\n\r\n public email1: string;\r\n\r\n public personId: number;\r\n\r\n public isDefault: boolean;\r\n\r\n deserialize(input: any): this {\r\n return Object.assign(this, input);\r\n }\r\n}\r\n","import { Herd } from './herd';\r\n\r\nexport class Farm {\r\n\r\n public id: number;\r\n\r\n public name: string;\r\n\r\n public herd: Array;\r\n\r\n public customerId: number;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n\r\n this.herd = this.herd ? input.herd.map((herd: Herd) => new Herd().deserialize(herd)) : this.herd;\r\n\r\n return this;\r\n }\r\n\r\n}\r\n","export class FilterQuestion {\r\n\r\n public suggestionId: number;\r\n\r\n public questionId: number;\r\n\r\n public value: string;\r\n\r\n public name: string;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","import { Trait } from '../trait';\r\n\r\nexport class FilterSuggestionHasTrait {\r\n\r\n public suggestionId: number;\r\n\r\n public traitId: number;\r\n\r\n public breedId: number;\r\n\r\n public proofId: number;\r\n\r\n public value: string;\r\n\r\n public trait: Trait;\r\n\r\n public signal: string;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","import { FilterQuestion } from './filter-question';\r\nimport { FilterSuggestionHasTrait } from './filter-suggestion-has-trait';\r\n\r\nexport class FilterSuggestion {\r\n\r\n public id: number;\r\n\r\n public description: string;\r\n\r\n public filterSuggestionHasTrait: Array;\r\n\r\n public filterQuestion: Array;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n\r\n this.filterQuestion =\r\n this.filterQuestion ?\r\n input.filterQuestion\r\n .map((w: FilterQuestion) => new FilterQuestion()\r\n .deserialize(w)) : this.filterQuestion;\r\n\r\n this.filterSuggestionHasTrait =\r\n this.filterSuggestionHasTrait ?\r\n input.filterSuggestionHasTrait\r\n .map((w: FilterSuggestionHasTrait) => new FilterSuggestionHasTrait()\r\n .deserialize(w)) : this.filterSuggestionHasTrait;\r\n\r\n return this;\r\n }\r\n}\r\n","export class HerdProblem {\r\n\r\n public id: number;\r\n\r\n public description: string;\r\n\r\n public checked: boolean;\r\n\r\n public active: boolean;\r\n\r\n public otherProblem: string;\r\n\r\n public static getProblems (): Array {\r\n return listProblems(); // BUSCAR NO SERVICE\r\n }\r\n\r\n deserialize(input: any): this {\r\n return Object.assign(this, input);\r\n }\r\n}\r\n\r\nfunction listProblems(): Array {\r\n const programs = > [\r\n { id : 1, description: 'Caracterização racial', checked: false, active:\ttrue },\r\n { id : 2, description: 'Pelagem / pigmentação', checked: false, active:\ttrue },\r\n { id : 3, description: 'Reprodutivo', checked: false, active:\ttrue },\r\n { id : 4, description: 'Saúde', checked: false, active:\ttrue },\r\n { id : 5, description: 'Adaptação', checked: false, active:\ttrue },\r\n { id : 6, description: 'Temperamento', checked: false, active:\ttrue },\r\n { id : 7, description: 'Pouca espessura de gordura nas carcaças', checked: false, active:\ttrue },\r\n { id : 8, description: 'Problema de parto', checked: false, active:\ttrue },\r\n { id : 9, description: 'Baixo peso ao desmame', checked: false, active:\ttrue },\r\n { id : 10, description: 'Baixo rendimento de carcaça', checked: false, active:\ttrue },\r\n { id : 11, description: 'Alta proporção de guaxos', checked: false, active:\ttrue },\r\n { id : 12, description: 'Dificuldade de liquidez', checked: false, active:\ttrue },\r\n { id : 13, description: 'Baixo índice de concepção', checked: false, active:\ttrue },\r\n { id : 14, description: 'Alto índice de perdas embrionárias / aborto', checked: false, active:\ttrue },\r\n { id : 15, description: 'Alto índice de mortes neonatais', checked: false, active:\ttrue },\r\n { id : 16, description: 'Pouca precocidade sexual', checked: false, active:\ttrue },\r\n { id : 17, description: 'Baixo peso de carcaça', checked: false, active:\ttrue },\r\n { id : 18, description: 'Alto peso adulto / tamanho das matrizes', checked: false, active:\ttrue },\r\n { id : 19, description: 'Estrutura (visual)', checked: false, active:\ttrue },\r\n { id : 20, description: 'Precocidade (visual)', checked: false, active:\ttrue },\r\n { id : 21, description: 'Musculatura (visual)', checked: false, active:\ttrue },\r\n { id : 22, description: 'Umbigo', checked: false, active:\ttrue },\r\n { id : 23, description: 'Aprumos', checked: false, active:\ttrue },\r\n { id : 24, description: 'Outro', checked: false, active:\ttrue }\r\n ];\r\n return programs;\r\n}\r\n","import { Breed } from './breed';\r\n\r\nexport class Herd {\r\n\r\n public id: number;\r\n\r\n public name: string;\r\n\r\n public numberOfCows: number;\r\n\r\n public numberOfHeifers: number;\r\n\r\n public goals: string;\r\n\r\n public farmId: number;\r\n\r\n public breedId: number;\r\n\r\n public breed: Breed;\r\n\r\n deserialize(input: any): this {\r\n return Object.assign(this, input);\r\n }\r\n\r\n}\r\n","export class InterviewBreedGoal {\r\n\r\n public id: number;\r\n\r\n public sellingGoalsMale: number;\r\n\r\n public sellingGoalsFemale: number;\r\n\r\n public confinementTypeMale: number;\r\n\r\n public confinementTypeFemale: number;\r\n\r\n public usesCastration: number;\r\n\r\n public maxZebu: number;\r\n\r\n public maxTaurean: number;\r\n\r\n public interviewId: number;\r\n\r\n constructor () {\r\n this.sellingGoalsMale = 0;\r\n this.sellingGoalsFemale = 0;\r\n this.confinementTypeMale = 0;\r\n this.confinementTypeFemale = 0;\r\n this.usesCastration = 0;\r\n\r\n this.maxZebu = 100;\r\n this.maxTaurean = 100;\r\n }\r\n\r\n deserialize(input: any): this {\r\n return Object.assign(this, input);\r\n }\r\n\r\n}\r\n","import { TraitGroup } from './trait-group';\r\nimport { BullSelectionFilter } from './bull-selection-filter';\r\nimport { SelectedBull } from './selected-bull';\r\nimport { AnalyticSelectResultPresentation } from './select-result-presentation/analytic-select-result-presentation';\r\n\r\nexport class InterviewCycle {\r\n\r\n public id: number;\r\n\r\n public interviewId: number;\r\n\r\n public breedId: number;\r\n\r\n public proofId: number;\r\n\r\n public proofName: string;\r\n\r\n public breedName: string;\r\n\r\n public selectedWeightingTraitsGroups: Array;\r\n\r\n public selectedFilterTraitsGroups: Array;\r\n\r\n public selectedBull: Array;\r\n\r\n public bullSelectionFilter: Array;\r\n\r\n public analyticResultPresentation: Array;\r\n\r\n public chart: string;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n\r\n this.selectedWeightingTraitsGroups = this.selectedWeightingTraitsGroups ? input.weightingTraitGroup\r\n .map((tg: TraitGroup) => new TraitGroup()\r\n .deserialize(tg)) : this.selectedWeightingTraitsGroups;\r\n\r\n this.selectedFilterTraitsGroups = this.selectedFilterTraitsGroups ? input.filterTraitGroup\r\n .map((tg: TraitGroup) => new TraitGroup()\r\n .deserialize(tg)) : this.selectedFilterTraitsGroups;\r\n\r\n this.bullSelectionFilter = this.bullSelectionFilter ? input.bullSelectionFilter\r\n .map((b: BullSelectionFilter) => new BullSelectionFilter()\r\n .deserialize(b)) : this.bullSelectionFilter;\r\n\r\n this.selectedBull = this.selectedBull ? input.selectedBulls\r\n .map((b: SelectedBull) => new SelectedBull()\r\n .deserialize(b)) : this.selectedBull;\r\n\r\n this.analyticResultPresentation = this.analyticResultPresentation ? input.analyticResultPresentation\r\n .map((a: AnalyticSelectResultPresentation) => new AnalyticSelectResultPresentation()\r\n .deserialize(a)) : this.analyticResultPresentation;\r\n\r\n return this;\r\n }\r\n}\r\n","import { User } from './user';\r\nimport { Herd } from './herd';\r\nimport { InterviewBreedGoal } from './interview-breed-goal';\r\nimport { BonusProgramm } from './bonus-program';\r\nimport { HerdProblem } from './herd-problem';\r\nimport { InterviewCycle } from './interview-cycle';\r\nimport { ReproductiveManagement } from './reproductive-management';\r\nimport { CowsHeifersQuantity } from './cows-heifers-quantity';\r\nimport { DosesDistributionByBreed } from './doses-distribution-by-breed';\r\n\r\nexport class Interview {\r\n\r\n public id: number;\r\n\r\n public userId: string;\r\n\r\n public herd: Herd;\r\n\r\n public herdId: number;\r\n\r\n public cowsHeifersQuantityId: number;\r\n\r\n public dosesDistributionByBreedId: number;\r\n\r\n public reproductiveManagementId: number;\r\n\r\n public interviewDate: Date;\r\n\r\n public femaleOrigin: number;\r\n\r\n public breedOptions: number;\r\n\r\n public breedOptionsMatting: number;\r\n\r\n public currentInterviewCycle: number;\r\n\r\n public reproductiveManagement: ReproductiveManagement;\r\n\r\n public cowsHeifersQuantity: CowsHeifersQuantity;\r\n\r\n public dosesDistributionByBreed: DosesDistributionByBreed;\r\n\r\n public herdProblem: Array;\r\n\r\n public interviewBreedGoal: Array;\r\n\r\n public interviewCycle: Array;\r\n\r\n public bonusProgram: Array;\r\n\r\n public pdf: any;\r\n\r\n public isFastPlan: boolean;\r\n\r\n\r\n constructor () {\r\n this.interviewDate = this.interviewDate ? this.interviewDate : new Date();\r\n this.femaleOrigin = this.femaleOrigin ? this.femaleOrigin : 0;\r\n this.breedOptions = this.breedOptions ? this.breedOptions : 1;\r\n this.breedOptionsMatting = this.breedOptionsMatting ? this.breedOptionsMatting : 0;\r\n this.currentInterviewCycle = this.currentInterviewCycle ? this.currentInterviewCycle : 0;\r\n\r\n this.herd = this.herd ? this.herd : new Herd();\r\n this.reproductiveManagement = this.reproductiveManagement ? this.reproductiveManagement : new ReproductiveManagement();\r\n\r\n if (!this.interviewBreedGoal) {\r\n this.interviewBreedGoal = new Array();\r\n this.interviewBreedGoal.push(new InterviewBreedGoal());\r\n this.interviewBreedGoal.push(new InterviewBreedGoal());\r\n }\r\n\r\n this.interviewCycle = this.interviewCycle ? this.interviewCycle : new Array();\r\n\r\n this.bonusProgram = this.bonusProgram ? this.bonusProgram : new Array();\r\n\r\n this.herdProblem = this.herdProblem ? this.herdProblem : new Array();\r\n }\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n\r\n this.interviewBreedGoal = this.interviewBreedGoal ? input.interviewBreedGoal\r\n .map((c: InterviewBreedGoal) => new InterviewBreedGoal().deserialize(c)) : this.interviewBreedGoal;\r\n\r\n this.interviewCycle = this.interviewCycle ? input.interviewCycle\r\n .map((i: InterviewCycle) => new InterviewCycle().deserialize(i)) : this.interviewCycle;\r\n\r\n this.reproductiveManagement = this.reproductiveManagement ? input.reproductiveManagement\r\n .map((r: ReproductiveManagement) => new ReproductiveManagement().deserialize(r)) : this.reproductiveManagement;\r\n\r\n this.cowsHeifersQuantity = this.cowsHeifersQuantity ? input.cowsHeifersQuantity\r\n .map((c: CowsHeifersQuantity) => new CowsHeifersQuantity().deserialize(c)) : this.cowsHeifersQuantity;\r\n\r\n this.dosesDistributionByBreed = this.dosesDistributionByBreed ? input.dosesDistributionByBreed\r\n .map((d: DosesDistributionByBreed) => new DosesDistributionByBreed().deserialize(d)) : this.dosesDistributionByBreed;\r\n\r\n this.bonusProgram = this.bonusProgram ? input.bonusProgram\r\n .map((b: BonusProgramm) => new BonusProgramm().deserialize(b)) : this.bonusProgram;\r\n\r\n this.herdProblem = this.herdProblem ? input.herdProblem\r\n .map((c: HerdProblem) => new HerdProblem().deserialize(c)) : this.herdProblem;\r\n\r\n return this;\r\n }\r\n}\r\n","export class LoginInfo {\r\n\r\n public email: string;\r\n\r\n public password: string;\r\n}\r\n","import { Address } from './address';\r\nimport { Email } from './email';\r\nimport { Phone } from './phone';\r\n\r\nexport class Person {\r\n\r\n public id: number;\r\n\r\n public name: string;\r\n\r\n public docNumber: string;\r\n\r\n public registerDate: Date;\r\n\r\n public lastAccess: Date;\r\n\r\n public address: Array
;\r\n\r\n public email: Array;\r\n\r\n public phone: Array;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n\r\n this.address = this.address ? input.address.map((a: Address) => new Address().deserialize(a)) : this.address;\r\n this.email = this.email ? input.email.map((e: Email) => new Email().deserialize(e)) : this.email;\r\n this.phone = this.phone ? input.phone.map((p: Phone) => new Phone().deserialize(p)) : this.phone;\r\n\r\n return this;\r\n }\r\n}\r\n","export class Phone {\r\n\r\n public id: number;\r\n\r\n public phone1: string;\r\n\r\n public personId: number;\r\n\r\n public isDefault: boolean;\r\n\r\n deserialize(input: any): this {\r\n return Object.assign(this, input);\r\n }\r\n}\r\n","export class ProofTrait {\r\n\r\n public id: number;\r\n\r\n public traitId: number;\r\n\r\n public proofId: number;\r\n\r\n public breedId: number;\r\n\r\n public standardDeviation: string;\r\n\r\n public averageIndex: string;\r\n\r\n public averageBulls: string;\r\n\r\n public sequence: number;\r\n\r\n deserialize(input: any): this {\r\n return Object.assign(this, input);\r\n }\r\n}\r\n","import { Breed } from './breed';\r\n\r\nexport class Question {\r\n\r\n public id: number;\r\n\r\n public question: number;\r\n\r\n public value: string;\r\n\r\n public signal: number;\r\n\r\n public value2: string;\r\n\r\n public signal2: number;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n\r\n}\r\n","export class ReproductiveManagement {\r\n\r\n public id: number;\r\n\r\n public nbrOfHeifersToInseminate?: number;\r\n\r\n public nbrOfCowsToInseminate?: number;\r\n\r\n public maxIATFsPerHeifer?: number;\r\n\r\n public maxIATFsPerCow?: number;\r\n\r\n public readyToIATFBeginning?: number;\r\n\r\n public readyToIATFMiddle?: number;\r\n\r\n public calvingDistributionBeginning?: number;\r\n\r\n public calvingDistributionMiddle?: number;\r\n\r\n public calvingDistributionEnd?: number;\r\n\r\n public pregnancyRate1IATFHeifers?: number;\r\n\r\n public pregnancyRate2IATFHeifers?: number;\r\n\r\n public pregnancyRate3IATFHeifers?: number;\r\n\r\n public pregnancyRate1IATFCows?: number;\r\n\r\n public pregnancyRate2IATFCows?: number;\r\n\r\n public pregnancyRate3IATFCows?: number;\r\n\r\n /* CAMPOS CALCULADOS */\r\n\r\n // Iatf Distribution\r\n public iatfDistributionHeifers1IATF?: number;\r\n public iatfDistributionHeifers2IATF?: number;\r\n public iatfDistributionHeifers3IATF?: number;\r\n\r\n public iatfDistributionCows1IATF?: number;\r\n public iatfDistributionCows2IATF?: number;\r\n public iatfDistributionCows3IATF?: number;\r\n\r\n public iatfDistributionTotal1IATF?: number;\r\n public iatfDistributionTotal2IATF?: number;\r\n public iatfDistributionTotal3IATF?: number;\r\n\r\n // Iatf Distribution Per Season\r\n public iatfDistributionPerSeasonHeifersBeginningEM?: number;\r\n public iatfDistributionPerSeasonHeifersMiddleEM?: number;\r\n public iatfDistributionPerSeasonHeifersEndEM?: number;\r\n public iatfDistributionPerSeasonHeifersTotal?: number;\r\n\r\n public iatfDistributionPerSeasonCowsBeginningEM?: number;\r\n public iatfDistributionPerSeasonCowsMiddleEM?: number;\r\n public iatfDistributionPerSeasonCowsEndEM?: number;\r\n public iatfDistributionPerSeasonCowsTotal?: number;\r\n\r\n public iatfDistributionPerSeasonTotalBeginningEM?: number;\r\n public iatfDistributionPerSeasonTotalMiddleEM?: number;\r\n public iatfDistributionPerSeasonTotalEndEM?: number;\r\n public iatfDistributionPerSeasonTotal?: number;\r\n\r\n // Average Pregnancy Rate\r\n public averagePregnancyRateHeifers?: number;\r\n public averagePregnancyRateCows?: number;\r\n public averagePregnancyRateAverage?: number;\r\n public averagePregnancyRateTotal?: number;\r\n\r\n // Pregnancy Iatf Distribution Per Season\r\n public pregnancyIatfDistributionPerSeasonHeifersBeginningEM?: number;\r\n public pregnancyIatfDistributionPerSeasonHeifersMiddleEM?: number;\r\n public pregnancyIatfDistributionPerSeasonHeifersEndEM?: number;\r\n public pregnancyIatfDistributionPerSeasonHeifersTotal?: number;\r\n\r\n public pregnancyIatfDistributionPerSeasonCowsBeginningEM?: number;\r\n public pregnancyIatfDistributionPerSeasonCowsMiddleEM?: number;\r\n public pregnancyIatfDistributionPerSeasonCowsEndEM?: number;\r\n public pregnancyIatfDistributionPerSeasonCowsTotal?: number;\r\n\r\n public pregnancyIatfDistributionPerSeasonTotalBeginningEM?: number;\r\n public pregnancyIatfDistributionPerSeasonTotalMiddleEM?: number;\r\n public pregnancyIatfDistributionPerSeasonTotalEndEM?: number;\r\n public pregnancyIatfDistributionPerSeasonTotal?: number;\r\n\r\n // Breed Distribution\r\n\r\n /* PERCENTS */\r\n public breedDistributionHeifersBeginningBreed1Percent?: number;\r\n public breedDistributionHeifersMiddleBreed1Percent?: number;\r\n public breedDistributionHeifersEndBreed1Percent?: number;\r\n\r\n public breedDistributionCowsBeginningBreed1Percent?: number;\r\n public breedDistributionCowsMiddleBreed1Percent?: number;\r\n public breedDistributionCowsEndBreed1Percent?: number;\r\n\r\n public breedDistributionHeifersBeginningBreed2Percent?: number;\r\n public breedDistributionHeifersMiddleBreed2Percent?: number;\r\n public breedDistributionHeifersEndBreed2Percent?: number;\r\n\r\n public breedDistributionCowsBeginningBreed2Percent?: number;\r\n public breedDistributionCowsMiddleBreed2Percent?: number;\r\n public breedDistributionCowsEndBreed2Percent?: number;\r\n\r\n /* VALUES */\r\n public breedDistributionHeifersBeginningBreed1?: number;\r\n public breedDistributionHeifersMiddleBreed1?: number;\r\n public breedDistributionHeifersEndBreed1?: number;\r\n\r\n public breedDistributionCowsBeginningBreed1?: number;\r\n public breedDistributionCowsMiddleBreed1?: number;\r\n public breedDistributionCowsEndBreed1?: number;\r\n\r\n public breedDistributionHeifersBeginningBreed2?: number;\r\n public breedDistributionHeifersMiddleBreed2?: number;\r\n public breedDistributionHeifersEndBreed2?: number;\r\n\r\n public breedDistributionCowsBeginningBreed2?: number;\r\n public breedDistributionCowsMiddleBreed2?: number;\r\n public breedDistributionCowsEndBreed2?: number;\r\n\r\n public breedDistributionTotalBeginningBreed1?: number;\r\n public breedDistributionTotalMiddleBreed1?: number;\r\n public breedDistributionTotalEndBreed1?: number;\r\n\r\n public breedDistributionTotalBeginningBreed2?: number;\r\n public breedDistributionTotalMiddleBreed2?: number;\r\n public breedDistributionTotalEndBreed2?: number;\r\n\r\n // Total Doses By Breed\r\n public totalDosesByBreedBreed1?: number;\r\n public totalDosesByBreedBreed2?: number;\r\n public totalDosesByBreedTotal?: number;\r\n\r\n // Preganancy Distribution Breed1\r\n public pregnancyDistributionBreed1HeifersBeginningEM?: number;\r\n public pregnancyDistributionBreed1HeifersMiddleEM?: number;\r\n public pregnancyDistributionBreed1HeifersEndEM?: number;\r\n public pregnancyDistributionBreed1HeifersTotal?: number;\r\n\r\n public pregnancyDistributionBreed1CowsBeginningEM?: number;\r\n public pregnancyDistributionBreed1CowsMiddleEM?: number;\r\n public pregnancyDistributionBreed1CowsEndEM?: number;\r\n public pregnancyDistributionBreed1CowsTotal?: number;\r\n\r\n public pregnancyDistributionBreed1TotalBeginningEM?: number;\r\n public pregnancyDistributionBreed1TotalMiddleEM?: number;\r\n public pregnancyDistributionBreed1TotalEndEM?: number;\r\n public pregnancyDistributionBreed1Total?: number;\r\n\r\n // Pregnancy Distribution Breed2\r\n public pregnancyDistributionBreed2HeifersBeginningEM?: number;\r\n public pregnancyDistributionBreed2HeifersMiddleEM?: number;\r\n public pregnancyDistributionBreed2HeifersEndEM?: number;\r\n public pregnancyDistributionBreed2HeifersTotal?: number;\r\n\r\n public pregnancyDistributionBreed2CowsBeginningEM?: number;\r\n public pregnancyDistributionBreed2CowsMiddleEM?: number;\r\n public pregnancyDistributionBreed2CowsEndEM?: number;\r\n public pregnancyDistributionBreed2CowsTotal?: number;\r\n\r\n public pregnancyDistributionBreed2TotalBeginningEM?: number;\r\n public pregnancyDistributionBreed2TotalMiddleEM?: number;\r\n public pregnancyDistributionBreed2TotalEndEM?: number;\r\n public pregnancyDistributionBreed2Total?: number;\r\n\r\n deserialize(input: any): this {\r\n return Object.assign(this, input);\r\n }\r\n}\r\n","export class SavedInterview {\r\n\r\n public interviewId: number;\r\n\r\n public interviewDate: Date;\r\n\r\n public customerName: string;\r\n\r\n public farmName: string;\r\n\r\n public herdName: string;\r\n\r\n public status: string;\r\n\r\n public pdf: any;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","export class AnalyticSelectResultPresentation {\r\n\r\n public id: number;\r\n\r\n public traitGroupId: number;\r\n\r\n public traitId: number;\r\n\r\n public traitGroupName: string;\r\n\r\n public traitName: string;\r\n\r\n public acronym: string;\r\n\r\n public isTraitGroup: boolean;\r\n\r\n public weighting: number;\r\n\r\n public filterPercentSignal: string;\r\n\r\n public filterPercentValue: number;\r\n\r\n public filterDepSignal: string;\r\n\r\n public filterDepValue: number;\r\n\r\n public filterAccValue: number;\r\n\r\n public bullAverage: number;\r\n\r\n public schemeAverage: number;\r\n\r\n public accAverage: number;\r\n\r\n public percent: number;\r\n\r\n public sequence: number;\r\n\r\n deserialize(input: any): this {\r\n return Object.assign(this, input);\r\n }\r\n}\r\n","export class SyntheticSelectResultPresentation {\r\n\r\n public description: string;\r\n\r\n public percent: number;\r\n\r\n public dep: number;\r\n\r\n deserialize(input: any): this {\r\n return Object.assign(this, input);\r\n }\r\n}\r\n","export class SelectedBull {\r\n\r\n public id: number;\r\n\r\n public shortName: string;\r\n\r\n public bullId: number;\r\n\r\n public interviewCycleId: number;\r\n\r\n public cowsDoses: number;\r\n\r\n public heifersDoses: number;\r\n\r\n public pricePerDose: number;\r\n\r\n public indexValue: number;\r\n\r\n public total: number;\r\n\r\n constructor () { }\r\n\r\n deserialize(input: any): this {\r\n return Object.assign(this, input);\r\n }\r\n}\r\n","import { Breed } from './breed';\r\nimport { Question } from './question';\r\nimport { BreedSelection } from './breed-selection';\r\n\r\nexport class Suggestion {\r\n\r\n public id: number;\r\n\r\n public description: string;\r\n\r\n public questions: Array;\r\n\r\n public baseBreeds: Array;\r\n\r\n public suggestedBreeds: Array;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n\r\n this.questions = this.questions ? input.farm.map((questions: Question) => new Question().deserialize(questions)) : this.questions;\r\n this.baseBreeds = this.baseBreeds ? input.farm.map((baseBreeds: Breed) => new Breed().deserialize(baseBreeds)) : this.baseBreeds;\r\n this.suggestedBreeds = this.suggestedBreeds ? input.suggestedBreeds.map(\r\n (suggestedBreeds: BreedSelection) => new BreedSelection().deserialize(suggestedBreeds)) : this.suggestedBreeds;\r\n\r\n return this;\r\n }\r\n\r\n}\r\n","import { Trait } from './trait';\r\n\r\nexport class TraitGroup {\r\n\r\n public id: number;\r\n\r\n public name: string;\r\n\r\n public trait: Array;\r\n\r\n public checked: boolean;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n\r\n this.trait = this.trait ? input.trait.map((trait: Trait) => new Trait().deserialize(trait)) : this.trait;\r\n\r\n return this;\r\n }\r\n}\r\n","import { TraitGroup } from './trait-group';\r\nimport { ProofTrait } from './proof-trait';\r\n\r\nexport class Trait {\r\n\r\n public id: number;\r\n\r\n public proofId: number;\r\n\r\n public acronym: string;\r\n\r\n public description: string;\r\n\r\n public positive: boolean;\r\n\r\n public display: string;\r\n\r\n public checked: boolean;\r\n\r\n public active: number;\r\n\r\n public traitGroupId?: number;\r\n\r\n public traitGroup: TraitGroup;\r\n\r\n public weightingValue: number;\r\n\r\n public filterTopDecaValue: number;\r\n\r\n public filterTopDecaSignal: string;\r\n\r\n public filterDepValue: number;\r\n\r\n public filterDepSignal: string;\r\n\r\n public filterAccValue: number;\r\n\r\n public proofTrait: Array;\r\n\r\n public isHighlighting: boolean;\r\n\r\n public sequence: number;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n\r\n this.proofTrait =\r\n this.proofTrait ? input.proofTrait.map((proofTrait: ProofTrait) =>\r\n new ProofTrait().deserialize(proofTrait)) : this.proofTrait;\r\n\r\n return this;\r\n }\r\n}\r\n","export class Uf {\r\n\r\n public uf1: string;\r\n\r\n public name: string;\r\n\r\n deserialize(input: any): this {\r\n return Object.assign(this, input);\r\n }\r\n}\r\n","import { DatePipe } from '@angular/common';\r\n\r\nexport class UserActivity {\r\n\r\n public name: string;\r\n\r\n public email: string;\r\n\r\n public regionManager: string;\r\n\r\n public districtManager: string;\r\n\r\n public loginDate: string;\r\n\r\n public numberOfInterviews: string;\r\n\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","import { Input } from '@angular/core';\r\n\r\nexport class UserInfo {\r\n\r\n public email: string;\r\n\r\n public password: string;\r\n\r\n public name: string;\r\n\r\n}\r\n","import { Person } from './person';\r\nimport { Customer } from './customer';\r\nimport { Interview } from './interview';\r\n\r\nexport class User {\r\n\r\n public id: string;\r\n\r\n public email: string;\r\n\r\n public regionManager: string;\r\n\r\n public districtManager: string;\r\n\r\n public registerDate: Date;\r\n\r\n public lastAccess: Date;\r\n\r\n public active: boolean;\r\n\r\n public person: Person;\r\n\r\n public customer: Array;\r\n\r\n public password: string;\r\n\r\n public status: number;\r\n\r\n public personId: number;\r\n\r\n public interview: Array;\r\n\r\n constructor () {\r\n // this.person = this.person ? this.person : new Person();\r\n }\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n\r\n this.customer = this.customer ? input.customer.map((c: Customer) => new Customer().deserialize(c)) : this.customer;\r\n\r\n this.interview = this.interview ? input.interview\r\n .map((i: Interview) => new Interview().deserialize(i)) : this.interview;\r\n\r\n return this;\r\n }\r\n\r\n}\r\n","export class WeightingQuestion {\r\n\r\n public suggestionId: number;\r\n\r\n public questionId: number;\r\n\r\n public value: string;\r\n\r\n public name: string;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","import { Trait } from '../trait';\r\n\r\nexport class WeightingSuggestionHasTrait {\r\n\r\n public suggestionId: number;\r\n\r\n public traitId: number;\r\n\r\n public breedId: number;\r\n\r\n public proofId: number;\r\n\r\n public value: string;\r\n\r\n public trait: Trait;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","import { WeightingQuestion } from './weighting-question';\r\nimport { WeightingSuggestionHasTrait } from './weighting-suggestion-has-trait';\r\n\r\nexport class WeightingSuggestion {\r\n\r\n public id: number;\r\n\r\n public description: string;\r\n\r\n public weightingSuggestionHasTrait: Array;\r\n\r\n public weightingQuestion: Array;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n\r\n this.weightingQuestion =\r\n this.weightingQuestion ?\r\n input.weightingQuestion\r\n .map((w: WeightingQuestion) => new WeightingQuestion()\r\n .deserialize(w)) : this.weightingQuestion;\r\n\r\n this.weightingSuggestionHasTrait =\r\n this.weightingSuggestionHasTrait ?\r\n input.weightingSuggestionHasTrait\r\n .map((w: WeightingSuggestionHasTrait) => new WeightingSuggestionHasTrait()\r\n .deserialize(w)) : this.weightingSuggestionHasTrait;\r\n\r\n return this;\r\n }\r\n}\r\n","import { Configuration } from 'msal';\r\nimport { MsalAngularConfiguration } from '@azure/msal-angular';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n// this checks if the app is running on IE\r\nexport const isIE = window.navigator.userAgent.indexOf('MSIE ') > -1 || window.navigator.userAgent.indexOf('Trident/') > -1;\r\n\r\n/** =================== REGIONS ====================\r\n * 1) B2C policies and user flows\r\n * 2) Web API configuration parameters\r\n * 3) Authentication configuration parameters\r\n * 4) MSAL-Angular specific configuration parameters\r\n * =================================================\r\n*/\r\n\r\n// #region 1) B2C policies and user flows\r\n/**\r\n * Enter here the user flows and custom policies for your B2C application,\r\n * To learn more about user flows, visit https://docs.microsoft.com/en-us/azure/active-directory-b2c/user-flow-overview\r\n * To learn more about custom policies, visit https://docs.microsoft.com/en-us/azure/active-directory-b2c/custom-policy-overview\r\n */\r\nexport const b2cPolicies = {\r\n names: {\r\n signUpSignIn: environment.b2cSignUpSignIn,\r\n resetPassword: environment.b2cResetPassword\r\n },\r\n authorities: {\r\n signUpSignIn: {\r\n authority: `https://${environment.b2cLogin}/${environment.b2cDomain}/${environment.b2cSignUpSignIn}`\r\n },\r\n resetPassword: {\r\n authority: `https://${environment.b2cLogin}/${environment.b2cDomain}/${environment.b2cResetPassword}`\r\n }\r\n }\r\n}\r\n// #endregion\r\n\r\n\r\n// #region 2) Web API Configuration\r\n/** \r\n * Enter here the coordinates of your Web API and scopes for access token request\r\n * The current application coordinates were pre-registered in a B2C tenant.\r\n */\r\nexport const apiConfig: {b2cScopes: string[], webApi: string} = {\r\n b2cScopes: [`https://${environment.b2cDomain}/${environment.b2cApiClientId}/api.read`],\r\n webApi: '/api'\r\n};\r\n// #endregion\r\n\r\n// #region 3) Authentication Configuration\r\n/** \r\n * Config object to be passed to Msal on creation. For a full list of msal.js configuration parameters,\r\n * visit https://azuread.github.io/microsoft-authentication-library-for-js/docs/msal/modules/_configuration_.html\r\n */\r\nexport const msalConfig: Configuration = {\r\n auth: {\r\n clientId: environment.b2cClientId,\r\n authority: b2cPolicies.authorities.signUpSignIn.authority,\r\n redirectUri: environment.b2cRedirectUri,\r\n postLogoutRedirectUri: environment.b2cPostLogoutRedirectUri,\r\n navigateToLoginRequestUrl: true,\r\n validateAuthority: false,\r\n },\r\n cache: {\r\n cacheLocation: 'localStorage',\r\n storeAuthStateInCookie: isIE, // Set this to 'true' to save cache in cookies to address trusted zones limitations in IE\r\n },\r\n}\r\n\r\n/** \r\n * Scopes you enter here will be consented once you authenticate. For a full list of available authentication parameters, \r\n * visit https://azuread.github.io/microsoft-authentication-library-for-js/docs/msal/modules/_authenticationparameters_.html\r\n */\r\nexport const loginRequest: {scopes: string[]} = {\r\n scopes: ['openid', 'profile', 'api.read']\r\n};\r\n\r\n// Scopes you enter will be used for the access token request for your web API\r\nexport const tokenRequest: {scopes: string[]} = {\r\n scopes: apiConfig.b2cScopes // i.e. [https://fabrikamb2c.onmicrosoft.com/helloapi/demo.read]\r\n};\r\n// #endregion\r\n\r\n\r\n\r\n// #region 4) MSAL-Angular Configuration\r\n// here you can define the coordinates and required permissions for your protected resources\r\nexport const protectedResourceMap: [string, string[]][] = [\r\n [apiConfig.webApi, apiConfig.b2cScopes]\r\n // i.e. [https://fabrikamb2chello.azurewebsites.net/hello, ['https://fabrikamb2c.onmicrosoft.com/helloapi/demo.read']]\r\n];\r\n\r\n/**\r\n * MSAL-Angular specific authentication parameters. For a full list of available options,\r\n * visit https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-angular#config-options-for-msal-initialization\r\n*/\r\nexport const msalAngularConfig: MsalAngularConfiguration = {\r\n popUp: !isIE,\r\n consentScopes: [\r\n ...loginRequest.scopes,\r\n ...tokenRequest.scopes,\r\n ],\r\n unprotectedResources: [], // API calls to these coordinates will NOT activate MSALGuard\r\n protectedResourceMap, // API calls to these coordinates will activate MSALGuard\r\n extraQueryParameters: {}\r\n}\r\n// #endregion\r\n","import { Directive, ElementRef, HostListener, Output, EventEmitter, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appOnlyDigits]'\r\n})\r\nexport class OnlyDigitsDirective {\r\n\r\n // Allow decimal numbers. The \\. is only allowed once to occur\r\n private regex: RegExp = new RegExp('^[0-9]*$');\r\n\r\n // Allow key codes for special events. Reflect :\r\n // Backspace, tab, end, home\r\n private specialKeys: Array = ['Backspace', 'Tab', 'End', 'Home', 'Delete', 'left-arrow', 'right-arrow'];\r\n constructor(private el: ElementRef) { }\r\n\r\n @Input() maxlength: number;\r\n @Input() min: number;\r\n @Input() max: number;\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent) {\r\n // Allow Backspace, tab, end, and home keys\r\n if (this.specialKeys.indexOf(event.key) !== -1) {\r\n return;\r\n }\r\n\r\n // Do not use event.keycode this is deprecated.\r\n // See: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode\r\n const current: string = this.el.nativeElement.value;\r\n\r\n // We need this because the current value on the DOM element\r\n // is not yet updated with the value from this event\r\n const next: string = current.concat(event.key);\r\n if (next && !String(next).match(this.regex) || (this.maxlength && next.length > this.maxlength) ||\r\n (this.min && +next < this.min) ||\r\n (this.max && +next >= this.max)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n @HostListener('paste', ['$event']) onPaste(event) {\r\n // Don't allow pasted text that contains non-numerics\r\n const pastedText = (event.originalEvent || event).clipboardData.getData('text/plain');\r\n\r\n if (pastedText) {\r\n const regEx = new RegExp('^[0-9]*$');\r\n if (!regEx.test(pastedText) || (this.maxlength && pastedText.length > this.maxlength) ||\r\n (this.min && +pastedText < this.min) ||\r\n (this.max && +pastedText >= this.max)) {\r\n event.preventDefault();\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { apiConfig } from '@app/_authorization/auth.config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuardHelper implements CanActivate {\r\n\r\n constructor(private msalService: MsalService, private router: Router) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean | Observable | Promise {\r\n return new Promise((resolve) => {\r\n this.msalService.acquireTokenSilent({ scopes: apiConfig.b2cScopes })\r\n .then((tokenResponse) => {\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n this.router.navigate(['/acesso']);\r\n resolve(false);\r\n });\r\n });\r\n }\r\n}\r\n","import { FormGroup } from '@angular/forms';\r\n\r\n// custom validator to check that two fields match\r\nexport function MustMatch(controlName: string, matchingControlName: string) {\r\n return (formGroup: FormGroup) => {\r\n const control = formGroup.controls[controlName];\r\n const matchingControl = formGroup.controls[matchingControlName];\r\n\r\n if (matchingControl.errors && !matchingControl.errors.mustMatch) {\r\n // return if another validator has already found an error on the matchingControl\r\n return;\r\n }\r\n\r\n // set error on matchingControl if validation fails\r\n if (control.value !== matchingControl.value) {\r\n matchingControl.setErrors({ mustMatch: true });\r\n } else {\r\n matchingControl.setErrors(null);\r\n }\r\n };\r\n}\r\n","import { MsalService } from '@azure/msal-angular';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport 'rxjs/add/observable/throw';\r\nimport 'rxjs/add/operator/catch';\r\nimport { retry, catchError, map } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { environment } from 'src/environments/environment';\r\nimport { User } from 'src/_models/user';\r\nimport { Customer } from 'src/_models/customer';\r\nimport { UserInfo } from 'src/_models/user-info';\r\nimport { UserId } from 'src/_models/user-token';\r\nimport { City } from 'src/_models/city';\r\nimport { Uf } from 'src/_models/uf';\r\nimport { Breed } from 'src/_models/breed';\r\nimport { BreedType } from 'src/_models/breed-type';\r\nimport { ProofSelection } from 'src/_models/proof-selection';\r\nimport { TraitGroup } from 'src/_models/trait-group';\r\nimport { WeightingSuggestion } from 'src/_models/weighting-suggestion/weighting-suggestion';\r\nimport { Interview } from 'src/_models/interview';\r\nimport { FilterSuggestion } from 'src/_models/filter-suggestion/filter-suggestion';\r\nimport { FeatureHighLighting } from 'src/_models/feature-highlighting';\r\nimport { Bull } from 'src/_models/bull';\r\nimport { InterviewCycle } from 'src/_models/interview-cycle';\r\nimport { Suggestion } from 'src/_models/suggestion';\r\nimport { AnalyticSelectResultPresentation } from 'src/_models/select-result-presentation/analytic-select-result-presentation';\r\nimport { SavedInterview } from 'src/_models/saved-interview/saved-interview';\r\nimport { UserActivity } from 'src/_models/user-activity';\r\nimport { LoginInfo } from 'src/_models/login-info';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiService {\r\n\r\n public userToken: UserId;\r\n public currentUser: Observable;\r\n private apiBaseUrl = environment.apiBaseUrl;\r\n private RETRY_NUMBER = 3;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private router: Router,\r\n private msalService: MsalService) {\r\n this.userToken = JSON.parse(localStorage.getItem('currentUser'));\r\n }\r\n\r\n // Users\r\n\r\n public RequestAccess(userInfo: UserInfo): Observable {\r\n return this.http\r\n .post(`${this.apiBaseUrl}/users/requestaccess`, userInfo)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'RequestAccess')));\r\n }\r\n\r\n public CreateUser(user: User) {\r\n return this.http\r\n .post(`${this.apiBaseUrl}/users`, user)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'CreateUser')));\r\n }\r\n\r\n public UdpateUser(user: User) {\r\n return this.http\r\n .put(`${this.apiBaseUrl}/users`, user)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'UdpateUser')));\r\n }\r\n\r\n public ChangeUserStatus(userId: any) {\r\n return this.http\r\n .put(`${this.apiBaseUrl}/users/${userId}/changestatus`, null)\r\n .toPromise()\r\n .catch((error) => this.handleError(error, 'ChangeUserStatus'));\r\n }\r\n\r\n public DeleteUser(userId: any) {\r\n return this.http\r\n .delete(`${this.apiBaseUrl}/users/${userId}`)\r\n .toPromise()\r\n .catch((error) => this.handleError(error, 'DeleteUser'));\r\n }\r\n\r\n public GetUser(): Observable {\r\n if (this.currentUser) {\r\n return this.currentUser;\r\n } else if (this.userToken && this.userToken.userId) {\r\n return this.currentUser = this.http\r\n .get(`${this.apiBaseUrl}/users/${this.userToken.userId}`)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'GetUser')))\r\n .map(data => new User().deserialize(data));\r\n } else {\r\n this.msalService.logout();\r\n this.router.navigate(['/acesso']);\r\n return new Observable();\r\n }\r\n }\r\n\r\n public GetCurrentUser(): Observable {\r\n if (this.userToken && this.userToken.userId) {\r\n return this.http\r\n .get(`${this.apiBaseUrl}/users/${this.userToken.userId}`)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'GetCurrentUser')))\r\n .map(data => new User().deserialize(data));\r\n } else {\r\n this.msalService.logout();\r\n this.router.navigate(['/acesso']);\r\n return new Observable();\r\n }\r\n }\r\n\r\n public GetUsers(): Observable {\r\n return this.http\r\n .get(`${this.apiBaseUrl}/users`)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'GetUsers')));\r\n }\r\n\r\n public GetAllUsersActivity(): Observable {\r\n return this.http\r\n .get(`${this.apiBaseUrl}/users/activity`)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'GetUsersActivity')));\r\n }\r\n\r\n // Cities\r\n\r\n public getCities(): Observable {\r\n return this.http\r\n .get(`${this.apiBaseUrl}/address/cities`)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'getCities')));\r\n }\r\n\r\n // Ufs\r\n\r\n public getUfs(): Observable {\r\n return this.http\r\n .get(`${this.apiBaseUrl}/address/ufs`)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'getUfs')));\r\n }\r\n\r\n // Breeds\r\n\r\n public getBreeds(): Observable {\r\n return this.http\r\n .get(`${this.apiBaseUrl}/breeds`)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'getBreeds')));\r\n }\r\n\r\n // BreedTypes\r\n\r\n public getBreedTypes(): Observable {\r\n return this.http\r\n .get(`${this.apiBaseUrl}/breedTypes`)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'getBreedTypes')));\r\n }\r\n\r\n public getBreedTypesSelection(): Observable {\r\n return this.http\r\n .get(`${this.apiBaseUrl}/breedTypes/proofselection`)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'getBreedTypesSelection')));\r\n }\r\n\r\n // Customers\r\n\r\n public CreateCustomer(customer: Customer) {\r\n return this.http\r\n .post(`${this.apiBaseUrl}/customers`, customer)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'CreateCustomer')));\r\n }\r\n\r\n public UdpateCustomer(customer: Customer) {\r\n return this.http\r\n .put(`${this.apiBaseUrl}/customers`, customer)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'UdpateCustomer')));\r\n }\r\n\r\n public ChangeCustomerStatus(customerId: any) {\r\n return this.http\r\n .put(`${this.apiBaseUrl}/customers/${customerId}/changestatus`, null)\r\n .toPromise()\r\n .catch((error) => this.handleError(error, 'ChangeCustomerStatus'));\r\n }\r\n\r\n public DeleteCustomer(customerId: any) {\r\n return this.http\r\n .delete(`${this.apiBaseUrl}/customers/${customerId}`)\r\n .toPromise()\r\n .catch((error) => this.handleError(error, 'DeleteCustomer'));\r\n }\r\n\r\n // Weighting Traits Groups\r\n\r\n public GetWeightingTraitsGroups(proofId: number, breedId: number): Observable {\r\n return this.http\r\n .get(`${this.apiBaseUrl}/weighting/traitsgroups/${proofId}/${breedId}`)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'GetWeightingTraitsGroups')));\r\n }\r\n\r\n // Filter Traits Groups\r\n\r\n public GetFilterTraitsGroups(proofId: number, breedId: number): Observable {\r\n return this.http\r\n .get(`${this.apiBaseUrl}/filter/traitsgroups/${proofId}/${breedId}`)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'GetFilterTraitsGroups')));\r\n }\r\n\r\n // Weighting Suggestion\r\n\r\n public getWeightingSuggestions(interview: Interview): Observable {\r\n return this.http\r\n .post(`${this.apiBaseUrl}/weighting/suggestions`, interview)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'getWeightingSuggestions')));\r\n }\r\n\r\n // Filter Suggestion\r\n\r\n public getFilterSuggestions(interview: Interview): Observable {\r\n return this.http\r\n .post(`${this.apiBaseUrl}/filter/suggestions`, interview)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'getFilterSuggestions')));\r\n }\r\n\r\n // Feature HighLighting\r\n\r\n public getWeightingFeatureHighLighting(interview: Interview): Observable {\r\n return this.http\r\n .post(`${this.apiBaseUrl}/weighting/featurehighlighting`, interview)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'getWeightingFeatureHighLighting')));\r\n }\r\n\r\n public getFilterFeatureHighLighting(interview: Interview): Observable {\r\n return this.http\r\n .post(`${this.apiBaseUrl}/filter/featurehighlighting`, interview)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'getFilterFeatureHighLighting')));\r\n }\r\n\r\n public getBulls(interviewCycle: InterviewCycle): Observable> {\r\n return this.http\r\n .post(`${this.apiBaseUrl}/bullselection`, interviewCycle)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'getBulls')));\r\n }\r\n\r\n // Breed Suggestions\r\n public getBreedSuggestions(): Observable {\r\n return this.http\r\n .get(`${this.apiBaseUrl}/interviewsuggestion`)\r\n .pipe(retry(3), catchError((error) => this.handleError(error, 'getBreedSuggestions')));\r\n }\r\n\r\n // Select Result Presentation\r\n\r\n public getAnalyticSelectResultPresentation(interviewCycle: InterviewCycle): Observable {\r\n return this.http\r\n .post(`${this.apiBaseUrl}/selectresultpresentation`, interviewCycle)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'getAnalyticSelectResultPresentation')));\r\n }\r\n\r\n // Interview\r\n\r\n public getSavedInterviews(): Observable {\r\n return this.http\r\n .get(`${this.apiBaseUrl}/interviews/saved/${this.userToken.userId}`)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'GetSavedInterviews')));\r\n }\r\n\r\n public getInterview(id: number): Observable {\r\n return this.http\r\n .get(`${this.apiBaseUrl}/interviews/${id}`)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'GetInterview')));\r\n\r\n\r\n }\r\n\r\n public saveInterview(interview: Interview) {\r\n return this.http\r\n .post(`${this.apiBaseUrl}/interviews`, interview)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'saveInterview')));\r\n }\r\n\r\n public cloneInterview(interview: SavedInterview) {\r\n return this.http\r\n .get(`${this.apiBaseUrl}/interviews/clone/${interview.interviewId}`)\r\n .pipe(retry(this.RETRY_NUMBER), catchError((error) => this.handleError(error, 'GetInterview')));\r\n }\r\n\r\n // Error\r\n\r\n private handleError(error: HttpErrorResponse, method: string) {\r\n console.error(error);\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('An error occurred:', error.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n console.error('Backend returned an error:');\r\n console.error(error);\r\n console.error(`Method: ${method}`);\r\n if (error.status === 404) {\r\n this.router.navigateByUrl('/404', { skipLocationChange: true });\r\n } else if (error.status === 401) {\r\n // não autorizado\r\n alert(`A sessão expirou. É necessário acessar o sistema novamente.`);\r\n this.msalService.logout();\r\n this.router.navigate(['/acesso']);\r\n }\r\n }\r\n return Observable.throwError(error);\r\n }\r\n\r\n login(loginInfo: LoginInfo) {\r\n // console.log(\"loginInfo: \", loginInfo);\r\n return this.http.post(`${environment.apiBaseUrl}/login`, loginInfo)\r\n .pipe(map(userToken => { return userToken; }));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DialogService, DialogAction, DialogResult } from '@progress/kendo-angular-dialog';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DialogConfirmService {\r\n\r\n constructor(private dialogService: DialogService) {}\r\n\r\n public Confirm(title: string, content: string): Observable {\r\n const actions: DialogAction[] = [\r\n { text: 'Não' },\r\n { text: 'Sim', primary: true }\r\n ];\r\n const dialogResult: Observable = this.dialogService.open({\r\n title: title,\r\n content: content,\r\n actions: actions,\r\n width: 450,\r\n height: 200,\r\n minWidth: 250\r\n }).result;\r\n\r\n return dialogResult;\r\n }\r\n\r\n public Alert(title: string, content: string): Observable {\r\n const actions: DialogAction[] = [\r\n { text: 'Ok' }\r\n ];\r\n const dialogResult: Observable = this.dialogService.open({\r\n title: title,\r\n content: content,\r\n actions: actions,\r\n width: 450,\r\n height: 200,\r\n minWidth: 250\r\n }).result;\r\n\r\n return dialogResult;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport * as XLSX from \"xlsx\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class ExportService {\r\n constructor() {}\r\n\r\n public exportToExcel(items: any[], args:{tabName: string, filename: string}) {\r\n\r\n console.log(items);\r\n\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(items, {\r\n skipHeader: true,\r\n });\r\n\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws, args.tabName);\r\n XLSX.writeFile(wb, args.filename);\r\n }\r\n}\r\n","import { HerdProblem } from 'src/_models/herd-problem';\r\nimport { BonusProgramm } from 'src/_models/bonus-program';\r\nimport { InterviewCycle } from 'src/_models/interview-cycle';\r\nimport { InterviewBreedGoal } from './../../_models/interview-breed-goal';\r\nimport { Interview } from 'src/_models/interview';\r\nimport { Injectable } from '@angular/core';\r\nimport { Herd } from 'src/_models/herd';\r\nimport { ReproductiveManagement } from 'src/_models/reproductive-management';\r\nimport * as internal from 'assert';\r\nimport { DataResultIterator } from '@progress/kendo-angular-grid/dist/es2015/data/data.collection';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InterviewService {\r\n\r\n constructor() { }\r\n\r\n public interview: Interview\r\n\r\n public cloneInterview(interview: any): Interview {\r\n\r\n const result:Interview = new Interview();\r\n\r\n result.bonusProgram = interview.bonusProgram? interview.bonusProgram : result.bonusProgram;\r\n result.breedOptions = interview.breedOptions? interview.breedOptions : result.breedOptions;\r\n result.breedOptionsMatting = interview.breedOptionsMatting? interview.breedOptionsMatting : result.breedOptionsMatting;\r\n // result.currentInterviewCycle = interview.currentInterviewCycle ? interview.currentInterviewCycle : result.currentInterviewCycle;\r\n result.interviewBreedGoal = interview.interviewBreedGoal ? interview.interviewBreedGoal : result.interviewBreedGoal;\r\n // result.interviewCycle = [];\r\n // result.interviewCycle.push(new InterviewCycle());\r\n\r\n\r\n\r\n result.interviewCycle = interview.interviewCycle; //? interview.interviewCycle : result.interviewCycle;\r\n\r\n\r\n result.reproductiveManagement = interview.reproductiveManagement ? interview.reproductiveManagement : result.reproductiveManagement;\r\n\r\n\r\n return result;\r\n }\r\n\r\n public initializeInterview(interview: Interview): Interview {\r\n // interview.interviewDate = interview.interviewDate ? interview.interviewDate : new Date();\r\n // interview.femaleOrigin = interview.femaleOrigin ? interview.femaleOrigin : 0;\r\n // interview.breedOptions = interview.breedOptions ? interview.breedOptions : 1;\r\n // interview.breedOptionsMatting = interview.breedOptionsMatting ? interview.breedOptionsMatting : 0;\r\n // //interview.currentInterviewCycle = interview.currentInterviewCycle ? interview.currentInterviewCycle : 0;\r\n\r\n // interview.herd = interview.herd ? interview.herd : new Herd();\r\n // interview.reproductiveManagement = interview.reproductiveManagement ? interview.reproductiveManagement : new ReproductiveManagement();\r\n\r\n // if (!interview.interviewBreedGoal) {\r\n // interview.interviewBreedGoal = new Array();\r\n // interview.interviewBreedGoal.push(new InterviewBreedGoal());\r\n // interview.interviewBreedGoal.push(new InterviewBreedGoal());\r\n // }\r\n\r\n // //interview.interviewCycle = interview.interviewCycle ? interview.interviewCycle : new Array();\r\n // interview.bonusProgram = interview.bonusProgram ? interview.bonusProgram : new Array();\r\n // interview.herdProblem = interview.herdProblem ? interview.herdProblem : new Array();\r\n\r\n return interview;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ReproductiveManagement } from 'src/_models/reproductive-management';\r\nimport { DosesDistributionByBreed } from 'src/_models/doses-distribution-by-breed';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReproductiveManagementService {\r\n\r\n reproductiveManagement: ReproductiveManagement;\r\n dosesDistributionByBreed: DosesDistributionByBreed;\r\n\r\n // BREED DISTRIBUITION VARIABLES\r\n // BREED 1\r\n public heifersBeginningBreed1Percent: number;\r\n public heifersMiddleBreed1Percent: number;\r\n public heifersEndBreed1Percent: number;\r\n public cowsBeginningBreed1Percent: number;\r\n public cowsMiddleBreed1Percent: number;\r\n public cowsEndBreed1Percent: number;\r\n // BREED 2\r\n public heifersBeginningBreed2Percent: number;\r\n public heifersMiddleBreed2Percent: number;\r\n public heifersEndBreed2Percent: number;\r\n public cowsBeginningBreed2Percent: number;\r\n public cowsMiddleBreed2Percent: number;\r\n public cowsEndBreed2Percent: number;\r\n\r\n constructor() { }\r\n\r\n // QUESTAO F\r\n get heifersIATFDistributionBeginning () {\r\n // P1Q1\r\n return Math.round(this.reproductiveManagement.nbrOfHeifersToInseminate * (this.reproductiveManagement.readyToIATFBeginning / 100) || 0);\r\n }\r\n get heifersIATFDistributionMiddle1 () {\r\n // P2Q1\r\n // tslint:disable-next-line:max-line-length\r\n return Math.round(this.heifersIATFDistributionBeginning - (this.heifersIATFDistributionBeginning * (this.reproductiveManagement.pregnancyRate1IATFHeifers / 100)) || 0);\r\n }\r\n get heifersIATFDistributionMiddle2 () {\r\n // P2Q2\r\n // tslint:disable-next-line:max-line-length\r\n return Math.round(this.reproductiveManagement.nbrOfHeifersToInseminate * (this.reproductiveManagement.readyToIATFMiddle / 100) || 0);\r\n }\r\n get heifersIATFDistributionEnd1 () {\r\n // P3Q1\r\n // tslint:disable-next-line:max-line-length\r\n return Math.round(this.heifersIATFDistributionMiddle1 - (this.heifersIATFDistributionMiddle1 * (this.reproductiveManagement.pregnancyRate2IATFHeifers / 100)) || 0);\r\n }\r\n get heifersIATFDistributionEnd2 () {\r\n // P3Q2\r\n // tslint:disable-next-line:max-line-length\r\n // return Math.round(this.heifersIATFDistributionMiddle2 - (this.heifersIATFDistributionBeginning * (this.reproductiveManagement.pregnancyRate1IATFHeifers / 100)) || 0);\r\n return Math.round(this.heifersIATFDistributionMiddle2 - (this.heifersIATFDistributionMiddle2 * (this.reproductiveManagement.pregnancyRate1IATFHeifers / 100)) || 0);\r\n }\r\n\r\n get cowsIATFDistributionBeginning () {\r\n // P1Q1\r\n // tslint:disable-next-line:max-line-length\r\n return Math.round(this.reproductiveManagement.nbrOfCowsToInseminate * (this.reproductiveManagement.calvingDistributionBeginning / 100) || 0);\r\n }\r\n get cowsIATFDistributionMiddle1 () {\r\n // P2Q1\r\n // tslint:disable-next-line:max-line-length\r\n return Math.round(this.cowsIATFDistributionBeginning - (this.cowsIATFDistributionBeginning * (this.reproductiveManagement.pregnancyRate1IATFCows / 100)) || 0);\r\n }\r\n get cowsIATFDistributionMiddle2 () {\r\n // P2Q2\r\n // tslint:disable-next-line:max-line-length\r\n return Math.round(this.reproductiveManagement.nbrOfCowsToInseminate * (this.reproductiveManagement.calvingDistributionMiddle / 100) || 0);\r\n }\r\n get cowsIATFDistributionEnd1 () {\r\n // P3Q1\r\n // tslint:disable-next-line:max-line-length\r\n return Math.round(this.cowsIATFDistributionMiddle1 - (this.cowsIATFDistributionMiddle1 * (this.reproductiveManagement.pregnancyRate2IATFCows / 100)) || 0);\r\n }\r\n get cowsIATFDistributionEnd2 () {\r\n // P3Q2\r\n // tslint:disable-next-line:max-line-length\r\n return Math.round(this.cowsIATFDistributionMiddle2 - (this.cowsIATFDistributionMiddle2 * (this.reproductiveManagement.pregnancyRate1IATFCows / 100)) || 0);\r\n }\r\n get cowsIATFDistributionEnd3 () {\r\n // P3Q2\r\n // tslint:disable-next-line:max-line-length\r\n return Math.round(this.reproductiveManagement.nbrOfCowsToInseminate * (this.reproductiveManagement.calvingDistributionEnd / 100) || 0);\r\n }\r\n\r\n // QUESTAO G\r\n // IATF DISTRIBUTION - HEIFERS\r\n get iatfDistributionHeifers1IATF () {\r\n // tslint:disable-next-line:max-line-length\r\n return this.heifersIATFDistributionBeginning + this.heifersIATFDistributionMiddle2 || 0;\r\n }\r\n get iatfDistributionHeifers2IATF () {\r\n // tslint:disable-next-line:triple-equals\r\n if (this.reproductiveManagement.maxIATFsPerHeifer == 1) {\r\n return 0;\r\n } else {\r\n // tslint:disable-next-line:max-line-length\r\n return this.heifersIATFDistributionMiddle1 + this.heifersIATFDistributionEnd2 || 0;\r\n }\r\n }\r\n get iatfDistributionHeifers3IATF () {\r\n if (this.reproductiveManagement.maxIATFsPerHeifer < 3) {\r\n return 0;\r\n } else {\r\n return this.heifersIATFDistributionEnd1;\r\n }\r\n }\r\n\r\n // IATF DISTRIBUTION - COWS\r\n get iatfDistributionCows1IATF () {\r\n // tslint:disable-next-line:max-line-length\r\n return this.cowsIATFDistributionBeginning + this.cowsIATFDistributionMiddle2 + this.cowsIATFDistributionEnd3 || 0;\r\n }\r\n get iatfDistributionCows2IATF () {\r\n // tslint:disable-next-line:triple-equals\r\n if (this.reproductiveManagement.maxIATFsPerCow == 1) {\r\n return 0;\r\n } else {\r\n // tslint:disable-next-line:max-line-length\r\n return this.cowsIATFDistributionMiddle1 + this.cowsIATFDistributionEnd2 || 0;\r\n }\r\n }\r\n get iatfDistributionCows3IATF () {\r\n if (this.reproductiveManagement.maxIATFsPerCow < 3) {\r\n return 0;\r\n } else {\r\n return this.cowsIATFDistributionEnd1;\r\n }\r\n }\r\n\r\n // IATF DISTRIBUTION - TOTAL\r\n get iatfDistributionTotal1IATF() {\r\n return this.iatfDistributionHeifers1IATF + this.iatfDistributionCows1IATF || 0;\r\n }\r\n get iatfDistributionTotal2IATF() {\r\n return this.iatfDistributionHeifers2IATF + this.iatfDistributionCows2IATF || 0;\r\n }\r\n get iatfDistributionTotal3IATF() {\r\n return this.iatfDistributionHeifers3IATF + this.iatfDistributionCows3IATF || 0;\r\n }\r\n\r\n // QUESTAO H\r\n // IATF DISTRIBUTION - HEIFERS\r\n get iatfDistributionPerSeasonHeifersBeginningEM () {\r\n // tslint:disable-next-line:max-line-length\r\n return this.heifersIATFDistributionBeginning || 0;\r\n }\r\n get iatfDistributionPerSeasonHeifersMiddleEM () {\r\n if (this.reproductiveManagement.maxIATFsPerHeifer == 1) {\r\n return this.heifersIATFDistributionMiddle2;\r\n } else {\r\n // tslint:disable-next-line:max-line-length\r\n return this.heifersIATFDistributionMiddle1 + this.heifersIATFDistributionMiddle2 || 0;\r\n }\r\n }\r\n get iatfDistributionPerSeasonHeifersEndEM () {\r\n if (this.reproductiveManagement.maxIATFsPerHeifer == 1) {\r\n return 0;\r\n } else if (this.reproductiveManagement.maxIATFsPerHeifer == 2) {\r\n return this.heifersIATFDistributionEnd2;\r\n } else {\r\n return this.heifersIATFDistributionEnd1 + this.heifersIATFDistributionEnd2;\r\n }\r\n }\r\n\r\n // IATF DISTRIBUTION - COWS\r\n get iatfDistributionPerSeasonCowsBeginningEM () {\r\n // tslint:disable-next-line:max-line-length\r\n return this.cowsIATFDistributionBeginning || 0;\r\n }\r\n get iatfDistributionPerSeasonCowsMiddleEM () {\r\n if (this.reproductiveManagement.maxIATFsPerCow == 1) {\r\n return this.cowsIATFDistributionMiddle2;\r\n } else {\r\n // tslint:disable-next-line:max-line-length\r\n return this.cowsIATFDistributionMiddle1 + this.cowsIATFDistributionMiddle2 || 0;\r\n }\r\n }\r\n get iatfDistributionPerSeasonCowsEndEM () {\r\n if (this.reproductiveManagement.maxIATFsPerCow == 1) {\r\n return this.cowsIATFDistributionEnd3;\r\n } else if (this.reproductiveManagement.maxIATFsPerCow == 2) {\r\n return this.cowsIATFDistributionEnd2 + this.cowsIATFDistributionEnd3;\r\n } else {\r\n return this.cowsIATFDistributionEnd1 + this.cowsIATFDistributionEnd2 + this.cowsIATFDistributionEnd3;\r\n }\r\n }\r\n\r\n // IATF DISTRIBUTION - COL TOTAL\r\n get iatfDistributionPerSeasonTotalBeginningEM() {\r\n return this.iatfDistributionPerSeasonHeifersBeginningEM + this.iatfDistributionPerSeasonCowsBeginningEM || 0;\r\n }\r\n get iatfDistributionPerSeasonTotalMiddleEM() {\r\n return this.iatfDistributionPerSeasonHeifersMiddleEM + this.iatfDistributionPerSeasonCowsMiddleEM || 0;\r\n }\r\n get iatfDistributionPerSeasonTotalEndEM() {\r\n return this.iatfDistributionPerSeasonHeifersEndEM + this.iatfDistributionPerSeasonCowsEndEM || 0;\r\n }\r\n\r\n // IATF DISTRIBUTION - ROW TOTAL\r\n get iatfDistributionPerSeasonTotalHeifers() {\r\n return this.iatfDistributionPerSeasonHeifersBeginningEM + this.iatfDistributionPerSeasonHeifersMiddleEM + this.iatfDistributionPerSeasonHeifersEndEM || 0;\r\n }\r\n get iatfDistributionPerSeasonTotalCows() {\r\n return this.iatfDistributionPerSeasonCowsBeginningEM + this.iatfDistributionPerSeasonCowsMiddleEM + this.iatfDistributionPerSeasonCowsEndEM || 0;\r\n }\r\n get iatfDistributionPerSeasonTotalTotal() {\r\n return this.iatfDistributionPerSeasonTotalBeginningEM + this.iatfDistributionPerSeasonTotalMiddleEM + this.iatfDistributionPerSeasonTotalEndEM || 0;\r\n }\r\n\r\n // QUESTAO I\r\n // PREGNANCY IATF DISTRIBUTION PER SEASON - HEIFERS\r\n get pregnancyIatfDistributionPerSeasonHeifersBeginningEM () {\r\n // tslint:disable-next-line:max-line-length\r\n return Math.round(this.heifersIATFDistributionBeginning * (this.reproductiveManagement.pregnancyRate1IATFHeifers / 100) || 0);\r\n }\r\n get pregnancyIatfDistributionPerSeasonHeifersMiddleEM () {\r\n if (this.reproductiveManagement.maxIATFsPerHeifer == 1) {\r\n return Math.round(this.heifersIATFDistributionMiddle2 * (this.reproductiveManagement.pregnancyRate1IATFHeifers / 100) || 0);\r\n } else {\r\n // tslint:disable-next-line:max-line-length\r\n return Math.round(this.heifersIATFDistributionMiddle2 * (this.reproductiveManagement.pregnancyRate1IATFHeifers / 100) + this.heifersIATFDistributionMiddle1 * (this.reproductiveManagement.pregnancyRate2IATFHeifers / 100) || 0);\r\n }\r\n }\r\n get pregnancyIatfDistributionPerSeasonHeifersEndEM () {\r\n if (this.reproductiveManagement.maxIATFsPerHeifer == 1) {\r\n return 0;\r\n } else if (this.reproductiveManagement.maxIATFsPerHeifer == 2) {\r\n return Math.round(this.heifersIATFDistributionEnd2 * (this.reproductiveManagement.pregnancyRate2IATFHeifers / 100) || 0);\r\n } else {\r\n return Math.round(this.heifersIATFDistributionEnd2 * (this.reproductiveManagement.pregnancyRate2IATFHeifers / 100) + this.heifersIATFDistributionEnd1 * (this.reproductiveManagement.pregnancyRate3IATFHeifers / 100) || 0);\r\n }\r\n }\r\n\r\n // PREGNANCY IATF DISTRIBUTION PER SEASON - COWS\r\n get pregnancyIatfDistributionPerSeasonCowsBeginningEM () {\r\n // tslint:disable-next-line:max-line-length\r\n return Math.round(this.cowsIATFDistributionBeginning * (this.reproductiveManagement.pregnancyRate1IATFCows / 100) || 0);\r\n }\r\n get pregnancyIatfDistributionPerSeasonCowsMiddleEM () {\r\n if (this.reproductiveManagement.maxIATFsPerCow == 1) {\r\n return Math.round(this.cowsIATFDistributionMiddle2 * (this.reproductiveManagement.pregnancyRate1IATFCows / 100) || 0);\r\n } else {\r\n // tslint:disable-next-line:max-line-length\r\n return Math.round(this.cowsIATFDistributionMiddle2 * (this.reproductiveManagement.pregnancyRate1IATFCows / 100) + this.cowsIATFDistributionMiddle1 * (this.reproductiveManagement.pregnancyRate2IATFCows / 100) || 0);\r\n }\r\n }\r\n get pregnancyIatfDistributionPerSeasonCowsEndEM () {\r\n if (this.reproductiveManagement.maxIATFsPerCow == 1) {\r\n return Math.round(this.cowsIATFDistributionEnd3 * (this.reproductiveManagement.pregnancyRate1IATFCows / 100) || 0);\r\n } else if (this.reproductiveManagement.maxIATFsPerCow == 2) {\r\n return Math.round(this.cowsIATFDistributionEnd3 * (this.reproductiveManagement.pregnancyRate1IATFCows / 100) + this.cowsIATFDistributionEnd2 * (this.reproductiveManagement.pregnancyRate2IATFCows / 100) || 0);\r\n } else {\r\n return Math.round(this.cowsIATFDistributionEnd3 * (this.reproductiveManagement.pregnancyRate1IATFCows / 100) + this.cowsIATFDistributionEnd2 * (this.reproductiveManagement.pregnancyRate2IATFCows / 100) + this.cowsIATFDistributionEnd1 * (this.reproductiveManagement.pregnancyRate3IATFCows / 100) || 0);\r\n }\r\n }\r\n\r\n // PREGNANCY IATF DISTRIBUTION PER SEASON - COL TOTAL\r\n get pregnancyIatfDistributionPerSeasonTotalBeginningEM() {\r\n return this.pregnancyIatfDistributionPerSeasonHeifersBeginningEM + this.pregnancyIatfDistributionPerSeasonCowsBeginningEM || 0;\r\n }\r\n get pregnancyIatfDistributionPerSeasonTotalMiddleEM() {\r\n return this.pregnancyIatfDistributionPerSeasonHeifersMiddleEM + this.pregnancyIatfDistributionPerSeasonCowsMiddleEM || 0;\r\n }\r\n get pregnancyIatfDistributionPerSeasonTotalEndEM() {\r\n return this.pregnancyIatfDistributionPerSeasonHeifersEndEM + this.pregnancyIatfDistributionPerSeasonCowsEndEM || 0;\r\n }\r\n\r\n // PREGNANCY IATF DISTRIBUTION PER SEASON - ROW TOTAL\r\n get pregnancyIatfDistributionPerSeasonHeifersTotal() {\r\n return this.pregnancyIatfDistributionPerSeasonHeifersBeginningEM + this.pregnancyIatfDistributionPerSeasonHeifersMiddleEM + this.pregnancyIatfDistributionPerSeasonHeifersEndEM || 0;\r\n }\r\n get pregnancyIatfDistributionPerSeasonCowsTotal() {\r\n return this.pregnancyIatfDistributionPerSeasonCowsBeginningEM + this.pregnancyIatfDistributionPerSeasonCowsMiddleEM + this.pregnancyIatfDistributionPerSeasonCowsEndEM || 0;\r\n }\r\n get pregnancyIatfDistributionPerSeasonTotal() {\r\n return this.pregnancyIatfDistributionPerSeasonTotalBeginningEM + this.pregnancyIatfDistributionPerSeasonTotalMiddleEM + this.pregnancyIatfDistributionPerSeasonTotalEndEM || 0;\r\n }\r\n\r\n // QUESTAO K\r\n get breedDistributionHeifersEM1Breed1 () {\r\n this.reproductiveManagement.breedDistributionHeifersBeginningBreed1Percent = this.heifersBeginningBreed1Percent;\r\n this.dosesDistributionByBreed.heifersBeginningBreed1 = Math.round(this.iatfDistributionPerSeasonHeifersBeginningEM * (this.heifersBeginningBreed1Percent / 100)) || 0;\r\n return this.dosesDistributionByBreed.heifersBeginningBreed1;\r\n }\r\n get breedDistributionHeifersEM2Breed1 () {\r\n this.reproductiveManagement.breedDistributionHeifersMiddleBreed1Percent = this.heifersMiddleBreed1Percent;\r\n this.dosesDistributionByBreed.heifersMiddleBreed1 = Math.round(this.iatfDistributionPerSeasonHeifersMiddleEM * (this.heifersMiddleBreed1Percent / 100)) || 0;\r\n return this.dosesDistributionByBreed.heifersMiddleBreed1;\r\n }\r\n get breedDistributionHeifersEM3Breed1 () {\r\n this.reproductiveManagement.breedDistributionHeifersEndBreed1Percent = this.heifersEndBreed1Percent;\r\n this.dosesDistributionByBreed.heifersEndBreed1 = Math.round(this.iatfDistributionPerSeasonHeifersEndEM * (this.heifersEndBreed1Percent / 100)) || 0;\r\n return this.dosesDistributionByBreed.heifersEndBreed1;\r\n }\r\n get breedDistributionCowsEM1Breed1 () {\r\n this.reproductiveManagement.breedDistributionCowsBeginningBreed1Percent = this.cowsBeginningBreed1Percent;\r\n this.dosesDistributionByBreed.cowsBeginningBreed1 = Math.round(this.iatfDistributionPerSeasonCowsBeginningEM * (this.cowsBeginningBreed1Percent / 100)) || 0;\r\n return this.dosesDistributionByBreed.cowsBeginningBreed1;\r\n }\r\n get breedDistributionCowsEM2Breed1 () {\r\n this.reproductiveManagement.breedDistributionCowsMiddleBreed1Percent = this.cowsMiddleBreed1Percent;\r\n this.dosesDistributionByBreed.cowsMiddleBreed1 = Math.round(this.iatfDistributionPerSeasonCowsMiddleEM * (this.cowsMiddleBreed1Percent / 100)) || 0;\r\n return this.dosesDistributionByBreed.cowsMiddleBreed1;\r\n }\r\n get breedDistributionCowsEM3Breed1 () {\r\n this.reproductiveManagement.breedDistributionCowsEndBreed1Percent = this.cowsEndBreed1Percent;\r\n this.dosesDistributionByBreed.cowsEndBreed1 = Math.round(this.iatfDistributionPerSeasonCowsEndEM * (this.cowsEndBreed1Percent / 100)) || 0;\r\n return this.dosesDistributionByBreed.cowsEndBreed1;\r\n }\r\n\r\n get breedDistributionHeifersEM1Breed2 () {\r\n this.reproductiveManagement.breedDistributionHeifersBeginningBreed2Percent = this.heifersBeginningBreed2Percent;\r\n this.dosesDistributionByBreed.heifersBeginningBreed2 = Math.round(this.iatfDistributionPerSeasonHeifersBeginningEM * (this.heifersBeginningBreed2Percent / 100)) || 0;\r\n return this.dosesDistributionByBreed.heifersBeginningBreed2;\r\n }\r\n get breedDistributionHeifersEM2Breed2 () {\r\n this.reproductiveManagement.breedDistributionHeifersMiddleBreed2Percent = this.heifersMiddleBreed2Percent;\r\n this.dosesDistributionByBreed.heifersMiddleBreed2 = Math.round(this.iatfDistributionPerSeasonHeifersMiddleEM * (this.heifersMiddleBreed2Percent / 100)) || 0;\r\n return this.dosesDistributionByBreed.heifersMiddleBreed2;\r\n }\r\n get breedDistributionHeifersEM3Breed2 () {\r\n this.reproductiveManagement.breedDistributionHeifersEndBreed2Percent = this.heifersEndBreed2Percent;\r\n this.dosesDistributionByBreed.heifersEndBreed2 = Math.round(this.iatfDistributionPerSeasonHeifersEndEM * (this.heifersEndBreed2Percent / 100)) || 0;\r\n return this.dosesDistributionByBreed.heifersEndBreed2;\r\n }\r\n get breedDistributionCowsEM1Breed2 () {\r\n this.reproductiveManagement.breedDistributionCowsBeginningBreed2Percent = this.cowsBeginningBreed2Percent;\r\n this.dosesDistributionByBreed.cowsBeginningBreed2 = Math.round(this.iatfDistributionPerSeasonCowsBeginningEM * (this.cowsBeginningBreed2Percent / 100)) || 0;\r\n return this.dosesDistributionByBreed.cowsBeginningBreed2;\r\n }\r\n get breedDistributionCowsEM2Breed2 () {\r\n this.reproductiveManagement.breedDistributionCowsMiddleBreed2Percent = this.cowsMiddleBreed2Percent;\r\n this.dosesDistributionByBreed.cowsMiddleBreed2 = Math.round(this.iatfDistributionPerSeasonCowsMiddleEM * (this.cowsMiddleBreed2Percent / 100)) || 0;\r\n return this.dosesDistributionByBreed.cowsMiddleBreed2;\r\n }\r\n get breedDistributionCowsEM3Breed2 () {\r\n this.reproductiveManagement.breedDistributionCowsEndBreed2Percent = this.cowsEndBreed2Percent;\r\n this.dosesDistributionByBreed.cowsEndBreed2 = Math.round(this.iatfDistributionPerSeasonCowsEndEM * (this.cowsEndBreed2Percent / 100)) || 0;\r\n return this.dosesDistributionByBreed.cowsEndBreed2;\r\n }\r\n\r\n get breedDistributionTotalEM1Breed1 () {\r\n return this.breedDistributionHeifersEM1Breed1 + this.breedDistributionCowsEM1Breed1;\r\n }\r\n get breedDistributionTotalEM1Breed2 () {\r\n return this.breedDistributionHeifersEM1Breed2 + this.breedDistributionCowsEM1Breed2;\r\n }\r\n get breedDistributionTotalEM2Breed1 () {\r\n return this.breedDistributionHeifersEM2Breed1 + this.breedDistributionCowsEM2Breed1;\r\n }\r\n get breedDistributionTotalEM2Breed2 () {\r\n return this.breedDistributionHeifersEM2Breed2 + this.breedDistributionCowsEM2Breed2;\r\n }\r\n get breedDistributionTotalEM3Breed1 () {\r\n return this.breedDistributionHeifersEM3Breed1 + this.breedDistributionCowsEM3Breed1;\r\n }\r\n get breedDistributionTotalEM3Breed2 () {\r\n return this.breedDistributionHeifersEM3Breed2 + this.breedDistributionCowsEM3Breed2;\r\n }\r\n\r\n get breedDistributionTotalBreed1 () {\r\n return this.breedDistributionTotalEM1Breed1 + this.breedDistributionTotalEM2Breed1 + this.breedDistributionTotalEM3Breed1;\r\n }\r\n get breedDistributionTotalBreed2 () {\r\n return this.breedDistributionTotalEM1Breed2 + this.breedDistributionTotalEM2Breed2 + this.breedDistributionTotalEM3Breed2;\r\n }\r\n}\r\n","import { Suggestion } from 'src/_models/suggestion';\r\nimport { Interview } from 'src/_models/interview';\r\nimport { Question } from 'src/_models/question';\r\n\r\nexport class InterviewSuggestions {\r\n\r\n private questionsMap: Map;\r\n private index: number;\r\n\r\n constructor () {\r\n this.questionsMap = new Map();\r\n this.questionsMap.set(0, origin);\r\n this.questionsMap.set(1, breedOptionsMatting);\r\n this.questionsMap.set(2, maxZebuine);\r\n this.questionsMap.set(3, maxTaurine);\r\n this.questionsMap.set(4, herdGoalMale);\r\n this.questionsMap.set(5, confinementTypeMale);\r\n this.questionsMap.set(6, usesCastration);\r\n this.questionsMap.set(7, herdGoalFemale);\r\n this.questionsMap.set(8, confinementTypeFemale);\r\n\r\n }\r\n\r\n public validateSuggestions(suggestions: Array, interview: Interview, breedGoalIndex: number): string[] {\r\n const breeds = new Array();\r\n let isQuestionValid = true;\r\n let isSuggestionValid = true;\r\n this.index = breedGoalIndex;\r\n console.info(breedGoalIndex);\r\n\r\n // PERCORRE AS SUGESTOES VALIDANDO AS QUESTOES ENQUANTO O RETORNO FOR NEGATIVO\r\n // OU SEJA, ENQUANTO NAO ENCONTRAR UMA SUGESTAO 100% VALIDA, NAO PARA DE PROCURAR\r\n suggestions.every(suggestion => {\r\n\r\n // PERCORRE AS QUESTOES ENQUANTO O RETORNO FOR POSITIVO\r\n // OU SEJA, SE ENCONTRAR UMA QUESTAO QUE NAO E VALIDA, PASSA PARA A PROXIMA SUGESTAO\r\n suggestion.questions.every(question => {\r\n console.group(this.questionsMap.get(question.question).name);\r\n isQuestionValid = this.questionsMap.get(question.question)(interview, question, this.index);\r\n console.groupEnd();\r\n return isQuestionValid;\r\n });\r\n if (isQuestionValid) {\r\n breeds.push(...suggestion.suggestedBreeds.map(s => s.name));\r\n isSuggestionValid = true;\r\n // console.log('suggestion: ', suggestion);\r\n }\r\n return isSuggestionValid;\r\n });\r\n return breeds;\r\n }\r\n}\r\n\r\nfunction origin(interview: Interview, question: Question, index: number): boolean {\r\n console.log('interview.femaleOrigin === Number(question.value): ', interview.femaleOrigin === Number(question.value));\r\n return Number(interview.femaleOrigin) === Number(question.value);\r\n}\r\n\r\nfunction breedOptionsMatting(interview: Interview, question: Question, index: number): boolean {\r\n console.log('interview.breedOptionsMatting === Number(question.value): ', interview.breedOptionsMatting === Number(question.value));\r\n return Number(interview.breedOptionsMatting) === Number(question.value);\r\n}\r\n\r\nfunction maxZebuine(interview: Interview, question: Question, index: number): boolean {\r\n const signal = returnSignal(question.signal);\r\n let sentence = interview.interviewBreedGoal[index].maxZebu + ' ' + signal + ' ' + question.value;\r\n if (question.value2 && Number(question.value2) > 0) {\r\n const signal2 = returnSignal(question.signal2);\r\n sentence += ' && ' + interview.interviewBreedGoal[index].maxZebu + ' ' + signal2 + ' ' + question.value2;\r\n }\r\n console.log('sentence: ', sentence);\r\n // tslint:disable-next-line:no-eval\r\n return eval(sentence);\r\n}\r\n\r\nfunction maxTaurine(interview: Interview, question: Question, index: number): boolean {\r\n console.log('maxTaurine');\r\n const signal = returnSignal(question.signal);\r\n let sentence = interview.interviewBreedGoal[index].maxTaurean + ' ' + signal + ' ' + question.value;\r\n if (question.value2 && Number(question.value2) > 0) {\r\n const signal2 = returnSignal(question.signal2);\r\n sentence += ' && ' + interview.interviewBreedGoal[index].maxTaurean + ' ' + signal2 + ' ' + question.value2;\r\n }\r\n console.log('sentence: ', sentence);\r\n // tslint:disable-next-line:no-eval\r\n return eval(sentence);\r\n}\r\n\r\nfunction herdGoalMale(interview: Interview, question: Question, index: number): boolean {\r\n console.log('interview.interviewBreedGoal[', index, '].sellingGoalsMale === Number(question.value): ', interview.interviewBreedGoal[index].sellingGoalsMale === Number(question.value));\r\n // tslint:disable-next-line:triple-equals\r\n if (Number(interview.interviewBreedGoal[index].sellingGoalsMale) === 3) {\r\n return true;\r\n }\r\n return Number(interview.interviewBreedGoal[index].sellingGoalsMale) === Number(question.value);\r\n}\r\n\r\nfunction confinementTypeMale(interview: Interview, question: Question, index: number): boolean {\r\n console.log('interview.interviewBreedGoal[', index, '].confinementTypeMale === Number(question.value): ', interview.interviewBreedGoal[index].confinementTypeMale === Number(question.value));\r\n // tslint:disable-next-line:triple-equals\r\n if (Number(interview.interviewBreedGoal[index].sellingGoalsMale) === 3) {\r\n return true;\r\n }\r\n if ((Number(interview.interviewBreedGoal[index].confinementTypeMale) === 1 ||\r\n Number(interview.interviewBreedGoal[index].confinementTypeMale) === 2) &&\r\n Number(question.value) === 4) {\r\n return true;\r\n }\r\n return Number(interview.interviewBreedGoal[index].confinementTypeMale) === Number(question.value);\r\n}\r\n\r\nfunction usesCastration(interview: Interview, question: Question, index: number): boolean {\r\n console.log('interview.interviewBreedGoal[', index, '].usesCastration === Number(question.value): ', interview.interviewBreedGoal[index].usesCastration === Number(question.value));\r\n // tslint:disable-next-line:triple-equals\r\n if (Number(interview.interviewBreedGoal[index].sellingGoalsMale) === 3) {\r\n return true;\r\n }\r\n return Number(interview.interviewBreedGoal[index].usesCastration) === Number(question.value);\r\n}\r\n\r\nfunction herdGoalFemale(interview: Interview, question: Question, index: number): boolean {\r\n console.log('interview.interviewBreedGoal[', index, '].sellingGoalsFemale === Number(question.value): ', interview.interviewBreedGoal[index].sellingGoalsFemale === Number(question.value));\r\n // tslint:disable-next-line:triple-equals\r\n if (Number(interview.interviewBreedGoal[index].sellingGoalsFemale) !== 3\r\n && Number(interview.interviewBreedGoal[index].sellingGoalsFemale) > 0) {\r\n return true;\r\n }\r\n return Number(interview.interviewBreedGoal[index].sellingGoalsFemale) === Number(question.value);\r\n}\r\n\r\nfunction confinementTypeFemale(interview: Interview, question: Question, index: number): boolean {\r\n console.log('interview.interviewBreedGoal[', index, '].confinementTypeFemale === Number(question.value): ', interview.interviewBreedGoal[index].confinementTypeFemale === Number(question.value));\r\n // tslint:disable-next-line:triple-equals\r\n if (Number(interview.interviewBreedGoal[index].sellingGoalsFemale) !== 3\r\n && Number(interview.interviewBreedGoal[index].sellingGoalsFemale) > 0) {\r\n return true;\r\n }\r\n return Number(interview.interviewBreedGoal[index].confinementTypeFemale) === Number(question.value);\r\n}\r\n\r\nfunction returnSignal(index: number) {\r\n switch (index) {\r\n case 1:\r\n return '==';\r\n case 2:\r\n return '<';\r\n case 3:\r\n return '>';\r\n case 4:\r\n return '<=';\r\n case 5:\r\n return '>=';\r\n default:\r\n return '==';\r\n }\r\n}\r\n\r\n","
\r\n
\r\n

Endereço

\r\n \r\n
\r\n
\r\n
\r\n
0\" class=\"w-100 divider mb-4\" />\r\n
\r\n
\r\n
\r\n \r\n \r\n Informe o CEP\r\n
\r\n
\r\n \r\n \r\n Informe o logradouro\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Informe o número\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Informe o Estado\r\n
\r\n
\r\n \r\n \r\n Informe a Cidade\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { faTrashAlt, faPlus } from '@fortawesome/free-solid-svg-icons';\r\nimport { Uf } from 'src/_models/uf';\r\nimport { City } from 'src/_models/city';\r\nimport { Person } from 'src/_models/person';\r\nimport { Address } from 'src/_models/address';\r\nimport { DialogConfirmService } from '@app/_services/dialog-confirm.service';\r\nimport { DialogCloseResult } from '@progress/kendo-angular-dialog';\r\nimport { ApiService } from '@app/_services/api.service';\r\n\r\n@Component({\r\n selector: 'app-address',\r\n templateUrl: './address.component.html',\r\n styleUrls: ['./address.component.scss']\r\n})\r\nexport class AddressComponent implements OnInit, OnChanges {\r\n\r\n @Input() person: any;\r\n\r\n public editPerson: Person;\r\n public ufList: Array;\r\n public citiesList: Array;\r\n public cepMask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/];\r\n\r\n public iconTrash = faTrashAlt;\r\n public iconAdd = faPlus;\r\n public canAddAddress = true;\r\n\r\n constructor(\r\n private apiService: ApiService,\r\n private dialogConfirmService: DialogConfirmService) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.CopyPerson();\r\n }\r\n\r\n ngOnInit() {\r\n this.CopyPerson();\r\n this.CreateNewPerson();\r\n this.citiesList = [];\r\n this.ufList = [];\r\n this.loadStates();\r\n this.loadAllCities();\r\n // this.AddAddress();\r\n if (this.editPerson.address && this.editPerson.address.length === 1) {\r\n this.canAddAddress = false;\r\n }\r\n }\r\n\r\n private CopyPerson() {\r\n this.editPerson = Object.assign({}, this.person);\r\n }\r\n\r\n private CreateNewPerson() {\r\n if (!this.editPerson || !this.editPerson.id) {\r\n this.editPerson = new Person();\r\n this.editPerson.address = new Array
();\r\n }\r\n }\r\n\r\n private loadStates() {\r\n this.apiService.getUfs().subscribe((data: Uf[]) => {\r\n this.ufList = data;\r\n }, (error) => console.error(error));\r\n }\r\n\r\n private loadAllCities() {\r\n this.apiService.getCities().subscribe((data: City[]) => {\r\n this.citiesList = data;\r\n\r\n if (this.person && this.person.address) {\r\n this.person.address.forEach(a => {\r\n if (!a.city) {\r\n a.city = new City();\r\n a.city.uf = new Uf();\r\n }\r\n });\r\n }\r\n }, (error) => console.error(error));\r\n }\r\n\r\n public AddAddress() {\r\n if (!this.editPerson.address) {\r\n this.editPerson.address = new Array
();\r\n }\r\n if (this.editPerson.address.length < 1) {\r\n this.editPerson.address.push(new Address());\r\n this.SetDefaultAddress();\r\n this.canAddAddress = false;\r\n }\r\n }\r\n\r\n public ChangeCity(e: any, i: number) {\r\n this.editPerson.address[i].cityId = e.target.value;\r\n this.editPerson.address[i].city.id = e.target.value;\r\n }\r\n\r\n public ChangeUf(e: any, i: number) {\r\n this.editPerson.address[i].city.ufId = e.target.value;\r\n }\r\n\r\n public RemoveAddress(index: number) {\r\n const dialogTitle = `Remover endereço`;\r\n const dialogContent = `Deseja remover este endereço ?`;\r\n this.dialogConfirmService.Confirm(dialogTitle, dialogContent)\r\n .subscribe((result) => {\r\n if (!(result instanceof DialogCloseResult)) {\r\n const action = result.text;\r\n if (action === `Sim`) {\r\n this.editPerson.address.reverse().splice(index, 1);\r\n this.editPerson.address.reverse();\r\n this.SetDefaultAddress();\r\n }\r\n }\r\n });\r\n }\r\n\r\n public GetCities(ufId: any) {\r\n // tslint:disable-next-line:triple-equals\r\n return this.citiesList.filter((uf) => uf.ufId == ufId);\r\n }\r\n\r\n public ChangeDefaultAddress(index: number) {\r\n if (this.editPerson.address.length > 1) {\r\n this.editPerson.address.reverse();\r\n for (let i = 0; i < this.editPerson.address.length; i++) {\r\n this.editPerson.address[i].isDefault = false;\r\n }\r\n this.editPerson.address[index].isDefault = true;\r\n this.editPerson.address.reverse();\r\n } else {\r\n this.SetDefaultAddress();\r\n }\r\n }\r\n\r\n public SetDefaultAddress() {\r\n if (this.editPerson.address.length === 1) {\r\n this.editPerson.address[0].isDefault = true;\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { RegistrationComponent } from './registration/registration.component';\r\nimport { PageNotFoundComponent } from './page-not-found/page-not-found.component';\r\nimport { InterviewComponent } from './interview/interview.component';\r\nimport { UserComponent } from './user/user.component';\r\nimport { ParameterComponent } from './parameter/parameter.component';\r\nimport { ProfileComponent } from './profile/profile.component';\r\nimport { SavedInterviewsComponent } from './saved-interviews/saved-interviews.component';\r\nimport { IndexComponent } from './index/index.component';\r\nimport { AuthGuardHelper } from './_helpers/auth.guard';\r\n\r\nconst routes: Routes = [\r\n { path: 'acesso', component: LoginComponent },\r\n { \r\n path: '', \r\n canActivate: [AuthGuardHelper], \r\n runGuardsAndResolvers: 'always',\r\n children: [\r\n { \r\n path: '', \r\n component: IndexComponent,\r\n children: [\r\n { path: '', redirectTo: 'historico', pathMatch: 'full'},\r\n { path: 'cadastros', component: RegistrationComponent },\r\n { path: 'entrevista', component: InterviewComponent },\r\n { path: 'usuarios', component: UserComponent },\r\n { path: 'historico', component: SavedInterviewsComponent },\r\n { path: 'perfil', component: ProfileComponent },\r\n { path: 'parametros', component: ParameterComponent },\r\n { path: '**', component: PageNotFoundComponent }\r\n ]\r\n }\r\n ]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(routes, { enableTracing: false })\r\n ],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","\r\n","import { Component, Injectable, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { BroadcastService, MsalService } from '@azure/msal-angular';\r\nimport { b2cPolicies, isIE } from './_authorization/auth.config';\r\nimport { CryptoUtils, Logger } from 'msal';\r\nimport { HttpEvent, HttpEventType, HttpHandler, HttpInterceptor, HttpProgressEvent, HttpRequest, HttpResponse } from '@angular/common/http';\r\nimport { Observable, concat, of } from 'rxjs';\r\nimport { delay } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AppComponent {\r\n\r\n constructor(private broadcastService: BroadcastService, private authService: MsalService) {\r\n this.broadcastService.subscribe('msal:loginSuccess', (success) => {\r\n console.log(success.idToken.claims);\r\n \r\n // We need to reject id tokens that were not issued with the default sign-in policy.\r\n // \"acr\" claim in the token tells us what policy is used (NOTE: for new policies (v2.0), use \"tfp\" instead of \"acr\")\r\n // To learn more about b2c tokens, visit https://docs.microsoft.com/en-us/azure/active-directory-b2c/tokens-overview\r\n // if (success.idToken.claims['acr'] !== b2cPolicies.names.signUpSignIn) {\r\n // window.alert(\"Password has been reset successfully. \\nPlease sign-in with your new password\");\r\n // return this.authService.logout()\r\n // }\r\n \r\n // console.log('login succeeded. id token acquired at: ' + new Date().toString());\r\n // console.log(success);\r\n });\r\n \r\n this.broadcastService.subscribe('msal:loginFailure', (error) => {\r\n console.log('login failed');\r\n console.log(error);\r\n \r\n // Check for forgot password error\r\n // Learn more about AAD error codes at https://docs.microsoft.com/en-us/azure/active-directory/develop/reference-aadsts-error-codes\r\n if (error.errorMessage.indexOf('AADB2C90118') > -1) {\r\n if (isIE) {\r\n this.authService.loginRedirect(b2cPolicies.authorities.resetPassword);\r\n } else {\r\n this.authService.loginPopup(b2cPolicies.authorities.resetPassword);\r\n }\r\n }\r\n });\r\n \r\n // redirect callback for redirect flow (IE)\r\n this.authService.handleRedirectCallback((authError, response) => {\r\n if (authError) {\r\n console.error('Redirect Error: ', authError.errorMessage);\r\n return;\r\n }\r\n \r\n console.log('Redirect Success: ', response);\r\n });\r\n \r\n this.authService.setLogger(new Logger((logLevel, message, piiEnabled) => {\r\n console.log('MSAL Logging: ', message);\r\n }, {\r\n correlationId: CryptoUtils.createNewGuid(),\r\n piiLoggingEnabled: false\r\n }));\r\n }\r\n }\r\n \r\n @Injectable()\r\n export class UploadInterceptor implements HttpInterceptor {\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n if (req.url === 'uploadSaveUrl') {\r\n const events: Observable>[] = [0, 30, 60, 100].map((x) => of({\r\n type: HttpEventType.UploadProgress,\r\n loaded: x,\r\n total: 100\r\n }).pipe(delay(1000)));\r\n \r\n const success = of(new HttpResponse({ status: 200 })).pipe(delay(1000));\r\n events.push(success);\r\n \r\n return concat(...events);\r\n }\r\n \r\n if (req.url === 'uploadRemoveUrl') {\r\n return of(new HttpResponse({ status: 200 }));\r\n }\r\n \r\n return next.handle(req);\r\n }\r\n }\r\n\r\n// @Injectable()\r\n// export class UploadInterceptor implements HttpInterceptor {\r\n// intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n \r\n// if (req.url === 'removeUrl') {\r\n// return of(new HttpResponse({ status: 200 }));\r\n// }\r\n \r\n// return next.handle(req);\r\n// }\r\n// }\r\n","import { RouterModule } from '@angular/router';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { LOCALE_ID, NgModule } from '@angular/core';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgxMaskModule } from 'ngx-mask';\r\nimport 'rxjs/add/operator/finally';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent, UploadInterceptor } from './app.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { RegistrationComponent } from './registration/registration.component';\r\nimport { PageNotFoundComponent } from './page-not-found/page-not-found.component';\r\nimport { IndexComponent } from './index/index.component';\r\nimport { AddressComponent } from './address/address.component';\r\nimport { EmailComponent } from './email/email.component';\r\nimport { PhoneComponent } from './phone/phone.component';\r\nimport { InputsModule } from '@progress/kendo-angular-inputs';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { FarmComponent } from './farm/farm.component';\r\nimport { HerdComponent } from './herd/herd.component';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { GridModule } from '@progress/kendo-angular-grid';\r\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\r\nimport { InterviewComponent } from './interview/interview.component';\r\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ModalAccessRequestComponent } from './modal-access-request/modal-access-request.component';\r\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\r\nimport { BasicInformationComponent } from './interview/basic-information/basic-information.component';\r\nimport { DataCollectComponent } from './interview/data-collect/data-collect.component';\r\nimport { UserComponent } from './user/user.component';\r\nimport { ProfileComponent } from './profile/profile.component';\r\nimport { SavedInterviewsComponent } from './saved-interviews/saved-interviews.component';\r\nimport { ParameterComponent } from './parameter/parameter.component';\r\nimport { ByPropertyPipe } from './_pipes/by-property.pipe';\r\nimport { ModalBonusProgramComponent } from './interview/modal-bonus-program/modal-bonus-program.component';\r\nimport { ModalHerdProblemComponent } from './interview/modal-herd-problem/modal-herd-problem.component';\r\nimport { BreedProofSelectionComponent } from './interview/breed-proof-selection/breed-proof-selection.component';\r\nimport { ReproductiveManagementComponent } from './interview/reproductive-management/reproductive-management.component';\r\nimport { QuantityToInseminateComponent } from './interview/reproductive-management/quantity-to-inseminate/quantity-to-inseminate.component';\r\nimport { MaxIatfComponent } from './interview/reproductive-management/max-iatf/max-iatf.component';\r\nimport { ReadyToIatfComponent } from './interview/reproductive-management/ready-to-iatf/ready-to-iatf.component';\r\nimport { CalvingDistributionComponent } from './interview/reproductive-management/calving-distribution/calving-distribution.component';\r\nimport { PregnancyRateComponent } from './interview/reproductive-management/pregnancy-rate/pregnancy-rate.component';\r\nimport { DatePipe } from '@angular/common';\r\nimport { NotificationModule } from '@progress/kendo-angular-notification';\r\nimport { DialogModule } from '@progress/kendo-angular-dialog';\r\nimport { PersonComponent } from './person/person.component';\r\nimport { ModalTraitsComponent } from './interview/modal-traits/modal-traits.component';\r\nimport { WeightingComponent } from './interview/weighting/weighting.component';\r\nimport { FilterComponent } from './interview/filter/filter.component';\r\nimport { BullSelectionComponent } from './interview/bull-selection/bull-selection.component';\r\nimport { DosesDistributionComponent } from './interview/doses-distribution/doses-distribution.component';\r\nimport { SelectResultPresentationComponent } from './interview/select-result-presentation/select-result-presentation.component';\r\nimport { LayoutModule } from '@progress/kendo-angular-layout';\r\nimport { ChartsModule } from '@progress/kendo-angular-charts';\r\nimport 'hammerjs';\r\nimport { HerdFormComponent } from './herd/herd-form/herd-form.component';\r\nimport { IatfDistributionComponent } from './interview/reproductive-management/iatf-distribution/iatf-distribution.component';\r\n// tslint:disable-next-line:max-line-length\r\nimport { IatfDistributionPerSeasonComponent } from './interview/reproductive-management/iatf-distribution-per-season/iatf-distribution-per-season.component';\r\n// tslint:disable-next-line:max-line-length\r\nimport { PregnancyIatfDistributionPerSeasonComponent } from './interview/reproductive-management/pregnancy-iatf-distribution-per-season/pregnancy-iatf-distribution-per-season.component';\r\nimport { AveragePregnancyRateComponent } from './interview/reproductive-management/average-pregnancy-rate/average-pregnancy-rate.component';\r\nimport { BreedDistributionComponent } from './interview/reproductive-management/breed-distribution/breed-distribution.component';\r\nimport { PregnancyDistributionPerBreedComponent } from './interview/reproductive-management/pregnancy-distribution-per-breed/pregnancy-distribution-per-breed.component';\r\nimport { OnlyDigitsDirective } from './_directives/only-digits.directive';\r\nimport '@progress/kendo-angular-intl/locales/pt/all';\r\nimport { registerLocaleData } from '@angular/common';\r\nimport pt from '@angular/common/locales/pt';\r\nimport { ManagersComponent } from './managers/managers.component';\r\nimport { Configuration } from 'msal';\r\nimport { msalConfig, msalAngularConfig, loginRequest } from './_authorization/auth.config';\r\nimport { MsalModule, MsalInterceptor, MSAL_CONFIG, MSAL_CONFIG_ANGULAR, MsalService, \r\n MsalAngularConfiguration, MsalGuard, BroadcastService } from '@azure/msal-angular';\r\nimport { AuthGuardHelper } from './_helpers/auth.guard';\r\nregisterLocaleData(pt, 'pt');\r\n\r\nconst isIE = window.navigator.userAgent.indexOf('MSIE ') > -1 || window.navigator.userAgent.indexOf('Trident/') > -1;\r\n\r\nexport function MSALConfigFactory(): Configuration {\r\n return msalConfig;\r\n}\r\n\r\nexport function MSALAngularConfigFactory(): MsalAngularConfiguration {\r\n return msalAngularConfig;\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n RegistrationComponent,\r\n PageNotFoundComponent,\r\n IndexComponent,\r\n AddressComponent,\r\n EmailComponent,\r\n PhoneComponent,\r\n FarmComponent,\r\n HerdComponent,\r\n InterviewComponent,\r\n ModalAccessRequestComponent,\r\n ForgotPasswordComponent,\r\n BasicInformationComponent,\r\n DataCollectComponent,\r\n UserComponent,\r\n ProfileComponent,\r\n SavedInterviewsComponent,\r\n ParameterComponent,\r\n ByPropertyPipe,\r\n ModalBonusProgramComponent,\r\n ModalHerdProblemComponent,\r\n BreedProofSelectionComponent,\r\n ReproductiveManagementComponent,\r\n QuantityToInseminateComponent,\r\n MaxIatfComponent,\r\n ReadyToIatfComponent,\r\n CalvingDistributionComponent,\r\n PregnancyRateComponent,\r\n PersonComponent,\r\n ModalTraitsComponent,\r\n WeightingComponent,\r\n FilterComponent,\r\n BullSelectionComponent,\r\n DosesDistributionComponent,\r\n SelectResultPresentationComponent,\r\n HerdFormComponent,\r\n IatfDistributionComponent,\r\n IatfDistributionPerSeasonComponent,\r\n PregnancyIatfDistributionPerSeasonComponent,\r\n AveragePregnancyRateComponent,\r\n BreedDistributionComponent,\r\n PregnancyDistributionPerBreedComponent,\r\n OnlyDigitsDirective,\r\n ManagersComponent\r\n ],\r\n entryComponents: [\r\n ModalAccessRequestComponent,\r\n ForgotPasswordComponent,\r\n ModalBonusProgramComponent,\r\n ModalHerdProblemComponent,\r\n ModalTraitsComponent\r\n ],\r\n imports: [\r\n MsalModule,\r\n BrowserModule,\r\n HttpClientModule,\r\n FontAwesomeModule,\r\n AppRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n InputsModule,\r\n BrowserAnimationsModule,\r\n NgxMaskModule.forRoot(),\r\n GridModule,\r\n DropDownsModule,\r\n NgbModalModule,\r\n NotificationModule,\r\n DialogModule,\r\n LayoutModule,\r\n ChartsModule,\r\n RouterModule\r\n ],\r\n providers: [\r\n DatePipe,\r\n { \r\n provide: LOCALE_ID, useValue: 'pt' \r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: MsalInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: UploadInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: MSAL_CONFIG,\r\n useFactory: MSALConfigFactory\r\n },\r\n {\r\n provide: MSAL_CONFIG_ANGULAR,\r\n useFactory: MSALAngularConfigFactory\r\n },\r\n MsalService,\r\n AuthGuardHelper,\r\n BroadcastService\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","
\r\n
\r\n

E-mail

\r\n \r\n
\r\n
\r\n
\r\n
0\" class=\"w-100 divider mb-4\" />\r\n
\r\n
\r\n
\r\n \r\n \r\n Informe um e-mail válido\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, SimpleChanges, OnChanges } from '@angular/core';\r\nimport { faTrashAlt, faPlus } from '@fortawesome/free-solid-svg-icons';\r\nimport emailMask from 'text-mask-addons/dist/emailMask';\r\nimport { Person } from 'src/_models/person';\r\nimport { Email } from 'src/_models/email';\r\nimport { DialogCloseResult } from '@progress/kendo-angular-dialog';\r\nimport { DialogConfirmService } from '@app/_services/dialog-confirm.service';\r\n\r\n@Component({\r\n selector: 'app-email',\r\n templateUrl: './email.component.html',\r\n styleUrls: ['./email.component.scss']\r\n})\r\nexport class EmailComponent implements OnInit, OnChanges {\r\n\r\n @Input() person: any;\r\n\r\n public editPerson: Person;\r\n public emailMask = emailMask;\r\n public emailPattern = '^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$';\r\n\r\n public iconTrash = faTrashAlt;\r\n public iconAdd = faPlus;\r\n\r\n constructor(private dialogConfirmService: DialogConfirmService) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.CopyPerson();\r\n }\r\n\r\n ngOnInit() {\r\n this.CopyPerson();\r\n this.CreateNewPerson();\r\n }\r\n\r\n private CopyPerson() {\r\n this.editPerson = Object.assign({}, this.person);\r\n }\r\n\r\n private CreateNewPerson() {\r\n if (!this.editPerson || !this.editPerson.id) {\r\n this.editPerson = new Person();\r\n this.editPerson.email = new Array();\r\n }\r\n }\r\n\r\n public AddEmail() {\r\n if (!this.editPerson.email) {\r\n this.editPerson.email = new Array();\r\n }\r\n this.editPerson.email.push(new Email());\r\n this.SetDefaultEmail();\r\n }\r\n\r\n public RemoveEmail(index: number) {\r\n const dialogTitle = `Remover email`;\r\n const dialogContent = `Deseja remover este email ?`;\r\n this.dialogConfirmService.Confirm(dialogTitle, dialogContent)\r\n .subscribe((result) => {\r\n if (!(result instanceof DialogCloseResult)) {\r\n const action = result.text;\r\n if (action === `Sim`) {\r\n this.editPerson.email.reverse().splice(index, 1);\r\n this.editPerson.email.reverse();\r\n this.SetDefaultEmail();\r\n }\r\n }\r\n });\r\n }\r\n\r\n public ChangeDefaultEmail(index: number) {\r\n if (this.editPerson.email.length > 1) {\r\n this.editPerson.email.reverse();\r\n for (let i = 0; i < this.editPerson.email.length; i++) {\r\n this.editPerson.email[i].isDefault = false;\r\n }\r\n this.editPerson.email[index].isDefault = true;\r\n this.editPerson.email.reverse();\r\n } else {\r\n this.SetDefaultEmail();\r\n }\r\n }\r\n\r\n public SetDefaultEmail() {\r\n if (this.editPerson.email.length === 1) {\r\n this.editPerson.email[0].isDefault = true;\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n

Fazenda

\r\n \r\n
\r\n
\r\n
\r\n
0\" class=\"w-100 divider mb-4\" />\r\n
\r\n
\r\n
\r\n \r\n \r\n Informe o nome da fazenda\r\n
\r\n
\r\n
\r\n
\r\n \r\n Informe ao menos um rebanho\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit, OnChanges, SimpleChanges, ViewChild, AfterViewInit, ViewChildren, QueryList } from '@angular/core';\r\nimport { faTrashAlt, faPlus } from '@fortawesome/free-solid-svg-icons';\r\nimport { Farm } from 'src/_models/farm';\r\nimport { Customer } from 'src/_models/customer';\r\nimport { Person } from 'src/_models/person';\r\nimport { HerdComponent } from '@app/herd/herd.component';\r\nimport { DialogConfirmService } from '@app/_services/dialog-confirm.service';\r\nimport { DialogCloseResult } from '@progress/kendo-angular-dialog';\r\n\r\n@Component({\r\n selector: 'app-farm',\r\n templateUrl: './farm.component.html',\r\n styleUrls: ['./farm.component.scss']\r\n})\r\nexport class FarmComponent implements OnInit, OnChanges {\r\n\r\n @ViewChildren(HerdComponent) herds: QueryList;\r\n // @ViewChild(HerdComponent, {static: false}) herds;\r\n\r\n @Input() customer: any;\r\n\r\n public editCustomer: Customer;\r\n\r\n public iconTrash = faTrashAlt;\r\n public iconAdd = faPlus;\r\n\r\n constructor(private dialogConfirmService: DialogConfirmService) { }\r\n\r\n ngOnInit() {\r\n this.CopyCustomer();\r\n this.CreateNewCustomer();\r\n // this.AddFarm();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.CopyCustomer();\r\n }\r\n\r\n private CopyCustomer() {\r\n this.editCustomer = Object.assign({}, this.customer);\r\n }\r\n\r\n private CreateNewCustomer() {\r\n if (!this.editCustomer || !this.editCustomer.id) {\r\n this.editCustomer = new Customer();\r\n this.editCustomer.farm = new Array();\r\n this.editCustomer.person = new Person();\r\n }\r\n }\r\n\r\n public AddFarm() {\r\n this.editCustomer.farm.push(new Farm());\r\n }\r\n\r\n public RemoveFarm(index: number) {\r\n const dialogTitle = `Remover fazenda`;\r\n const dialogContent = `Deseja remover esta fazenda ?`;\r\n this.dialogConfirmService.Confirm(dialogTitle, dialogContent)\r\n .subscribe((result) => {\r\n if (!(result instanceof DialogCloseResult)) {\r\n const action = result.text;\r\n if (action === `Sim`) {\r\n this.editCustomer.farm.reverse().splice(index, 1);\r\n this.editCustomer.farm.reverse();\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n

Recuperação de acesso

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Informe seu e-mail\r\n Informe um e-mail válido\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-forgot-password',\r\n templateUrl: './forgot-password.component.html',\r\n styleUrls: ['./forgot-password.component.scss']\r\n})\r\nexport class ForgotPasswordComponent implements OnInit {\r\n\r\n public resetPasswordForm: FormGroup;\r\n public loading = false;\r\n public submitted = false;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n public activeModal: NgbActiveModal) { }\r\n\r\n ngOnInit() {\r\n this.resetPasswordForm = this.formBuilder.group({\r\n email: ['', [Validators.required, Validators.email]]\r\n });\r\n }\r\n\r\n get f() { return this.resetPasswordForm.controls; }\r\n\r\n public onSubmit() {\r\n\r\n this.submitted = true;\r\n\r\n // stop here if form is invalid\r\n if (this.resetPasswordForm.invalid) {\r\n return;\r\n } else {\r\n console.group('Recuperação de acesso');\r\n console.log('E-mail:', this.f.email.value);\r\n console.groupEnd();\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n

Rebanho

\r\n \r\n
\r\n
\r\n
\r\n
0\" class=\"w-100 divider mb-4\" />\r\n
\r\n
\r\n
\r\n \r\n \r\n Informe o nome do rebanho\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n O número de vacas e novilhas não pode ser 0\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n Informe a raça\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { faTrashAlt, faPlus } from '@fortawesome/free-solid-svg-icons';\r\nimport { BreedType } from 'src/_models/breed-type';\r\nimport { Breed } from 'src/_models/breed';\r\nimport { ApiService } from '@app/_services/api.service';\r\nimport { Herd } from 'src/_models/herd';\r\nimport { Farm } from 'src/_models/farm';\r\nimport { DialogConfirmService } from '@app/_services/dialog-confirm.service';\r\nimport { DialogCloseResult } from '@progress/kendo-angular-dialog';\r\n\r\n@Component({\r\n selector: 'app-herd',\r\n templateUrl: './herd.component.html',\r\n styleUrls: ['./herd.component.scss']\r\n})\r\nexport class HerdComponent implements OnInit, OnChanges {\r\n\r\n @Input() farm: any;\r\n\r\n public editFarm: Farm;\r\n public breedTypeList: Array;\r\n public breedList: Array;\r\n public cacheBreedList: Array;\r\n\r\n public iconTrash = faTrashAlt;\r\n public iconAdd = faPlus;\r\n\r\n constructor(\r\n private apiService: ApiService,\r\n private dialogConfirmService: DialogConfirmService) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.CopyFarm();\r\n }\r\n\r\n ngOnInit() {\r\n this.CopyFarm();\r\n this.CreateNewFarm();\r\n this.breedList = [];\r\n this.breedTypeList = [];\r\n this.loadBreedTypes();\r\n this.loadBreeds();\r\n // this.AddHerd();\r\n }\r\n\r\n private CopyFarm() {\r\n this.editFarm = Object.assign({}, this.farm);\r\n }\r\n\r\n private CreateNewFarm() {\r\n if (!this.editFarm || !this.editFarm.id) {\r\n this.editFarm = new Farm();\r\n this.editFarm.herd = new Array();\r\n }\r\n }\r\n\r\n public AddHerd() {\r\n const herd = new Herd();\r\n herd.breed = new Breed();\r\n this.editFarm.herd.push(herd);\r\n }\r\n\r\n public RemoveHerd(index: number) {\r\n const dialogTitle = `Remover rebanho`;\r\n const dialogContent = `Deseja remover este rebanho ?`;\r\n this.dialogConfirmService.Confirm(dialogTitle, dialogContent)\r\n .subscribe((result) => {\r\n if (!(result instanceof DialogCloseResult)) {\r\n const action = result.text;\r\n if (action === `Sim`) {\r\n this.editFarm.herd.reverse().splice(index, 1);\r\n this.editFarm.herd.reverse();\r\n }\r\n }\r\n });\r\n }\r\n\r\n // public ChangeBreedType(breedTypeId: number, i: number) {\r\n // // this.breedList = this.cacheBreedList.filter((breed) => breed.breedTypeId == breedTypeId);\r\n // // this.editFarm.herd[i].breedId = this.breedList[0].id;\r\n // }\r\n\r\n public ChangeBreed(breedId: number, i: number) {\r\n this.editFarm.herd.reverse()[i].breedId = breedId;\r\n this.editFarm.herd.reverse();\r\n }\r\n\r\n private loadBreeds() {\r\n this.apiService.getBreeds().subscribe((breeds: Breed[]) => {\r\n this.cacheBreedList = breeds;\r\n this.breedList = breeds;\r\n\r\n if (this.farm && this.farm.herd) {\r\n this.farm.herd.forEach(h => {\r\n if (!h.breed) {\r\n h.breed = new Breed();\r\n }\r\n });\r\n }\r\n }, (error) => console.error(error));\r\n }\r\n\r\n private loadBreedTypes() {\r\n this.apiService.getBreedTypes().subscribe((data: BreedType[]) => {\r\n this.breedTypeList = data;\r\n }, (error) => console.error(error));\r\n }\r\n}\r\n\r\n\r\n\r\n","\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ApiService } from '@app/_services/api.service';\r\nimport { User } from 'src/_models/user';\r\nimport { Router } from '@angular/router';\r\nimport { faSignOutAlt, faUser, faHome, faFileAlt, faUsers, faEdit, faUserPlus, faBars } from '@fortawesome/free-solid-svg-icons';\r\nimport { Person } from 'src/_models/person';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { LoginInfo } from 'src/_models/login-info';\r\nimport { UserId } from 'src/_models/user-token';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-index',\r\n templateUrl: './index.component.html',\r\n styleUrls: ['./index.component.scss']\r\n})\r\nexport class IndexComponent implements OnInit {\r\n\r\n currentUser: User;\r\n iconSignOut = faSignOutAlt;\r\n iconMenu = faBars;\r\n faUser = faUser;\r\n faFileAlt = faFileAlt;\r\n faUsers = faUsers;\r\n faUserPlus = faUserPlus;\r\n faHome = faHome;\r\n faEdit = faEdit;\r\n showMenu = false;\r\n Permission = false;\r\n claims: any;\r\n currentUserSubject: BehaviorSubject;\r\n isLoggedIn = false;\r\n logingInfo: LoginInfo;\r\n\r\n adminEmails: string[] = [\r\n 'rodrigo.alves@altagenetics.com',\r\n 'rodrigo.alves1@altagenetics.com',\r\n 'flavia.santana@altagenetics.com',\r\n 'luiza.mangucci@altagenetics.com',\r\n 'fernando.prado@altagenetics.com',\r\n 'isabella.noronha@altagenetics.com',\r\n 'isabela.caldato@altagenetics.com'\r\n ];\r\n\r\n constructor(\r\n private router: Router,\r\n private apiService: ApiService,\r\n private msalService: MsalService) { }\r\n\r\n ngOnInit() {\r\n this.currentUser = new User();\r\n this.currentUser.person = new Person();\r\n this.logingInfo = new LoginInfo();\r\n this.setClaims();\r\n this.login();\r\n }\r\n\r\n login() {\r\n this.apiService.login(this.getLogingInfo()).subscribe((userToken: UserId) => {\r\n localStorage.setItem('currentUser', JSON.stringify(userToken));\r\n sessionStorage.setItem('currentUser', JSON.stringify(userToken));\r\n this.apiService.GetUser().subscribe((data: User) => {\r\n this.currentUser = data;\r\n }, (error) => console.error(error));\r\n }, (error) => console.error(error));\r\n }\r\n\r\n getLogingInfo(): LoginInfo {\r\n this.logingInfo.email = this.getEmail();\r\n this.logingInfo.password = ``;\r\n return this.logingInfo;\r\n }\r\n\r\n logout() {\r\n localStorage.removeItem('currentUser');\r\n sessionStorage.removeItem('currentUser');\r\n this.msalService.logout();\r\n }\r\n\r\n setClaims() {\r\n const account = this.msalService.getAccount();\r\n this.claims = account ? account.idTokenClaims : undefined;\r\n }\r\n\r\n getEmail() {\r\n if (this.claims) {\r\n return this.claims.emails[0];\r\n }\r\n }\r\n\r\n isAdminUser(): boolean {\r\n return this.adminEmails.includes(this.currentUser.email);\r\n }\r\n}","
\r\n

Informações básicas

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, OnChanges, SimpleChanges, SimpleChange, Output, EventEmitter } from '@angular/core';\r\nimport { Interview } from 'src/_models/interview';\r\nimport { Customer } from 'src/_models/customer';\r\nimport { Farm } from 'src/_models/farm';\r\nimport { Herd } from 'src/_models/herd';\r\nimport { User } from 'src/_models/user';\r\nimport { ApiService } from '@app/_services/api.service';\r\n\r\n@Component({\r\n selector: 'app-basic-information',\r\n templateUrl: './basic-information.component.html',\r\n styleUrls: ['./basic-information.component.scss']\r\n})\r\nexport class BasicInformationComponent implements OnInit {\r\n\r\n @Input() public interview: Interview;\r\n @Output() breedChange = new EventEmitter();\r\n\r\n public customerList: Array;\r\n public farmList: Array;\r\n public herdList: Array;\r\n public user: User;\r\n\r\n constructor(private apiService: ApiService) { }\r\n\r\n ngOnInit() {\r\n\r\n this.farmList = new Array();\r\n this.herdList = new Array();\r\n this.customerList = new Array();\r\n this.getUserCustomersList();\r\n // if (this.customerList && this.customerList.length > 0) {\r\n // this.changeCustomer(this.customerList[0].id);\r\n // }\r\n }\r\n\r\n private getUserCustomersList() {\r\n this.apiService.GetUser().subscribe((data: User) => {\r\n this.customerList = data.customer.filter(c => c.farm.every(f => f.herd !== null && f.herd.length > 0));\r\n this.OrderCustomers();\r\n this.changeCustomer(this.customerList[0].id);\r\n }, (error) => console.error(error));\r\n }\r\n\r\n public changeCustomer(id: number) {\r\n // tslint:disable-next-line:triple-equals\r\n const tmpCustomer = this.customerList.find(i => i.id == id);\r\n if (tmpCustomer && tmpCustomer.farm) {\r\n this.farmList = tmpCustomer.farm;\r\n this.OrderFarms();\r\n if (this.farmList && this.farmList.length > 0) {\r\n this.changeFarm(this.farmList[0].id);\r\n }\r\n } else {\r\n this.farmList = [];\r\n }\r\n }\r\n\r\n public changeFarm(id: number) {\r\n // tslint:disable-next-line:triple-equals\r\n const tmpFarm = this.farmList.find(i => i.id == id);\r\n if (tmpFarm && tmpFarm.herd) {\r\n this.herdList = tmpFarm.herd;\r\n this.OrderHerds();\r\n if (this.herdList && this.herdList.length > 0) {\r\n this.changeHerd(this.herdList[0].id);\r\n }\r\n } else {\r\n this.herdList = [];\r\n }\r\n }\r\n\r\n public changeHerd(id: number) {\r\n // tslint:disable-next-line:triple-equals\r\n this.interview.herd = this.herdList.find(i => i.id == id);\r\n\r\n this.breedChange.emit();\r\n\r\n // console.log(this.interview);\r\n }\r\n\r\n private OrderCustomers(): void {\r\n if (this.customerList.length > 0) {\r\n this.customerList = this.customerList.sort((c1, c2) => c1.person.name.localeCompare(c2.person.name));\r\n }\r\n }\r\n\r\n private OrderFarms(): void {\r\n if (this.farmList.length > 0) {\r\n this.farmList = this.farmList.sort((f1, f2) => f1.name.localeCompare(f2.name));\r\n }\r\n }\r\n\r\n private OrderHerds(): void {\r\n if (this.herdList.length > 0) {\r\n this.herdList = this.herdList.sort((h1, h2) => h1.name.localeCompare(h2.name));\r\n }\r\n }\r\n}\r\n","
\r\n

Escolha de raça(s) e avaliação(ões)

\r\n
\r\n
\r\n
\r\n Raça base do rebanho: \r\n {{ interview.herd.breed.name }}\r\n \r\n
\r\n
\r\n

Raça primária

\r\n
0\" class=\"alert alert-success w-100\">\r\n Sugestão de raça primária: \r\n {{primaryBreedSuggestion.join(', ')}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Informe a(s) prova(s)\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

Raça secundária

\r\n
0\" class=\"alert alert-warning w-100\">\r\n Sugestão de raça secundária: \r\n {{secondaryBreedSuggestion.join(', ')}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Informe a(s) prova(s)\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input } from \"@angular/core\";\r\nimport { ApiService } from \"@app/_services/api.service\";\r\nimport { Interview } from \"src/_models/interview\";\r\nimport { BreedSelection } from \"src/_models/breed-selection\";\r\nimport { BreedTypeSelection } from \"src/_models/breed-type-selection\";\r\nimport { ProofSelection } from \"src/_models/proof-selection\";\r\nimport { InterviewCycle } from \"src/_models/interview-cycle\";\r\nimport { Breed } from \"src/_models/breed\";\r\nimport { BreedEnum } from \"src/_enums/breed-enum\";\r\n\r\n@Component({\r\n selector: \"app-breed-proof-selection\",\r\n templateUrl: \"./breed-proof-selection.component.html\",\r\n styleUrls: [\"./breed-proof-selection.component.scss\"],\r\n})\r\nexport class BreedProofSelectionComponent implements OnInit {\r\n @Input() public interview: Interview;\r\n\r\n public proofsSelection: Array;\r\n\r\n public breedTypeList: Array;\r\n\r\n public primaryBreedsList: Array;\r\n public secondaryBreedsList: Array;\r\n\r\n public primaryProofList: Array;\r\n public secondaryProofList: Array;\r\n\r\n public primaryBreedSuggestion: string[];\r\n public secondaryBreedSuggestion: string[];\r\n\r\n BreedEnum: typeof BreedEnum = BreedEnum;\r\n\r\n constructor(private apiService: ApiService) {}\r\n\r\n ngOnInit() {\r\n this.breedTypeList = new Array();\r\n\r\n this.primaryBreedsList = new Array();\r\n this.secondaryBreedsList = new Array();\r\n\r\n this.primaryProofList = new Array();\r\n this.secondaryProofList = new Array();\r\n\r\n this.primaryBreedSuggestion = [];\r\n this.secondaryBreedSuggestion = [];\r\n\r\n // if (this.interview.interviewCycle === null) {\r\n // this.interview.interviewCycle = new Array();\r\n // }\r\n\r\n this.loadProofsSelection();\r\n }\r\n\r\n private loadProofsSelection() {\r\n this.apiService.getBreedTypesSelection().subscribe(\r\n (data: ProofSelection[]) => {\r\n this.proofsSelection = data;\r\n this.loadBreedTypes();\r\n },\r\n (error) => console.error(error)\r\n );\r\n }\r\n\r\n private loadBreedTypes() {\r\n this.proofsSelection.map((proof) =>\r\n // tslint:disable-next-line:triple-equals\r\n !this.breedTypeList.find((b) => b.breedTypeId == proof.breedTypeId)\r\n ? this.breedTypeList.push({\r\n breedTypeId: proof.breedTypeId,\r\n breedTypeName: proof.breedTypeName,\r\n })\r\n : []\r\n );\r\n }\r\n\r\n public changePrimaryBreedType(breedTypeId: number) {\r\n this.primaryBreedsList = [];\r\n this.primaryProofList = [];\r\n // tslint:disable-next-line:triple-equals\r\n this.proofsSelection\r\n .filter((proof) => proof.breedTypeId == breedTypeId)\r\n .map((proof) =>\r\n !this.primaryBreedsList.find((b) => b.id === proof.breedId)\r\n ? this.primaryBreedsList.push({\r\n id: proof.breedId,\r\n name: proof.breedName,\r\n })\r\n : []\r\n );\r\n }\r\n\r\n public changeSecondaryBreedType(breedTypeId: number) {\r\n this.secondaryBreedsList = [];\r\n this.secondaryProofList = [];\r\n // tslint:disable-next-line:triple-equals\r\n this.proofsSelection\r\n .filter((proof) => proof.breedTypeId == breedTypeId)\r\n .map((proof) =>\r\n !this.secondaryBreedsList.find((b) => b.id === proof.breedId)\r\n ? this.secondaryBreedsList.push({\r\n id: proof.breedId,\r\n name: proof.breedName,\r\n })\r\n : []\r\n );\r\n }\r\n\r\n public changePrimaryBreed(breedId: number) {\r\n this.primaryProofList = [];\r\n // tslint:disable-next-line:triple-equals\r\n this.proofsSelection\r\n .filter((proof) => proof.breedId == breedId)\r\n .map((proof) =>\r\n !this.primaryProofList.find((b) => b.proofId === proof.proofId)\r\n ? this.primaryProofList.push(proof)\r\n : []\r\n );\r\n }\r\n\r\n public changeSecondaryBreed(breedId: number) {\r\n this.secondaryProofList = [];\r\n // tslint:disable-next-line:triple-equals\r\n this.proofsSelection\r\n .filter((proof) => proof.breedId == breedId)\r\n .map((proof) =>\r\n !this.secondaryProofList.find((b) => b.proofId === proof.proofId)\r\n ? this.secondaryProofList.push(proof)\r\n : []\r\n );\r\n }\r\n\r\n public changeBreedProof(p: number, idx: number) {\r\n if (!this.interview.interviewCycle[idx]) {\r\n this.interview.interviewCycle[idx] = new InterviewCycle();\r\n }\r\n\r\n const tmpProofList =\r\n idx === 0 ? this.primaryProofList : this.secondaryProofList;\r\n\r\n console.log(\"primaryProofList: \", tmpProofList);\r\n\r\n // tslint:disable-next-line:triple-equals\r\n const selection = tmpProofList.find((b) => b.proofId == p);\r\n console.log(\"selection: \", selection);\r\n\r\n this.interview.interviewCycle[idx].interviewId = this.interview.id;\r\n this.interview.interviewCycle[idx].breedId = selection.breedId;\r\n this.interview.interviewCycle[idx].proofId = selection.proofId;\r\n this.interview.interviewCycle[idx].proofName = selection.proofName;\r\n this.interview.interviewCycle[idx].breedName = selection.breedName;\r\n\r\n // RESETAR TODOS OS OBJETOS DAS ETAPAS A FRENTE DO FORMULARIO\r\n }\r\n\r\n public isCrossedBaseBreed(): boolean {\r\n return (\r\n this.interview.herd.breedId === BreedEnum.ZEBU_MESTICA ||\r\n this.interview.herd.breedId === BreedEnum.CRUZA_ANGUS ||\r\n this.interview.herd.breedId === BreedEnum.CRUZA_HEREFORD ||\r\n this.interview.herd.breedId === BreedEnum.CRUZA_SINTETICA\r\n );\r\n }\r\n}\r\n","

Classificação e seleção de touros - {{interviewCycle.breedName}} ({{interviewCycle.proofName}})

\r\n
\r\n 0 && isBullsLoaded\" [ngIfElse]=\"listEmpty\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
Touro
\r\n
{{ dataItem.shortName }}
\r\n\r\n
Registro
\r\n
{{ dataItem.regNumber }}
\r\n\r\n
Índice
\r\n
{{ dataItem.index }}
\r\n\r\n
Estoque
\r\n
{{ dataItem.doses }}
\r\n\r\n
Filtro(s)
\r\n
{{ dataItem.filters }}
\r\n\r\n
ConceptPlus
\r\n
{{ dataItem.conceptPlus }}
\r\n\r\n
Raça
\r\n
{{ dataItem.breed.name }}
\r\n\r\n
Selo (PN)
\r\n
{{ dataItem.calvingEase }}
\r\n\r\n \r\n
{{ c.title }}
\r\n
{{ c.field }}
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n Total: {{ bulls.length }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ dataItem[c.field] }}\r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n\r\n
\r\n \r\n

Buscando touros...

\r\n
\r\n\r\n \r\n
\r\n

Nenhum touro encontrado.

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n","import { Breed } from \"src/_models/breed\";\r\nimport { ExportService } from \"./../../_services/export.service\";\r\nimport { Alert } from \"selenium-webdriver\";\r\nimport {\r\n Component,\r\n OnInit,\r\n Input,\r\n ViewChild,\r\n ElementRef,\r\n EventEmitter,\r\n Output,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { Interview } from \"src/_models/interview\";\r\nimport { ApiService } from \"@app/_services/api.service\";\r\nimport { InterviewCycle } from \"src/_models/interview-cycle\";\r\nimport { SortDescriptor, orderBy } from \"@progress/kendo-data-query\";\r\nimport {\r\n CellClickEvent,\r\n GridDataResult,\r\n RowArgs,\r\n SelectableSettings,\r\n} from \"@progress/kendo-angular-grid\";\r\nimport { Bull } from \"src/_models/bull\";\r\nimport { DialogConfirmService } from \"@app/_services/dialog-confirm.service\";\r\nimport { DialogCloseResult } from \"@progress/kendo-angular-dialog\";\r\nimport { SelectedBull } from \"src/_models/selected-bull\";\r\nimport { BreedEnum } from \"src/_enums/breed-enum\";\r\nimport { SafeStyle, DomSanitizer } from \"@angular/platform-browser\";\r\nimport { Proof } from \"src/_models/proof\";\r\nimport { BullAttendedFilter } from \"src/_models/bull-attended-filter\";\r\nimport { FocusOnDomReadyDirective } from \"@progress/kendo-angular-inputs\";\r\n\r\ninterface ColumnSetting {\r\n field: string;\r\n title: string;\r\n locked?: boolean;\r\n width: string;\r\n // format?: string;\r\n // type: 'text' | 'numeric' | 'boolean' | 'date';\r\n}\r\n\r\n@Component({\r\n selector: \"app-bull-selection\",\r\n encapsulation: ViewEncapsulation.None,\r\n styles: [\r\n `\r\n .whole-cell {\r\n display: block;\r\n padding: 6px 8px; /* depends on theme */\r\n }\r\n `,\r\n ],\r\n templateUrl: \"./bull-selection.component.html\",\r\n styleUrls: [\"./bull-selection.component.scss\"],\r\n})\r\nexport class BullSelectionComponent implements OnInit {\r\n @Input() public interview: Interview;\r\n @Output() selectedBullsCount = new EventEmitter();\r\n\r\n @ViewChild(\"removeBullsWithoutInventory\", { static: false }) private removeBullsWithoutInventory: ElementRef;\r\n @ViewChild(\"removeBullsNotAttendedFilters\", { static: false }) private removeBullsNotAttendedFilters: ElementRef;\r\n\r\n // @ViewChild(\"removeBullsWithoutInventory\") removeBullsWithoutInventory: ElementRef;\r\n // @ViewChild(\"removeBullsNotAttendedFilters\") removeBullsNotAttendedFilters: ElementRef;\r\n\r\n public bulls: Array;\r\n public bullsCached: Array;\r\n public interviewCycle: InterviewCycle;\r\n public bullSort: SortDescriptor[] = [{ field: \"index\", dir: \"desc\" }];\r\n public gridView: GridDataResult;\r\n public gridSelection: any[] = [];\r\n public checkboxOnly = false;\r\n public selectableSettings: SelectableSettings;\r\n public columns: ColumnSetting[] = [];\r\n public isBullsLoaded = false;\r\n BreedEnum: typeof BreedEnum = BreedEnum;\r\n private filtersColumns = [];\r\n private bullHasAttendedFilters: Array;\r\n\r\n public selectedCallback = (args: { dataItem: any }) => args.dataItem;\r\n\r\n public selectedItems: any[] = [];\r\n\r\n constructor(\r\n public exportService: ExportService,\r\n public apiService: ApiService,\r\n public dialogConfirmService: DialogConfirmService,\r\n private sanitizer: DomSanitizer\r\n ) {\r\n this.setSelectableSettings();\r\n }\r\n\r\n ngOnInit() {\r\n this.filtersColumns = [];\r\n this.bullHasAttendedFilters = new Array();\r\n this.gridView = {\r\n data: [],\r\n total: 0,\r\n };\r\n this.bulls = new Array();\r\n this.bullsCached = new Array();\r\n this.interviewCycle =\r\n this.interview.interviewCycle[this.interview.currentInterviewCycle];\r\n this.getBulls();\r\n }\r\n\r\n public isRowSelected = (e: RowArgs): boolean =>\r\n this.gridSelection.indexOf(e.dataItem) >= 0;\r\n\r\n public cellClickHandler({\r\n sender,\r\n rowIndex,\r\n columnIndex,\r\n dataItem,\r\n isEdited,\r\n }: CellClickEvent): void {\r\n const itemIndex: number = this.selectedItems.indexOf(dataItem);\r\n\r\n if (itemIndex >= 0) {\r\n this.selectedItems.splice(itemIndex, 1);\r\n } else {\r\n this.selectedItems.push(dataItem);\r\n }\r\n\r\n this.gridSelection = [];\r\n this.gridSelection.push(...this.selectedItems);\r\n\r\n this.setSelectedBulls();\r\n\r\n }\r\n\r\n public bullSortChange(sort: SortDescriptor[]): void {\r\n this.bullSort = sort;\r\n this.orderBulls();\r\n }\r\n\r\n private orderBulls(): void {\r\n if (this.bulls.length > 0) {\r\n this.gridView = {\r\n data: orderBy(this.bulls, this.bullSort),\r\n total: this.bulls.length,\r\n };\r\n }\r\n }\r\n\r\n private getBulls() {\r\n this.apiService.getBulls(this.interviewCycle).subscribe(\r\n (data: Bull[]) => {\r\n this.configureBulls(data);\r\n },\r\n (error) => console.log(error)\r\n );\r\n }\r\n\r\n private configureBulls(bulls: Bull[]) {\r\n this.columns = this.createDynamicGridColumns(bulls);\r\n this.createDynamicBullsList(bulls);\r\n this.orderBulls();\r\n this.removeBulls(true, `removeBullsWithoutInventory`);\r\n this.removeBulls(true, `removeBullsNotAttendedFilters`);\r\n this.isBullsLoaded = true;\r\n }\r\n\r\n public setSelectableSettings() {\r\n this.selectableSettings = {\r\n checkboxOnly: this.checkboxOnly,\r\n mode: \"multiple\",\r\n };\r\n }\r\n\r\n public removeBulls(checked: boolean, id: string) {\r\n this.bulls = [];\r\n const removeBullsNotAttendedFilters =\r\n this.removeBullsNotAttendedFilters !== undefined\r\n ? this.removeBullsNotAttendedFilters.nativeElement.checked\r\n : false;\r\n const removeBullsWithoutInventory =\r\n this.removeBullsWithoutInventory !== undefined\r\n ? this.removeBullsWithoutInventory.nativeElement.checked\r\n : false;\r\n\r\n if (removeBullsNotAttendedFilters && removeBullsWithoutInventory) {\r\n this.bulls.push(\r\n ...this.bullsCached.filter(\r\n (b) => b.doses === \"Sim\" && b.filters === \"Sim\"\r\n )\r\n );\r\n } else if (removeBullsNotAttendedFilters) {\r\n this.bulls.push(...this.bullsCached.filter((b) => b.filters === \"Sim\"));\r\n } else if (removeBullsWithoutInventory) {\r\n this.bulls.push(...this.bullsCached.filter((b) => b.doses === \"Sim\"));\r\n } else if (checked) {\r\n // for first time, to load with bulls that have inventory\r\n this.bulls.push(...this.bullsCached.filter((b) => b.doses === \"Sim\"));\r\n } else {\r\n this.bulls = this.bullsCached;\r\n }\r\n }\r\n\r\n public compareBulls(e: any) {\r\n if (e.target.innerText === `Comparar Touros`) {\r\n if (this.gridSelection.length > 1) {\r\n this.bulls = this.gridSelection;\r\n e.target.innerText = `Limpar`;\r\n e.target.className = `btn btn-danger`;\r\n } else {\r\n this.alert();\r\n }\r\n } else {\r\n this.bulls = this.bullsCached;\r\n e.target.innerText = `Comparar Touros`;\r\n e.target.className = `btn btn-submit`;\r\n }\r\n }\r\n\r\n public setSelectedBulls() {\r\n const selectedBulls = new Array();\r\n for (const bull of this.gridSelection) {\r\n const selectedBull = new SelectedBull();\r\n selectedBull.bullId = bull.id;\r\n selectedBull.shortName = bull.shortName;\r\n selectedBull.interviewCycleId = this.interviewCycle.id;\r\n selectedBull.indexValue = bull.index;\r\n selectedBulls.push(selectedBull);\r\n }\r\n this.interview.interviewCycle[\r\n this.interview.currentInterviewCycle\r\n ].selectedBull = selectedBulls;\r\n this.selectedBullsCount.emit(selectedBulls.length);\r\n }\r\n\r\n public alert() {\r\n const dialogTitle = `Comparar Touros`;\r\n const dialogContent = `É necessário selecionar mais de 1 touro para realizar a comparação.`;\r\n this.dialogConfirmService\r\n .Alert(dialogTitle, dialogContent)\r\n .subscribe((result) => {\r\n if (!(result instanceof DialogCloseResult)) {\r\n const action = result.text;\r\n }\r\n });\r\n }\r\n\r\n public onSelectedKeysChange() {\r\n this.setSelectedBulls();\r\n }\r\n\r\n private createDynamicGridColumns(bulls: Bull[]): ColumnSetting[] {\r\n let columns = `[\r\n {\r\n \"field\": \"breed.name\",\r\n \"title\": \"Raça\"\r\n },\r\n {\r\n \"field\": \"calvingEase\",\r\n \"title\": \"Selo (PN)\"\r\n }`;\r\n\r\n if (bulls.length > 0) {\r\n for (const bull of bulls) {\r\n for (const proof of bull.proof) {\r\n const column =\r\n proof.trait.acronym + \"_\" + proof.traitType.description;\r\n columns += `,\r\n {\r\n \"field\":\"${column}\",\r\n \"title\":\"${column}\",\r\n \"width\": 100\r\n }`;\r\n }\r\n columns += `]`;\r\n break;\r\n }\r\n } else {\r\n columns += `]`;\r\n }\r\n return JSON.parse(columns);\r\n }\r\n\r\n private createDynamicBullsList(data: Bull[]) {\r\n data.forEach((b) => {\r\n const bull = {};\r\n bull[\"id\"] = b.id;\r\n bull[\"shortName\"] = b.shortName;\r\n bull[\"regNumber\"] = b.regNumber;\r\n bull[\"index\"] = b.index;\r\n bull[\"doses\"] = Number(b.doses || 0) > 1000 ? \"Sim\" : \"Não\";\r\n bull[\"conceptPlus\"] = b.conceptPlus === 1 ? \"Sim\" : \"Não\";\r\n bull[\"breed\"] = b.breed;\r\n bull[\"calvingEase\"] = b.calvingEase > 0 ? b.calvingEase + ` meses` : `-`;\r\n\r\n b.proof.forEach((p) => {\r\n const column = p.trait.acronym + \"_\" + p.traitType.description;\r\n bull[column] = p.value;\r\n this.resolveFilters(column, p, b.id);\r\n });\r\n\r\n if (\r\n this.interviewCycle.bullSelectionFilter &&\r\n this.interviewCycle.bullSelectionFilter.length > 0\r\n ) {\r\n this.setBullFilter(b);\r\n bull[\"filters\"] = b.filters;\r\n } else {\r\n bull[\"filters\"] = \"Sim\";\r\n }\r\n\r\n this.bullsCached.push(bull);\r\n });\r\n this.bulls.push(...this.bullsCached);\r\n }\r\n\r\n isColumnHidden(): boolean {\r\n if (\r\n this.interviewCycle.breedId !== BreedEnum.NELORE &&\r\n this.interviewCycle.breedId !== BreedEnum.NELORE_MOCHO &&\r\n this.interviewCycle.breedId !== BreedEnum.ANGUS &&\r\n this.interviewCycle.breedId !== BreedEnum.RED_ANGUS\r\n ) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n hideIdColumn(column: string): boolean {\r\n if (column === `Id`) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n private resolveFilters(column: string, proof: Proof, bullId: number) {\r\n const hasBullFilters =\r\n this.interviewCycle.bullSelectionFilter &&\r\n this.interviewCycle.bullSelectionFilter.length > 0;\r\n\r\n if (hasBullFilters) {\r\n const filter = this.interviewCycle.bullSelectionFilter.find(\r\n (f) =>\r\n f.traitId === proof.traitId && f.traitTypeId === proof.traitTypeId\r\n );\r\n\r\n const hasFilter = filter !== null && filter !== undefined;\r\n\r\n if (hasFilter) {\r\n this.filtersColumns.push(column);\r\n\r\n const proofValue = Number(proof.value || 0);\r\n const filterValue = Number(filter.value || 0);\r\n\r\n if (filter.signal === `>=`) {\r\n if (proofValue >= filterValue) {\r\n const bullAttendedFilter = new BullAttendedFilter();\r\n bullAttendedFilter.bullId = bullId;\r\n bullAttendedFilter.column = column;\r\n this.bullHasAttendedFilters.push(bullAttendedFilter);\r\n }\r\n } else {\r\n if (proofValue <= filterValue) {\r\n const bullAttendedFilter = new BullAttendedFilter();\r\n bullAttendedFilter.bullId = bullId;\r\n bullAttendedFilter.column = column;\r\n this.bullHasAttendedFilters.push(bullAttendedFilter);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n private setBullFilter(bull: Bull) {\r\n let containsAllColumns = false;\r\n const bullHasAttendedFilters = this.bullHasAttendedFilters.filter(\r\n (b) => b.bullId === bull.id\r\n );\r\n if (bullHasAttendedFilters !== null && bullHasAttendedFilters.length > 0) {\r\n this.filtersColumns.every((column) => {\r\n containsAllColumns = bullHasAttendedFilters.some(\r\n (b) => b.column === column\r\n );\r\n return containsAllColumns;\r\n });\r\n if (containsAllColumns) {\r\n bull.filters = `Sim`;\r\n }\r\n }\r\n }\r\n\r\n public highlightGridCell(\r\n column: string,\r\n bullId: number,\r\n value: number\r\n ): SafeStyle {\r\n let result = \"\";\r\n if (this.filtersColumns.includes(column)) {\r\n const bullHasAttendedFilters = this.bullHasAttendedFilters.filter(\r\n (b) => b.bullId === bullId\r\n );\r\n if (\r\n bullHasAttendedFilters.some((b) => b.column === column) &&\r\n value !== null &&\r\n value !== undefined\r\n ) {\r\n result = \"#298461\";\r\n } else if (\r\n !bullHasAttendedFilters.some((b) => b.column === column) &&\r\n value !== null &&\r\n value !== undefined\r\n ) {\r\n result = `#CD5C5C`;\r\n }\r\n }\r\n return this.sanitizer.bypassSecurityTrustStyle(result);\r\n }\r\n\r\n public gridTextCellColor(): SafeStyle {\r\n const result = \"#fff\";\r\n return this.sanitizer.bypassSecurityTrustStyle(result);\r\n }\r\n\r\n public isFilterColumn(column: string): boolean {\r\n if (this.filtersColumns.includes(column)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public exportSelectedBulls() {\r\n this.exportBulls(this.gridSelection.sort(cond => cond.index));\r\n }\r\n\r\n public exportAllBulls() {\r\n\r\n this.exportBulls(this.bulls.sort(function(a,b) {\r\n if (a.index < b.index) {\r\n return 1;\r\n }\r\n\r\n if (a.index > b.index) {\r\n return -1;\r\n }\r\n return 0;\r\n }));\r\n\r\n //this.exportBulls(this.bulls.sort(cond => cond.index));\r\n }\r\n\r\n private exportBulls(bulls: any[]) {\r\n let exportItems: any[] = [];\r\n exportItems.push(this.createHeaderForFile());\r\n\r\n const items = bulls.map((bull) => {\r\n const newObj = Object.assign({}, bull);\r\n newObj.breed = newObj.breed.name;\r\n\r\n delete newObj.id;\r\n delete newObj.filters;\r\n\r\n return newObj;\r\n });\r\n\r\n exportItems.push(...items);\r\n\r\n this.exportService.exportToExcel(exportItems, {\r\n tabName: \"Touros - índice\",\r\n filename: \"Plano Genético - Sumário de touros.xlsx\",\r\n });\r\n }\r\n\r\n private createHeaderForFile(): any {\r\n let result: any = {};\r\n\r\n result.shortName = \"Touro\";\r\n result.regNumber = \"Registro\";\r\n result.index = \"Índice\";\r\n result.doses = \"Estoque\";\r\n result.conceptPlus = \"Concept PLus\";\r\n // result.breed = 'Raça';\r\n // result.calvingEase = 'Selo (PN)';\r\n\r\n this.columns.forEach((element) => {\r\n\r\n if (element.title === 'Raça') {\r\n result['breed'] = element.title;\r\n }\r\n else if (element.title === 'Selo (PN)') {\r\n result['calvingEase'] = element.title;\r\n }\r\n else {\r\n result[element.title] = element.title;\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n}\r\n","
\r\n

Coleta de dados

\r\n
\r\n\r\n
\r\n

Origem das fêmeas para reprodução

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n

Tipo da raça utilizada na inseminação

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n

Foco do rebanho

\r\n\r\n

Raça primária

\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{interview.interviewBreedGoal[0].maxZebu}}%\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{interview.interviewBreedGoal[0].maxTaurean}}%\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Raça secundária

\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{interview.interviewBreedGoal[1].maxZebu}}%\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{interview.interviewBreedGoal[1].maxTaurean}}%\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

Programas de bonificação

\r\n \r\n
\r\n
0; else noBonusPrograms\">\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Nenhum programa selecionado

\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

Principais problemas observados no rebanho

\r\n \r\n
\r\n
0; else noHerdProblems\">\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Nenhum problema selecionado

\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Interview } from 'src/_models/interview';\r\nimport { NgbModal, NgbModalOptions, ModalDismissReasons } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ModalBonusProgramComponent } from '../modal-bonus-program/modal-bonus-program.component';\r\nimport { faPlus } from '@fortawesome/free-solid-svg-icons';\r\nimport { BonusProgramm } from 'src/_models/bonus-program';\r\nimport { HerdProblem } from 'src/_models/herd-problem';\r\nimport { ModalHerdProblemComponent } from '../modal-herd-problem/modal-herd-problem.component';\r\n\r\n@Component({\r\n selector: 'app-data-collect',\r\n templateUrl: './data-collect.component.html',\r\n styleUrls: ['./data-collect.component.scss']\r\n})\r\nexport class DataCollectComponent implements OnInit {\r\n\r\n @Input() public interview: Interview;\r\n @Output() updateInterview = new EventEmitter();\r\n @Output() updateInterviewPrimary = new EventEmitter();\r\n @Output() updateInterviewSecondary = new EventEmitter();\r\n\r\n public herdGoalMaleList: Array;\r\n public herdGoalFemaleList: Array;\r\n\r\n public modalOptions: NgbModalOptions;\r\n\r\n public iconAdd = faPlus;\r\n\r\n constructor(private modalService: NgbModal) { }\r\n\r\n ngOnInit() {\r\n this.herdGoalMaleList = [{id: 1, name: 'Abate'}, {id: 2, name: 'Venda ao desmame'}, {id: 3, name: 'Produção de touros'}];\r\n this.herdGoalFemaleList = [{id: 1, name: 'Abate'}, {id: 2, name: 'Venda ao desmame'}, {id: 3, name: 'Produção de matrizes'}];\r\n }\r\n\r\n // QUESTAO 1: ORIGEM DAS FEMEAS PARA REPRODUCAO\r\n public changeFemaleOrigin(e: any) {\r\n if (e.target.checked) {\r\n this.interview.femaleOrigin += Number(e.target.value);\r\n } else {\r\n this.interview.femaleOrigin = this.interview.femaleOrigin > 0 ? this.interview.femaleOrigin - Number(e.target.value) : 0;\r\n }\r\n this.updateInterview.emit();\r\n }\r\n\r\n public updateAllBreedsSuggestions() {\r\n this.updateInterviewBreedGoals();\r\n this.updateInterview.emit();\r\n }\r\n\r\n private updateInterviewBreedGoals() {\r\n if (this.interview.breedOptions === 1) {\r\n this.interview.interviewBreedGoal[1].sellingGoalsMale = 0;\r\n this.interview.interviewBreedGoal[1].sellingGoalsFemale = 0;\r\n this.interview.interviewBreedGoal[1].confinementTypeMale = 0;\r\n this.interview.interviewBreedGoal[1].usesCastration = 0;\r\n this.interview.interviewBreedGoal[1].confinementTypeFemale = 0;\r\n this.interview.interviewBreedGoal[1].maxTaurean = 0;\r\n this.interview.interviewBreedGoal[1].maxZebu = 0;\r\n }\r\n }\r\n\r\n public updatePrimaryBreedSuggestion() {\r\n if (Number(this.interview.interviewBreedGoal[0].sellingGoalsMale) !== 1) {\r\n this.interview.interviewBreedGoal[0].confinementTypeMale = 0;\r\n this.interview.interviewBreedGoal[0].usesCastration = 0;\r\n }\r\n if (Number(this.interview.interviewBreedGoal[0].sellingGoalsFemale) !== 1) {\r\n this.interview.interviewBreedGoal[0].confinementTypeFemale = 0;\r\n }\r\n this.updateInterviewPrimary.emit();\r\n }\r\n\r\n public updateSecondaryBreedSuggestion() {\r\n if (Number(this.interview.interviewBreedGoal[1].sellingGoalsMale) !== 1) {\r\n this.interview.interviewBreedGoal[1].confinementTypeMale = 0;\r\n this.interview.interviewBreedGoal[1].usesCastration = 0;\r\n }\r\n if (Number(this.interview.interviewBreedGoal[1].sellingGoalsFemale) !== 1) {\r\n this.interview.interviewBreedGoal[1].confinementTypeFemale = 0;\r\n }\r\n this.updateInterviewSecondary.emit();\r\n }\r\n\r\n // QUESTAO 4: PROGRAMAS DE BONIFICACAO\r\n public openBonusProgram() {\r\n const modalRef = this.modalService.open(ModalBonusProgramComponent, { centered: true });\r\n modalRef.componentInstance.bonus = this.interview.bonusProgram;\r\n modalRef.result.then((result) => {\r\n this.interview.bonusProgram = new Array();\r\n this.interview.bonusProgram.push(...result);\r\n this.updateAllBreedsSuggestions();\r\n }, (reason) => {\r\n console.log(`Dispensou ${this.getDismissReason(reason)}`);\r\n });\r\n }\r\n\r\n public removeBonusProgram(idx: number) {\r\n console.log(idx);\r\n this.interview.bonusProgram.splice(idx, 1);\r\n }\r\n\r\n // QUESTAO 5: PROBLEMAS DO REBANHO\r\n public openHerdProblem() {\r\n const modalRef = this.modalService.open(ModalHerdProblemComponent, { centered: true });\r\n modalRef.componentInstance.list = this.interview.herdProblem;\r\n modalRef.result.then((result) => {\r\n this.interview.herdProblem = new Array();\r\n this.interview.herdProblem.push(...result);\r\n }, (reason) => {\r\n console.log(`Dispensou ${this.getDismissReason(reason)}`);\r\n });\r\n }\r\n\r\n public removeHerdProblem(idx: number) {\r\n console.log(idx);\r\n this.interview.herdProblem.splice(idx, 1);\r\n }\r\n\r\n // ======================================================================================================\r\n // METODOS PRIVADOS\r\n private getDismissReason(reason: any): string {\r\n if (reason === ModalDismissReasons.ESC) {\r\n return 'apertando ESC';\r\n } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\r\n return 'clicando fora do modal';\r\n } else {\r\n return `com: ${reason}`;\r\n }\r\n }\r\n}\r\n","

Quantidade de doses por touro - {{interviewCycle.breedName}} ({{interviewCycle.proofName}})

\r\n
\r\n
\r\n 0\">\r\n \r\n \r\n \r\n
\r\n
Touro
\r\n
{{ dataItem.shortName }}
\r\n \r\n
Doses (Vacas)
\r\n
{{ dataItem.cowsDoses }}
\r\n \r\n
Doses (Novilhas)
\r\n
{{ dataItem.heifersDoses }}
\r\n \r\n
Preço
\r\n
{{ dataItem.pricePerDose }}
\r\n \r\n
Total
\r\n
{{ dataItem.total }}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Total\r\n \r\n \r\n {{ totalCowDoses | number }}\r\n \r\n \r\n {{ totalHeifersDoses | number }}\r\n \r\n \r\n {{ totalPricePerDose | currency:'BRL':symbol }}\r\n \r\n \r\n \r\n {{ dataItem.total | currency:'BRL':symbol }}\r\n \r\n \r\n {{ totalPrice | currency:'BRL':symbol }}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

Quantidade Doses Necessárias

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\nimport { GridDataResult, SelectableSettings } from '@progress/kendo-angular-grid';\r\nimport { Interview } from 'src/_models/interview';\r\nimport { SelectedBull } from 'src/_models/selected-bull';\r\nimport { InterviewCycle } from 'src/_models/interview-cycle';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ReproductiveManagement } from 'src/_models/reproductive-management';\r\n\r\n@Component({\r\n selector: 'app-doses-distribution',\r\n templateUrl: './doses-distribution.component.html',\r\n styleUrls: ['./doses-distribution.component.scss']\r\n})\r\nexport class DosesDistributionComponent implements OnInit {\r\n\r\n @Input() public interview: Interview;\r\n @Output() bullsHasDoses = new EventEmitter();\r\n @Output() bullsHasQuantityNecessaryDoses = new EventEmitter();\r\n\r\n public gridView: GridDataResult;\r\n public gridSelection: any[] = [];\r\n public selectableSettings: SelectableSettings;\r\n\r\n public selectedBulls: Array;\r\n public interviewCycle: InterviewCycle;\r\n private updatedItems: SelectedBull[] = [];\r\n public totalCowDoses = 0;\r\n public totalHeifersDoses = 0;\r\n public totalPrice = 0;\r\n public totalPricePerDose = 0;\r\n private reproductiveManagement: ReproductiveManagement;\r\n\r\n public selectedCallback = (args: { dataItem: any; }) => args.dataItem;\r\n\r\n constructor(public formBuilder: FormBuilder) { }\r\n\r\n ngOnInit() {\r\n this.selectedBulls = new Array();\r\n this.interviewCycle = this.interview.interviewCycle[this.interview.currentInterviewCycle];\r\n this.selectedBulls = this.interviewCycle.selectedBull;\r\n this.reproductiveManagement = this.interview.reproductiveManagement;\r\n }\r\n\r\n public cellClickHandler({ sender, rowIndex, column, columnIndex, dataItem, isEdited }) {\r\n if (!isEdited && !this.isReadOnly(column.field)) {\r\n sender.editCell(rowIndex, columnIndex, this.createFormGroup(dataItem));\r\n }\r\n }\r\n\r\n public cellCloseHandler(args: any) {\r\n const { formGroup, dataItem } = args;\r\n\r\n if (!formGroup.valid) {\r\n // prevent closing the edited cell if there are invalid values.\r\n args.preventDefault();\r\n } else if (formGroup.dirty) {\r\n this.assignValues(dataItem, formGroup.value);\r\n this.update(dataItem);\r\n this.updateTotals();\r\n this.interviewCycle.selectedBull = this.updatedItems;\r\n }\r\n }\r\n\r\n public createFormGroup(dataItem: any): FormGroup {\r\n return this.formBuilder.group({\r\n 'shortName': dataItem.shortName,\r\n 'cowsDoses': [dataItem.cowsDoses, Validators.pattern('^[0-9]{1,8}')],\r\n 'heifersDoses': [dataItem.heifersDoses, Validators.pattern('^[0-9]{1,8}')],\r\n 'pricePerDose': [dataItem.pricePerDose, Validators.pattern('\\\\d+([.]\\\\d+)?')],\r\n 'total': dataItem.total\r\n });\r\n }\r\n\r\n public update(item: any): void {\r\n const index = this.getBullIndex(item, this.updatedItems);\r\n if (index !== -1) {\r\n this.updatedItems.splice(index, 1, item);\r\n } else {\r\n this.updatedItems.push(item);\r\n }\r\n }\r\n\r\n public assignValues(target: any, source: any): void {\r\n Object.assign(target, source);\r\n }\r\n\r\n private getBullIndex(item: any, data: any[]): number {\r\n for (let idx = 0; idx < data.length; idx++) {\r\n if (data[idx].bullId === item.bullId) {\r\n return idx;\r\n }\r\n }\r\n return -1;\r\n }\r\n\r\n private isReadOnly(field: string): boolean {\r\n const readOnlyColumns = ['total', 'shortName'];\r\n return readOnlyColumns.indexOf(field) > -1;\r\n }\r\n\r\n private updateTotals() {\r\n this.totalCowDoses = 0;\r\n this.totalHeifersDoses = 0;\r\n this.totalPrice = 0;\r\n this.totalPricePerDose = 0;\r\n\r\n for (const item of this.updatedItems) {\r\n this.totalCowDoses += item.cowsDoses;\r\n this.totalHeifersDoses += item.heifersDoses;\r\n item.total = (item.cowsDoses + item.heifersDoses) * item.pricePerDose;\r\n this.totalPrice += item.total;\r\n }\r\n\r\n const totalBullDoses = this.totalCowDoses + this.totalHeifersDoses;\r\n if (totalBullDoses <= 0) {\r\n this.bullsHasDoses.emit(false);\r\n } else {\r\n this.bullsHasDoses.emit(true);\r\n }\r\n\r\n if (totalBullDoses < this.quantityNecessaryDosesTotal) {\r\n this.bullsHasQuantityNecessaryDoses.emit(false);\r\n } else {\r\n this.bullsHasQuantityNecessaryDoses.emit(true);\r\n }\r\n\r\n if (totalBullDoses > 0 && this.totalPrice > 0) {\r\n this.totalPricePerDose = (this.totalPrice / totalBullDoses);\r\n }\r\n }\r\n\r\n get quantityNecessaryDosesCows() {\r\n if (this.interview.interviewCycle.length == 1) {\r\n return this.reproductiveManagement.iatfDistributionPerSeasonCowsTotal;\r\n } else {\r\n if (this.interview.currentInterviewCycle == 0) {\r\n return this.reproductiveManagement.breedDistributionCowsBeginningBreed1 + this.reproductiveManagement.breedDistributionCowsMiddleBreed1 + this.reproductiveManagement.breedDistributionCowsEndBreed1;\r\n } else {\r\n return this.reproductiveManagement.breedDistributionCowsBeginningBreed2 + this.reproductiveManagement.breedDistributionCowsMiddleBreed2 + this.reproductiveManagement.breedDistributionCowsEndBreed2;\r\n }\r\n }\r\n }\r\n\r\n get quantityNecessaryDosesHeifers() {\r\n if (this.interview.interviewCycle.length == 1) {\r\n return this.reproductiveManagement.iatfDistributionPerSeasonHeifersTotal;\r\n } else {\r\n if (this.interview.currentInterviewCycle == 0) {\r\n return this.reproductiveManagement.breedDistributionHeifersBeginningBreed1 + this.reproductiveManagement.breedDistributionHeifersMiddleBreed1 + this.reproductiveManagement.breedDistributionHeifersEndBreed1;\r\n } else {\r\n return this.reproductiveManagement.breedDistributionHeifersBeginningBreed2 + this.reproductiveManagement.breedDistributionHeifersMiddleBreed2 + this.reproductiveManagement.breedDistributionHeifersEndBreed2;\r\n }\r\n }\r\n }\r\n\r\n get quantityNecessaryDosesTotal() {\r\n if (this.interview.interviewCycle.length == 1) {\r\n return this.reproductiveManagement.iatfDistributionPerSeasonTotal;\r\n } else {\r\n if (this.interview.currentInterviewCycle == 0) {\r\n return this.reproductiveManagement.totalDosesByBreedBreed1;\r\n } else {\r\n return this.reproductiveManagement.totalDosesByBreedBreed2;\r\n }\r\n }\r\n }\r\n}\r\n","

Filtros e limites genéticos - {{interviewCycle.breedName}} ({{interviewCycle.proofName}})

\r\n
\r\n \r\n
0 && isTraitsLoaded; else listEmpty\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

{{traitGroup.name}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n

Buscando características...

\r\n
\r\n\r\n \r\n
\r\n

Nenhuma característica encontrada.

\r\n
\r\n
\r\n\r\n \r\n
\r\n","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\nimport { ModalDismissReasons, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ModalTraitsComponent } from '../modal-traits/modal-traits.component';\r\nimport { TraitGroup } from 'src/_models/trait-group';\r\nimport { Interview } from 'src/_models/interview';\r\nimport { faPlus } from '@fortawesome/free-solid-svg-icons';\r\nimport { ApiService } from '@app/_services/api.service';\r\nimport { InterviewCycle } from 'src/_models/interview-cycle';\r\nimport { FilterSuggestion } from 'src/_models/filter-suggestion/filter-suggestion';\r\nimport { FeatureHighLighting } from 'src/_models/feature-highlighting';\r\nimport { FilterSuggestionHasTrait } from 'src/_models/filter-suggestion/filter-suggestion-has-trait';\r\nimport { BullSelectionFilter } from 'src/_models/bull-selection-filter';\r\nimport { Trait } from 'src/_models/trait';\r\nimport { ProofTypeEnum } from 'src/_enums/proof-type-enum';\r\n\r\n@Component({\r\n selector: 'app-filter',\r\n templateUrl: './filter.component.html',\r\n styleUrls: ['./filter.component.scss']\r\n})\r\nexport class FilterComponent implements OnInit {\r\n\r\n @Input() public interview: Interview;\r\n @Output() filterSignal = new EventEmitter();\r\n\r\n // public selectedTraitsGroups: Array;\r\n public interviewCycle: InterviewCycle;\r\n public iconAdd = faPlus;\r\n\r\n public traitsGroups: Array;\r\n private filterSuggestion: FilterSuggestion;\r\n private featureHighLighting: Array;\r\n private bullSelectionFilters: Array;\r\n private proofId: number;\r\n private breedId: number;\r\n ProofTypeEnum: typeof ProofTypeEnum = ProofTypeEnum;\r\n public isTraitsLoaded = false;\r\n\r\n constructor(\r\n private modalService: NgbModal,\r\n public apiService: ApiService) { }\r\n\r\n ngOnInit() {\r\n this.traitsGroups = new Array();\r\n // this.selectedTraitsGroups = new Array();\r\n this.interviewCycle = this.interview.interviewCycle[this.interview.currentInterviewCycle];\r\n this.proofId = this.interviewCycle.proofId;\r\n this.breedId = this.interviewCycle.breedId;\r\n this.filterSuggestion = new FilterSuggestion();\r\n this.filterSuggestion.filterSuggestionHasTrait = new Array();\r\n this.featureHighLighting = new Array();\r\n this.bullSelectionFilters = new Array();\r\n\r\n // this.GetFilterTraitsGroups();\r\n // this.GetSelectedFilterTraitsGroups();\r\n // this.getFilterSuggestions();\r\n // this.setTraitsFilterSuggestions();\r\n\r\n this.getFiltersTraitsSuggestions();\r\n\r\n // if (this.interview.herdProblem\r\n // && this.interview.herdProblem.length > 0) {\r\n // this.getFeatureHighLighting();\r\n // }\r\n }\r\n\r\n private getFiltersTraitsSuggestions() {\r\n if (this.interviewCycle.selectedFilterTraitsGroups &&\r\n this.interviewCycle.selectedFilterTraitsGroups.length > 0) {\r\n this.getSelectedFilterTraitsGroups();\r\n } else {\r\n this.getFilterTraitsGroups();\r\n }\r\n }\r\n\r\n private getFilterTraitsGroups() {\r\n this.apiService.GetFilterTraitsGroups(this.proofId, this.breedId).subscribe((data: TraitGroup[]) => {\r\n this.traitsGroups = data;\r\n this.getFilterSuggestions();\r\n this.getFeatureHighLighting();\r\n }, (error) => console.error(error));\r\n }\r\n\r\n // public OpenModalTraits() {\r\n // if (this.interview.herdProblem\r\n // && this.interview.herdProblem.length > 0) {\r\n // this.setFeatureHighLighting();\r\n // }\r\n // // this.setTraitsFilterSuggestions();\r\n // this.CheckSelectedFilterTraitsGroups();\r\n // const modalRef = this.modalService.open(ModalTraitsComponent, { centered: true });\r\n // modalRef.componentInstance.traitsGroups = this.traitsGroups;\r\n // modalRef.result.then((result) => {\r\n // this.setTraitsFilterSuggestions(result);\r\n // this.selectedTraitsGroups = new Array();\r\n // this.selectedTraitsGroups.push(...result);\r\n // this.interviewCycle.selectedFilterTraitsGroups = new Array();\r\n // this.interviewCycle.selectedFilterTraitsGroups.push(...result);\r\n // }, (reason) => {\r\n // console.log(`Dispensou ${this.getDismissReason(reason)}`);\r\n // });\r\n // }\r\n\r\n // public RemoveTrait(traitGroupIdx: number, traitIdx: number) {\r\n // // gets the selected group\r\n // const selectedTraitGroup = this.selectedTraitsGroups[traitGroupIdx];\r\n // // gets the selected trait from the selected group\r\n // const selectedTrait = selectedTraitGroup.trait[traitIdx];\r\n // // checks selected trait to remove to false on traitsGroups list\r\n // this.traitsGroups\r\n // .find(tg => tg.id === selectedTraitGroup.id).trait\r\n // .find(t => t.id === selectedTrait.id).checked = false;\r\n // // checks trait group to false\r\n // this.traitsGroups\r\n // .find(tg => tg.id === selectedTraitGroup.id).checked = false;\r\n // // set selected trait group checked to false\r\n // selectedTraitGroup.checked = false;\r\n // // removes selected trait from selectedTraitsGroup list\r\n // selectedTraitGroup.trait.splice(traitIdx, 1);\r\n // // if selected group doesn´t have traits anymore, removes it\r\n // if (selectedTraitGroup.trait.length === 0) {\r\n // // removes selected trait group from selectedTraitsGroups list\r\n // this.selectedTraitsGroups.splice(traitGroupIdx, 1);\r\n // }\r\n // // removes from bull selection filters list\r\n // if (this.bullSelectionFilters\r\n // && this.bullSelectionFilters.length > 0) {\r\n // // tslint:disable-next-line: no-shadowed-variable\r\n // this.bullSelectionFilters = this.bullSelectionFilters.filter(f => f.traitId !== selectedTrait.id);\r\n // this.interviewCycle.bullSelectionFilter = this.bullSelectionFilters;\r\n // } else if (this.interviewCycle.bullSelectionFilter\r\n // && this.interviewCycle.bullSelectionFilter.length > 0) {\r\n // // tslint:disable-next-line: no-shadowed-variable\r\n // this.interviewCycle.bullSelectionFilter = this.interviewCycle.bullSelectionFilter.filter(f => f.traitId !== selectedTrait.id);\r\n // this.bullSelectionFilters = this.interviewCycle.bullSelectionFilter;\r\n // }\r\n // }\r\n\r\n // private getDismissReason(reason: any): string {\r\n // if (reason === ModalDismissReasons.ESC) {\r\n // return 'apertando ESC';\r\n // } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\r\n // return 'clicando fora do modal';\r\n // } else {\r\n // return `com: ${reason}`;\r\n // }\r\n // }\r\n\r\n private getSelectedFilterTraitsGroups() {\r\n // if (this.interviewCycle.selectedFilterTraitsGroups &&\r\n // this.interviewCycle.selectedFilterTraitsGroups.length > 0) {\r\n this.traitsGroups = this.interviewCycle.selectedFilterTraitsGroups;\r\n this.isTraitsLoaded = true;\r\n // }\r\n }\r\n\r\n // private CheckSelectedFilterTraitsGroups() {\r\n // // gets selected traits and checks on the traits groups list to be showed on modal traits\r\n // for (let stg = 0; stg < this.selectedTraitsGroups.length; stg++) {\r\n // for (let tg = 0; tg < this.traitsGroups.length; tg++) {\r\n // if (this.selectedTraitsGroups[stg].id === this.traitsGroups[tg].id) {\r\n // this.traitsGroups[tg].checked = this.selectedTraitsGroups[stg].checked;\r\n // for (let st = 0; st < this.selectedTraitsGroups[stg].trait.length; st++) {\r\n // for (let t = 0; t < this.traitsGroups[tg].trait.length; t++) {\r\n // if (this.selectedTraitsGroups[stg].trait[st].id === this.traitsGroups[tg].trait[t].id) {\r\n // this.traitsGroups[tg].trait[t].checked = this.selectedTraitsGroups[stg].trait[st].checked;\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n\r\n private getFilterSuggestions() {\r\n this.apiService.getFilterSuggestions(this.interview).subscribe((data: FilterSuggestion) => {\r\n this.filterSuggestion = data;\r\n this.setTraitsFilterSuggestions();\r\n this.interviewCycle.selectedFilterTraitsGroups = new Array();\r\n this.interviewCycle.selectedFilterTraitsGroups.push(...this.traitsGroups);\r\n this.isTraitsLoaded = true;\r\n }, (error) => console.log(error));\r\n }\r\n\r\n private setTraitsFilterSuggestions() {\r\n this.filterSuggestion.filterSuggestionHasTrait.forEach((fs) => {\r\n this.traitsGroups.forEach((tg) => {\r\n tg.trait.forEach((t) => {\r\n if (t.id === fs.traitId) {\r\n // tslint:disable-next-line: radix\r\n t.filterTopDecaValue = parseInt(fs.value);\r\n t.filterTopDecaSignal = fs.signal;\r\n this.updateSignalFilters(t, 10, fs.signal);\r\n this.updateValueFilters(t, 10, fs.value);\r\n }\r\n });\r\n });\r\n // this.traitsGroups.forEach((tg) => {\r\n // tg.trait.forEach((t) => {\r\n // if (t.id === fs.traitId) {\r\n // // tslint:disable-next-line: radix\r\n // t.filterTopDecaValue = parseInt(fs.value);\r\n // t.filterTopDecaSignal = fs.signal;\r\n // }\r\n // });\r\n // });\r\n });\r\n }\r\n\r\n private getFeatureHighLighting() {\r\n if (this.interview.herdProblem\r\n && this.interview.herdProblem.length > 0) {\r\n this.apiService.getFilterFeatureHighLighting(this.interview).subscribe((data: FeatureHighLighting[]) => {\r\n this.featureHighLighting = data;\r\n this.setFeatureHighLighting();\r\n }, (error) => console.log(error));\r\n }\r\n }\r\n\r\n private setFeatureHighLighting() {\r\n this.featureHighLighting.forEach((f) => {\r\n this.traitsGroups.forEach((tg) => {\r\n tg.trait.forEach((t) => {\r\n if (f.traitId === t.id) {\r\n t.isHighlighting = true;\r\n }\r\n });\r\n });\r\n });\r\n }\r\n\r\n // tslint:disable-next-line: no-shadowed-variable\r\n private updateSignalFilters(trait: Trait, traitTypeId: number, signal: string) {\r\n traitTypeId = this.setTraitTypeToDeca(traitTypeId);\r\n\r\n const hasInterviewCycleFilters = this.interviewCycle.bullSelectionFilter\r\n && this.interviewCycle.bullSelectionFilter.length > 0;\r\n if (hasInterviewCycleFilters) {\r\n this.bullSelectionFilters = this.interviewCycle.bullSelectionFilter;\r\n }\r\n\r\n const hasSelectionFilters =\r\n this.bullSelectionFilters.some(f => f.traitId === trait.id && f.traitTypeId === traitTypeId);\r\n if (hasSelectionFilters) {\r\n this.bullSelectionFilters.find(f => f.traitId === trait.id && f.traitTypeId === traitTypeId).signal = signal;\r\n } else {\r\n const bullSelectionFilter = this.createBullSelectionFilter(traitTypeId, trait.id, trait.proofId);\r\n bullSelectionFilter.signal = signal;\r\n this.bullSelectionFilters.push(bullSelectionFilter);\r\n }\r\n\r\n this.setBullSelectionFilters();\r\n }\r\n\r\n private updateValueFilters(trait: Trait, traitTypeId: number, value: string) {\r\n traitTypeId = this.setTraitTypeToDeca(traitTypeId);\r\n\r\n const hasInterviewCycleFilters = this.interviewCycle.bullSelectionFilter\r\n && this.interviewCycle.bullSelectionFilter.length > 0;\r\n if (hasInterviewCycleFilters) {\r\n this.bullSelectionFilters = this.interviewCycle.bullSelectionFilter;\r\n }\r\n\r\n const hasSelectionFilters =\r\n this.bullSelectionFilters.some(f => f.traitId === trait.id && f.traitTypeId === traitTypeId);\r\n if (hasSelectionFilters) {\r\n this.bullSelectionFilters.find(f => f.traitId === trait.id && f.traitTypeId === traitTypeId).value = value;\r\n } else {\r\n const bullSelectionFilter = this.createBullSelectionFilter(traitTypeId, trait.id, trait.proofId);\r\n bullSelectionFilter.value = value;\r\n this.bullSelectionFilters.push(bullSelectionFilter);\r\n }\r\n\r\n this.setAccSignal(traitTypeId, trait.id);\r\n\r\n this.setBullSelectionFilters();\r\n }\r\n\r\n setAccSignal(traitTypeId: number, traitId: number) {\r\n if (traitTypeId === 6) {\r\n this.bullSelectionFilters.find(f => f.traitId === traitId && f.traitTypeId === traitTypeId).signal = '>=';\r\n }\r\n }\r\n\r\n setTraitTypeToDeca(traitTypeId: number): number{\r\n if (this.isDecaProof() && traitTypeId === 10) {\r\n return 2;\r\n }\r\n return traitTypeId;\r\n }\r\n\r\n private createBullSelectionFilter(traitTypeId: number, traitId: number, proofId: number): BullSelectionFilter {\r\n // tslint:disable-next-line: no-shadowed-variable\r\n const bullSelectionFilter: BullSelectionFilter = new BullSelectionFilter();\r\n bullSelectionFilter.traitTypeId = traitTypeId;\r\n bullSelectionFilter.traitId = traitId;\r\n bullSelectionFilter.proofId = proofId;\r\n\r\n return bullSelectionFilter;\r\n }\r\n\r\n public setBullSelectionFilters() {\r\n this.interviewCycle.bullSelectionFilter =\r\n this.bullSelectionFilters.filter(f => (f.value !== null && f.value !== '' && f.value !== undefined)\r\n || (f.signal !== null && f.signal !== '' && f.signal !== undefined));\r\n\r\n const hasFilter = this.interviewCycle.bullSelectionFilter.length > 0;\r\n\r\n if (hasFilter) {\r\n const hasInvalidFilter =\r\n this.interviewCycle.bullSelectionFilter.some(filter => filter.signal === null || filter.signal === undefined || filter.signal === '');\r\n if (hasInvalidFilter) {\r\n this.filterSignal.emit(false);\r\n } else {\r\n this.filterSignal.emit(true);\r\n }\r\n } else {\r\n this.filterSignal.emit(true);\r\n }\r\n }\r\n\r\n private isDecaProof(): boolean {\r\n const proofId = this.interviewCycle.proofId;\r\n return (proofId === this.ProofTypeEnum.ALIANCA ||\r\n proofId === this.ProofTypeEnum.SUMARIO_NATURA ||\r\n proofId === this.ProofTypeEnum.CONEXAO_DELTA_G ||\r\n proofId === this.ProofTypeEnum.PMGZ);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n {{ error }}\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n

Carregando nova entrevista...

\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n
\r\n
\r\n {{ error }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ errorIsValidReadyToIATFTotal }}\r\n {{ errorIsValidCalvingDistributionTotal }}\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {{ error }}\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ error }}\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ error }}\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ error }}\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { InterviewService } from './../_services/interview.service';\r\nimport { Component, OnInit, DoCheck, IterableDiffers, ViewChild, ElementRef } from '@angular/core';\r\nimport { Interview } from 'src/_models/interview';\r\nimport { ApiService } from '@app/_services/api.service';\r\nimport { User } from 'src/_models/user';\r\nimport { Suggestion } from 'src/_models/suggestion';\r\nimport { BreedProofSelectionComponent } from './breed-proof-selection/breed-proof-selection.component';\r\nimport { InterviewSuggestions } from '@app/_utils/interview-suggestions';\r\nimport { ReproductiveManagementComponent } from './reproductive-management/reproductive-management.component';\r\nimport { SelectResultPresentationComponent } from './select-result-presentation/select-result-presentation.component';\r\nimport { ProofTypeEnum } from 'src/_enums/proof-type-enum';\r\nimport { Router } from '@angular/router';\r\nimport { BreedEnum } from 'src/_enums/breed-enum';\r\n\r\n@Component({\r\n selector: 'app-interview',\r\n templateUrl: './interview.component.html',\r\n styleUrls: ['./interview.component.scss']\r\n})\r\nexport class InterviewComponent implements OnInit, DoCheck {\r\n\r\n @ViewChild(BreedProofSelectionComponent, { static: false }) private breedProofReference: BreedProofSelectionComponent;\r\n @ViewChild(ReproductiveManagementComponent, { static: false }) private reproductiveManagementReference: ReproductiveManagementComponent;\r\n @ViewChild(SelectResultPresentationComponent, { static: false }) private selectResultPresentationReference: SelectResultPresentationComponent;\r\n\r\n @ViewChild('errorAlert', { static: false }) errorAlert: ElementRef;\r\n\r\n // @ViewChild(BreedProofSelectionComponent) breedProofReference: any;\r\n // @ViewChild(ReproductiveManagementComponent) reproductiveManagementReference: any;\r\n // @ViewChild(SelectResultPresentationComponent) selectResultPresentationReference: any;\r\n\r\n // @ViewChild('errorAlert') errorAlert: ElementRef;\r\n\r\n private differ: any;\r\n\r\n public showInterviewForm = true;\r\n public showReproductiveManagementForm = false;\r\n public showWeightingForm = false;\r\n public showFilterForm = false;\r\n public showBullSelectionForm = false;\r\n public showDosesDistributionForm = false;\r\n public showSelectResultPresentationForm = false;\r\n\r\n public suggestions: Array;\r\n public interviewSuggestions: InterviewSuggestions;\r\n public interview: Interview;\r\n public bonusProgramSuggestions: Array;\r\n public primaryBreedSuggestion: Array;\r\n public secondaryBreedSuggestion: Array;\r\n public weightingValueTotal: string;\r\n public selectedBullsCount = 0;\r\n public bullsHasDoses = false;\r\n public bullsHasQuantityNecessaryDoses = false;\r\n public isValidReadyToIATFTotal = false;\r\n public isValidCalvingDistributionTotal = false;\r\n public user: User;\r\n ProofTypeEnum: typeof ProofTypeEnum = ProofTypeEnum;\r\n public error: string;\r\n public errorIsValidReadyToIATFTotal: string;\r\n public errorIsValidCalvingDistributionTotal: string;\r\n public success: string;\r\n public isValidFilterSignal = true;\r\n\r\n public isFastPlan = false;\r\n\r\n constructor(\r\n private apiService: ApiService,\r\n private interviewService: InterviewService,\r\n private differs: IterableDiffers,\r\n private router: Router) {\r\n this.differ = differs.find([]).create(null);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.interview = new Interview();\r\n\r\n this.interviewSuggestions = new InterviewSuggestions();\r\n this.bonusProgramSuggestions = new Array();\r\n\r\n this.apiService.GetUser().subscribe((u: User) => {\r\n this.user = u;\r\n // CONSULTA SUGESTOES DE RACAS PELO API SERVICE\r\n this.apiService.getBreedSuggestions().subscribe((s: Suggestion[]) => {\r\n this.suggestions = s;\r\n console.log(this.suggestions);\r\n setTimeout(() => {\r\n this.updatePrimaryBreedSuggestion();\r\n }, 1000);\r\n });\r\n }, (error) => console.error(error));\r\n\r\n // if (this.interviewService.interview !== null) {\r\n\r\n // this.interview = this.interviewService.interview;\r\n // this.interviewService.interview = null;\r\n\r\n // // console.log('entrevista');\r\n // // console.log(this.interview);\r\n // }\r\n }\r\n\r\n ngDoCheck() {\r\n const change = this.differ.diff(this.interview.bonusProgram);\r\n if (change) {\r\n this.bonusProgramSuggestions = new Array();\r\n this.interview.bonusProgram.forEach(program => {\r\n console.log(program.description);\r\n switch (program.id) {\r\n case 1: // 1\tAngus / Brangus\r\n this.bonusProgramSuggestions.push('Angus');\r\n if ((this.interview.herd.breed.id === 11) || (this.interview.herd.breed.id === 116)) {\r\n // 11 Brangus\r\n // 116 Cruza Sintética\r\n this.bonusProgramSuggestions.push('Brangus');\r\n }\r\n break;\r\n case 3: // 3\tBonsmara\r\n this.bonusProgramSuggestions.push('Bonsmara');\r\n break;\r\n case 4: // 4\tBritânicas\r\n this.bonusProgramSuggestions.push('Angus');\r\n this.bonusProgramSuggestions.push('Hereford');\r\n break;\r\n case 5: // 5\tCharolês Beef\r\n this.bonusProgramSuggestions.push('Charolês');\r\n break;\r\n case 7: // 7\tHereford / Braford\r\n this.bonusProgramSuggestions.push('Hereford');\r\n if ((this.interview.herd.breed.id === 11) || (this.interview.herd.breed.id === 116)) {\r\n // 11 Brangus\r\n // 116 Cruza Sintética\r\n this.bonusProgramSuggestions.push('Braford');\r\n }\r\n break;\r\n case 10: // 10\tWagyu\r\n this.bonusProgramSuggestions.push('Wagyu');\r\n break;\r\n }\r\n });\r\n this.updateBothBreedsSuggestion();\r\n }\r\n }\r\n\r\n get InterviewCycleLength () {\r\n return this.interview.interviewCycle.length;\r\n }\r\n\r\n private getUser() {\r\n this.apiService.GetUser().subscribe((user: User) => {\r\n this.interview.userId = user.id;\r\n setTimeout(() => {\r\n this.updateBothBreedsSuggestion();\r\n }, 1000);\r\n // console.log(this.interview.user);\r\n }, (error) => console.error(error));\r\n }\r\n\r\n public isFormReady() {\r\n return this.user.customer.map(c => c.farm.map(f => f.herd.map(h => h))).length;\r\n }\r\n\r\n public clearForm() {\r\n // LIMPAR TODOS OS MODELS\r\n }\r\n\r\n public openInterviewForm() {\r\n if (this.validateInterview()) {\r\n this.showInterviewForm = true;\r\n this.showReproductiveManagementForm = false;\r\n this.showWeightingForm = false;\r\n this.showFilterForm = false;\r\n this.showBullSelectionForm = false;\r\n this.showDosesDistributionForm = false;\r\n this.showSelectResultPresentationForm = false;\r\n }\r\n }\r\n\r\n public openReproductiveManagementForm() {\r\n if (this.validateInterview()) {\r\n this.success = ``;\r\n this.showInterviewForm = false;\r\n this.showReproductiveManagementForm = true;\r\n this.showWeightingForm = false;\r\n this.showFilterForm = false;\r\n this.showBullSelectionForm = false;\r\n this.showDosesDistributionForm = false;\r\n this.showSelectResultPresentationForm = false;\r\n this.interview.currentInterviewCycle = 0;\r\n }\r\n }\r\n\r\n\r\n public openWeightingForm() {\r\n if (this.validateInterview() &&\r\n (this.isFastPlan || (this.validateReadyToIATFTotal() && this.validateCalvingDistributionTotal()))) {\r\n if (this.reproductiveManagementReference) {\r\n this.interview.reproductiveManagement = this.reproductiveManagementReference.reproductiveManagement;\r\n }\r\n if (!this.isProofTypeAngusOrNelore()) {\r\n this.openBullSelectionForm();\r\n } else {\r\n this.showInterviewForm = false;\r\n this.showReproductiveManagementForm = false;\r\n this.showWeightingForm = true;\r\n this.showFilterForm = false;\r\n this.showBullSelectionForm = false;\r\n this.showDosesDistributionForm = false;\r\n this.showSelectResultPresentationForm = false;\r\n }\r\n // para voltar da tela de filtros para ponderação com o plano fast\r\n } else if (this.validateInterview() && this.isFastPlan) {\r\n this.showInterviewForm = false;\r\n this.showReproductiveManagementForm = false;\r\n this.showWeightingForm = true;\r\n this.showFilterForm = false;\r\n this.showBullSelectionForm = false;\r\n this.showDosesDistributionForm = false;\r\n this.showSelectResultPresentationForm = false;\r\n }\r\n }\r\n\r\n public openFilterForm() {\r\n if (this.validateInterview() &&\r\n this.validateWeightingValueTotal()) {\r\n if (this.isProofTypeAngusOrNelore()) {\r\n this.showInterviewForm = false;\r\n this.showReproductiveManagementForm = false;\r\n this.showWeightingForm = false;\r\n this.showFilterForm = true;\r\n this.showBullSelectionForm = false;\r\n this.showDosesDistributionForm = false;\r\n this.showSelectResultPresentationForm = false;\r\n } else {\r\n this.openReproductiveManagementForm();\r\n }\r\n }\r\n }\r\n\r\n public openBullSelectionForm() {\r\n if (this.validateInterview()\r\n && this.validateFilterSignal()) {\r\n this.showInterviewForm = false;\r\n this.showReproductiveManagementForm = false;\r\n this.showWeightingForm = false;\r\n this.showFilterForm = false;\r\n this.showBullSelectionForm = true;\r\n this.showDosesDistributionForm = false;\r\n this.showSelectResultPresentationForm = false;\r\n }\r\n }\r\n\r\n public openDosesDistributionForm() {\r\n if (this.validateInterview() &&\r\n this.validateSelectedBullsCount()) {\r\n this.showInterviewForm = false;\r\n this.showReproductiveManagementForm = false;\r\n this.showWeightingForm = false;\r\n this.showFilterForm = false;\r\n this.showBullSelectionForm = false;\r\n this.showDosesDistributionForm = true;\r\n this.showSelectResultPresentationForm = false;\r\n }\r\n }\r\n\r\n public openSelectResultPresentationForm() {\r\n if (this.validateInterview() &&\r\n this.validateBullsHasDoses() &&\r\n this.validateBullsHasQuantityNecessaryDoses()) {\r\n this.showInterviewForm = false;\r\n this.showReproductiveManagementForm = false;\r\n this.showWeightingForm = false;\r\n this.showFilterForm = false;\r\n this.showBullSelectionForm = false;\r\n this.showDosesDistributionForm = false;\r\n this.showSelectResultPresentationForm = true;\r\n }\r\n }\r\n\r\n public continueInterview() {\r\n this.selectResultPresentationReference.chart.exportImage().then((dataURI) => {\r\n this.interview.interviewCycle[this.interview.currentInterviewCycle].chart = dataURI;\r\n if (this.incrementInterviewCycle()) {\r\n if (this.isProofTypeAngusOrNelore()) {\r\n this.openWeightingForm();\r\n } else {\r\n this.openBullSelectionForm();\r\n }\r\n }\r\n });\r\n }\r\n\r\n public finishInterview() {\r\n this.selectResultPresentationReference.chart.exportImage().then((dataURI) => {\r\n this.interview.interviewCycle[this.interview.currentInterviewCycle].chart = dataURI;\r\n if (!this.incrementInterviewCycle()) {\r\n this.saveInterview();\r\n this.clearForm();\r\n }\r\n });\r\n }\r\n\r\n public validateInterview() {\r\n if (!this.validateInterviewHerd()) {\r\n return false;\r\n }\r\n if (!this.validateInterviewCycle()) {\r\n return false;\r\n }\r\n if (!this.validateInterviewBreedOptions()) {\r\n return false;\r\n }\r\n if (!this.validateInterviewBreedProof()) {\r\n return false;\r\n }\r\n if (!this.validateInterviewBreedGoals()) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public baseBreedChange() {\r\n this.updateBothBreedsSuggestion();\r\n }\r\n\r\n public updateBothBreedsSuggestion() {\r\n this.updatePrimaryBreedSuggestion();\r\n this.updateSecondaryBreedSuggestion();\r\n }\r\n\r\n public updatePrimaryBreedSuggestion() {\r\n\r\n this.primaryBreedSuggestion = new Array();\r\n this.checkBreedSuggestions(this.primaryBreedSuggestion, 0);\r\n\r\n this.primaryBreedSuggestion = [...new Set([...this.primaryBreedSuggestion, ...this.bonusProgramSuggestions])];\r\n\r\n if (this.breedProofReference) {\r\n this.breedProofReference.primaryBreedSuggestion = this.primaryBreedSuggestion;\r\n }\r\n }\r\n\r\n public updateSecondaryBreedSuggestion() {\r\n\r\n this.secondaryBreedSuggestion = [];\r\n this.checkBreedSuggestions(this.secondaryBreedSuggestion, 1);\r\n\r\n this.secondaryBreedSuggestion = [...new Set([...this.secondaryBreedSuggestion, ...this.bonusProgramSuggestions])];\r\n\r\n if (this.breedProofReference) {\r\n this.breedProofReference.secondaryBreedSuggestion = this.secondaryBreedSuggestion;\r\n }\r\n }\r\n\r\n private checkBreedSuggestions(suggestionsArr: Array, breedGoalIndex: number) {\r\n // console.log('breedGoalIndex: ', breedGoalIndex);\r\n if (this.suggestions && this.interview.herd.breedId) {\r\n const tmpArr = new Array();\r\n // base breed option\r\n if (this.interview.breedOptions === 1) {\r\n // check if is crossed base breed\r\n if (this.isCrossedBaseBreed()) {\r\n this.suggestCrossedBreeds(suggestionsArr);\r\n } else {\r\n this.suggestOtherBreeds(tmpArr, suggestionsArr, breedGoalIndex);\r\n }\r\n } else {\r\n // suggest only base breeds\r\n this.suggestOnlyBaseBreed(suggestionsArr);\r\n // for primary breed\r\n if (breedGoalIndex === 0) {\r\n // check if is crossed base breed\r\n if (this.isCrossedBaseBreed()) {\r\n this.suggestCrossedBreeds(suggestionsArr);\r\n } else {\r\n this.suggestOtherBreeds(tmpArr, suggestionsArr, breedGoalIndex);\r\n }\r\n } else { // for second breed\r\n this.suggestOtherBreeds(tmpArr, suggestionsArr, breedGoalIndex);\r\n }\r\n }\r\n // console.log('tmpArr: ', tmpArr);dex));\r\n console.log('result : ', suggestionsArr.join(', '));\r\n }\r\n }\r\n\r\n private suggestOnlyBaseBreed(suggestionsArr: Array) {\r\n // breeds suggestion for crossed animals - Cruza Zebu | Cruza Angus | Cruza Hereford | Cruza Sintética\r\n let baseBreed: string;\r\n if (this.interview.herd.breedId === BreedEnum.BONSMARA) {\r\n baseBreed = this.interview.herd.breed.name;\r\n }\r\n if (this.interview.herd.breedId === BreedEnum.BRAUNVIEH) {\r\n baseBreed = this.interview.herd.breed.name;\r\n }\r\n if (this.interview.herd.breedId === BreedEnum.CANCHIM) {\r\n baseBreed = this.interview.herd.breed.name;\r\n }\r\n if (this.interview.herd.breedId === BreedEnum.CARACU) {\r\n baseBreed = this.interview.herd.breed.name;\r\n }\r\n if (this.interview.herd.breedId === BreedEnum.CARACU_MOCHO) {\r\n baseBreed = this.interview.herd.breed.name;\r\n }\r\n if (this.interview.herd.breedId === BreedEnum.CHAROLES) {\r\n baseBreed = this.interview.herd.breed.name;\r\n }\r\n if (this.interview.herd.breedId === BreedEnum.CHAROLES_MOCHO) {\r\n baseBreed = this.interview.herd.breed.name;\r\n }\r\n if (this.interview.herd.breedId === BreedEnum.LIMOUSIN) {\r\n baseBreed = this.interview.herd.breed.name;\r\n }\r\n if (this.interview.herd.breedId === BreedEnum.MARCHIGIANA) {\r\n baseBreed = this.interview.herd.breed.name;\r\n }\r\n if (this.interview.herd.breedId === BreedEnum.PIEMONTES) {\r\n baseBreed = this.interview.herd.breed.name;\r\n }\r\n if (this.interview.herd.breedId === BreedEnum.SENEPOL) {\r\n baseBreed = this.interview.herd.breed.name;\r\n }\r\n if (this.interview.herd.breedId === BreedEnum.SIMBRASIL) {\r\n baseBreed = this.interview.herd.breed.name;\r\n }\r\n if (this.interview.herd.breedId === BreedEnum.SIMENTAL) {\r\n baseBreed = this.interview.herd.breed.name;\r\n }\r\n if (this.interview.herd.breedId === BreedEnum.SIMENTAL_MOCHO) {\r\n baseBreed = this.interview.herd.breed.name;\r\n }\r\n if (this.interview.herd.breedId === BreedEnum.SIMENTAL_LEITEIRO) {\r\n baseBreed = this.interview.herd.breed.name;\r\n }\r\n if (this.interview.herd.breedId === BreedEnum.WAGYU) {\r\n baseBreed = this.interview.herd.breed.name;\r\n }\r\n if (baseBreed !== null && baseBreed !== undefined) {\r\n suggestionsArr.push(baseBreed);\r\n }\r\n }\r\n\r\n private suggestCrossedBreeds(suggestionsArr: Array) {\r\n // breeds suggestion for crossed animals - Cruza Zebu | Cruza Angus | Cruza Hereford | Cruza Sintética\r\n let suggestion: Suggestion;\r\n if (this.interview.herd.breedId === BreedEnum.ZEBU_MESTICA) {\r\n suggestion = this.suggestions.find(s => s.id === 14);\r\n }\r\n if (this.interview.herd.breedId === BreedEnum.CRUZA_ANGUS) {\r\n suggestion = this.suggestions.find(s => s.id === 15);\r\n }\r\n if (this.interview.herd.breedId === BreedEnum.CRUZA_HEREFORD) {\r\n suggestion = this.suggestions.find(s => s.id === 16);\r\n }\r\n if (this.interview.herd.breedId === BreedEnum.CRUZA_SINTETICA) {\r\n suggestion = this.suggestions.find(s => s.id === 17);\r\n }\r\n if (suggestion !== null && suggestion !== undefined) {\r\n suggestionsArr.push(...suggestion.suggestedBreeds.map(s => s.name));\r\n }\r\n }\r\n\r\n private suggestOtherBreeds(tmpArr: Array, suggestionsArr: Array, breedGoalIndex: number) {\r\n this.suggestions.forEach(s => {\r\n for (let x = 0; x < s.baseBreeds.length; x++) {\r\n if (s.baseBreeds[x].id === this.interview.herd.breed.id) {\r\n // console.log('s.baseBreeds[x]: ', s.baseBreeds[x]);\r\n tmpArr.push(s);\r\n break;\r\n }\r\n }\r\n });\r\n suggestionsArr.push(...this.interviewSuggestions.validateSuggestions(tmpArr, this.interview, breedGoalIndex));\r\n }\r\n\r\n public isCrossedBaseBreed(): boolean {\r\n return (this.interview.herd.breedId === BreedEnum.ZEBU_MESTICA\r\n || this.interview.herd.breedId === BreedEnum.CRUZA_ANGUS\r\n || this.interview.herd.breedId === BreedEnum.CRUZA_HEREFORD\r\n || this.interview.herd.breedId === BreedEnum.CRUZA_SINTETICA);\r\n }\r\n\r\n private incrementInterviewCycle() {\r\n if (this.interview.currentInterviewCycle < this.interview.interviewCycle.length - 1) {\r\n this.interview.currentInterviewCycle++;\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n updateIsValidCalvingDistributionTotal($event: boolean) {\r\n this.isValidCalvingDistributionTotal = $event;\r\n }\r\n\r\n updateIsValidReadyToIATFTotal($event: boolean) {\r\n this.isValidReadyToIATFTotal = $event;\r\n }\r\n\r\n updateWeightingValueTotal($event: string) {\r\n this.weightingValueTotal = $event;\r\n }\r\n\r\n updateSelectedBullsCount($event: number) {\r\n this.selectedBullsCount = $event;\r\n }\r\n\r\n updateBullsHasDoses($event: boolean) {\r\n this.bullsHasDoses = $event;\r\n }\r\n\r\n updateBullsHasQuantityNecessaryDoses($event: boolean) {\r\n this.bullsHasQuantityNecessaryDoses = $event;\r\n }\r\n\r\n updateFitlerSignal($event: boolean) {\r\n this.isValidFilterSignal = $event;\r\n }\r\n\r\n private validateInterviewBreedGoals(): boolean {\r\n if (this.interview.interviewBreedGoal && this.interview.interviewBreedGoal.length > 0) {\r\n if (this.interview.interviewBreedGoal[0].sellingGoalsMale === 0 ||\r\n this.interview.interviewBreedGoal[0].sellingGoalsFemale === 0) {\r\n this.error = `Informe os focos da raça primária`;\r\n return false;\r\n }\r\n if (this.interview.interviewBreedGoal.length > 1 && this.interview.breedOptions === 2) {\r\n if (this.interview.interviewBreedGoal[1].sellingGoalsMale === 0 ||\r\n this.interview.interviewBreedGoal[1].sellingGoalsFemale === 0) {\r\n this.error = `Informe os focos da raça secundária`;\r\n return false;\r\n }\r\n }\r\n this.error = ``;\r\n return true;\r\n }\r\n }\r\n\r\n private validateInterviewBreedOptions(): boolean {\r\n if (this.interview.breedOptions === 2) {\r\n if (this.interview.breedOptionsMatting === 0) {\r\n this.error = `Informe o objetivo do cruzamento`;\r\n return false;\r\n }\r\n this.error = ``;\r\n return true;\r\n }\r\n this.error = ``;\r\n return true;\r\n }\r\n\r\n private validateInterviewCycle(): boolean {\r\n if (this.interview.interviewCycle === undefined ||\r\n !this.interview.interviewCycle ||\r\n this.interview.interviewCycle.length === 0) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n private validateReadyToIATFTotal(): boolean {\r\n if (this.isValidReadyToIATFTotal === undefined || !this.isValidReadyToIATFTotal) {\r\n this.errorIsValidReadyToIATFTotal = `A estações de monta do item 3 devem resultar em 100%`;\r\n return false;\r\n }\r\n this.errorIsValidReadyToIATFTotal = ``;\r\n return true;\r\n }\r\n\r\n private validateCalvingDistributionTotal(): boolean {\r\n if (this.isValidCalvingDistributionTotal === undefined || !this.isValidCalvingDistributionTotal) {\r\n this.errorIsValidCalvingDistributionTotal = `A distribuição da parição de matrizes do item 4 devem resultar em 100%`;\r\n return false;\r\n }\r\n this.errorIsValidCalvingDistributionTotal = ``;\r\n return true;\r\n }\r\n\r\n private validateWeightingValueTotal(): boolean {\r\n if (this.isProofTypeAngusOrNelore()) {\r\n // tslint:disable-next-line: radix\r\n if (this.weightingValueTotal === undefined || parseInt(this.weightingValueTotal) !== 100) {\r\n this.error = `O valor total das ponderações devem somar 100%`;\r\n return false;\r\n }\r\n this.error = ``;\r\n return true;\r\n }\r\n return true;\r\n }\r\n\r\n private validateSelectedBullsCount(): boolean {\r\n if (this.selectedBullsCount === undefined || this.selectedBullsCount <= 0) {\r\n this.error = `Selecione ao menos um touro para continuar`;\r\n return false;\r\n }\r\n this.error = ``;\r\n return true;\r\n }\r\n\r\n private validateBullsHasDoses(): boolean {\r\n if (this.bullsHasDoses === undefined || !this.bullsHasDoses) {\r\n this.error = `Existem touros com a quantidade de doses zeradas`;\r\n return false;\r\n }\r\n this.error = ``;\r\n return true;\r\n }\r\n\r\n private validateFilterSignal(): boolean {\r\n if (!this.isValidFilterSignal || this.isValidFilterSignal === undefined) {\r\n this.error = `Existem valores de filtros informados sem o sinal '>=' ou '<='`;\r\n return false;\r\n }\r\n this.error = ``;\r\n return true;\r\n }\r\n\r\n private validateBullsHasQuantityNecessaryDoses(): boolean {\r\n if (this.bullsHasQuantityNecessaryDoses === undefined || !this.bullsHasQuantityNecessaryDoses) {\r\n // const dialogTitle = `Quantidade necessária de doses`;\r\n // const dialogContent = `O total de doses lançadas é menor que o necessário.\r\n // Deseja continuar mesmo assim ?`;\r\n // this.dialogConfirmService.Confirm(dialogTitle, dialogContent)\r\n // .subscribe((result) => {\r\n // if (!(result instanceof DialogCloseResult)) {\r\n // const action = result.text;\r\n // if (action === `Sim`) {\r\n // return true;\r\n // }\r\n // return false;\r\n // }\r\n // });\r\n if (confirm(`O total de doses lançadas é menor que o necessário. Deseja continuar mesmo assim ?`)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n private validateInterviewHerd(): boolean {\r\n if (!this.interview.herd || this.interview.herd.id === 0 || this.interview.herd.id === undefined) {\r\n this.error = `Informe o rebanho da entrevista`;\r\n return false;\r\n }\r\n this.error = ``;\r\n return true;\r\n }\r\n\r\n private validateInterviewBreedProof(): boolean {\r\n if (this.interview.breedOptions === 2) {\r\n if (!(this.interview.interviewCycle.length === 2)) {\r\n this.error = `Informe a(s) prova(s) da raça primária/secundária da entrevista`;\r\n return false;\r\n }\r\n }\r\n this.error = ``;\r\n return true;\r\n }\r\n\r\n private saveInterview() {\r\n this.interview.userId = this.user.id;\r\n this.interview.herdId = this.interview.herd.id;\r\n\r\n console.log(this.interview.reproductiveManagement);\r\n\r\n this.apiService\r\n .saveInterview(this.interview)\r\n .subscribe((data: Interview) => {\r\n this.router.navigate(['/historico'], { queryParams: { interviewSavedSuccess: true } });\r\n window.scroll(0, 0);\r\n }, (error) => this.error = JSON.stringify(error.error.errors));\r\n }\r\n\r\n public isProofTypeAngusOrNelore(): boolean {\r\n const proofId = this.interview.interviewCycle[this.interview.currentInterviewCycle].proofId;\r\n const breedId = this.interview.interviewCycle[this.interview.currentInterviewCycle].breedId;\r\n if (breedId === BreedEnum.NELORE\r\n || breedId === BreedEnum.ANGUS\r\n || breedId === BreedEnum.NELORE_MOCHO) {\r\n return (proofId === this.ProofTypeEnum.AAA ||\r\n proofId === this.ProofTypeEnum.ERA ||\r\n proofId === this.ProofTypeEnum.PROMEBO ||\r\n proofId === this.ProofTypeEnum.ALIANCA ||\r\n proofId === this.ProofTypeEnum.ANCP ||\r\n proofId === this.ProofTypeEnum.GENEPLUS ||\r\n proofId === this.ProofTypeEnum.PMGZ ||\r\n proofId === this.ProofTypeEnum.QUALITAS);\r\n }\r\n return false;\r\n }\r\n\r\n errorCloseAlert() {\r\n this.errorAlert.nativeElement.classList.remove('show');\r\n }\r\n\r\n setFastPlan(isFastPlan: boolean) {\r\n this.isFastPlan = isFastPlan;\r\n this.interview.isFastPlan = isFastPlan;\r\n }\r\n}\r\n\r\n","
\r\n

Programas de bonificação

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Interview } from 'src/_models/interview';\r\nimport { BonusProgramm } from 'src/_models/bonus-program';\r\n\r\n@Component({\r\n selector: 'app-modal-bonus-program',\r\n templateUrl: './modal-bonus-program.component.html',\r\n styleUrls: ['./modal-bonus-program.component.scss']\r\n})\r\nexport class ModalBonusProgramComponent implements OnInit {\r\n\r\n @Input() public bonus: Array;\r\n\r\n public listBonusPrograms: Array;\r\n\r\n constructor(public activeModal: NgbActiveModal) { }\r\n\r\n ngOnInit() {\r\n this.listBonusPrograms = > BonusProgramm.getPrograms();\r\n this.bonus.map(b => {\r\n console.log(b);\r\n // tslint:disable-next-line:triple-equals\r\n this.listBonusPrograms.find(p => p.id == b.id).checked = true;\r\n });\r\n }\r\n\r\n public addPrograms() {\r\n this.activeModal.close(this.listBonusPrograms.filter(b => b.checked));\r\n }\r\n\r\n public cancel() {\r\n this.activeModal.close(this.bonus);\r\n }\r\n\r\n}\r\n","
\r\n

Pricipais problemas observados no rebanho

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { HerdProblem } from 'src/_models/herd-problem';\r\nimport { BonusProgramm } from 'src/_models/bonus-program';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-modal-herd-problem',\r\n templateUrl: './modal-herd-problem.component.html',\r\n styleUrls: ['./modal-herd-problem.component.scss']\r\n})\r\nexport class ModalHerdProblemComponent implements OnInit {\r\n\r\n @Input() public list: Array;\r\n\r\n public listHerdProblems: Array;\r\n\r\n constructor(public activeModal: NgbActiveModal) { }\r\n\r\n ngOnInit() {\r\n this.listHerdProblems = > HerdProblem.getProblems();\r\n this.list.map(b => {\r\n console.log(b);\r\n // tslint:disable-next-line:triple-equals\r\n this.listHerdProblems.find(p => p.id == b.id).checked = true;\r\n });\r\n }\r\n\r\n public addProblems() {\r\n this.activeModal.close(this.listHerdProblems.filter(b => b.checked));\r\n }\r\n\r\n public cancel() {\r\n this.activeModal.close(this.list);\r\n }\r\n\r\n}\r\n","
\r\n

Selecionar Características

\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { TraitGroup } from 'src/_models/trait-group';\r\n\r\n@Component({\r\n selector: 'app-modal-traits',\r\n templateUrl: './modal-traits.component.html',\r\n styleUrls: ['./modal-traits.component.scss']\r\n})\r\nexport class ModalTraitsComponent implements OnInit {\r\n\r\n @Input() public traitsGroups: Array;\r\n\r\n public selectedTraitsGroups: Array;\r\n\r\n constructor(public activeModal: NgbActiveModal) { }\r\n\r\n ngOnInit() {\r\n this.selectedTraitsGroups = new Array();\r\n this.copyTraitsGroups();\r\n }\r\n\r\n private copyTraitsGroups() {\r\n for (let tg = 0; tg < this.traitsGroups.length; tg++) {\r\n this.selectedTraitsGroups[tg] = Object.assign({}, this.traitsGroups[tg]);\r\n for (let t = 0; t < this.traitsGroups[tg].trait.length; t++) {\r\n this.selectedTraitsGroups[tg].trait[t] = Object.assign({}, this.traitsGroups[tg].trait[t]);\r\n }\r\n }\r\n }\r\n\r\n public addTraits() {\r\n this.addSelectedTraits();\r\n this.activeModal.close(this.selectedTraitsGroups);\r\n }\r\n\r\n public cancel() {\r\n this.addSelectedTraits();\r\n this.activeModal.close(this.selectedTraitsGroups);\r\n }\r\n\r\n private addSelectedTraits() {\r\n // sets only checked traits for each group\r\n for (let tg = 0; tg < this.selectedTraitsGroups.length; tg++) {\r\n this.selectedTraitsGroups[tg].trait = this.selectedTraitsGroups[tg].trait.filter(t => t.checked === true);\r\n if (this.selectedTraitsGroups[tg].trait.length > 0) {\r\n this.selectedTraitsGroups[tg].checked = true;\r\n }\r\n }\r\n // retuns only groups that have some trait\r\n this.selectedTraitsGroups = this.selectedTraitsGroups.filter(tg => tg.trait.length > 0);\r\n }\r\n\r\n public selectAllTraits(traitGroupId: number, checked: any) {\r\n this.selectedTraitsGroups\r\n .find(tg => tg.id === traitGroupId)\r\n .trait\r\n .forEach(t => t.checked = checked);\r\n }\r\n\r\n public selectTrait(traitGroupId: number, traitId: number, checked: any) {\r\n const selectedTraitGroup = this.selectedTraitsGroups.find(tg => tg.id === traitGroupId);\r\n const traitGroup = this.traitsGroups.find(tg => tg.id === traitGroupId);\r\n if (checked) {\r\n traitGroup.trait.find(t => t.id === traitId).checked = checked;\r\n const allTraitsSelected = traitGroup.trait.filter(t => t.checked === checked).length;\r\n if (allTraitsSelected === traitGroup.trait.length) {\r\n traitGroup.checked = checked;\r\n }\r\n } else {\r\n selectedTraitGroup.checked = checked;\r\n traitGroup.checked = checked;\r\n }\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n %\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n %\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n %\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n %\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ReproductiveManagement } from 'src/_models/reproductive-management';\r\nimport { ReproductiveManagementService } from '@app/_services/reproductive-management.service';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: '[app-average-pregnancy-rate]',\r\n templateUrl: './average-pregnancy-rate.component.html',\r\n styleUrls: ['./average-pregnancy-rate.component.scss']\r\n})\r\nexport class AveragePregnancyRateComponent implements OnInit {\r\n\r\n @Input() reproductiveManagement: ReproductiveManagement;\r\n\r\n constructor(public reproductiveManagementService: ReproductiveManagementService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n get pregnancyRateHeifers () {\r\n this.reproductiveManagement.averagePregnancyRateHeifers =\r\n (this.reproductiveManagementService.pregnancyIatfDistributionPerSeasonHeifersTotal / this.reproductiveManagement.nbrOfHeifersToInseminate) * 100 || 0;\r\n return this.reproductiveManagement.averagePregnancyRateHeifers.toFixed(2);\r\n }\r\n\r\n get pregnancyRateCows () {\r\n this.reproductiveManagement.averagePregnancyRateCows =\r\n (this.reproductiveManagementService.pregnancyIatfDistributionPerSeasonCowsTotal / this.reproductiveManagement.nbrOfCowsToInseminate) * 100 || 0;\r\n return this.reproductiveManagement.averagePregnancyRateCows.toFixed(2);\r\n }\r\n\r\n get averagePregnancyRate () {\r\n this.reproductiveManagement.averagePregnancyRateAverage =\r\n (this.reproductiveManagementService.pregnancyIatfDistributionPerSeasonTotal / this.reproductiveManagementService.iatfDistributionPerSeasonTotalTotal) * 100 || 0;\r\n return this.reproductiveManagement.averagePregnancyRateAverage.toFixed(2);\r\n }\r\n\r\n get pregnancyRateTotal () {\r\n const totalToInseminate = Number(this.reproductiveManagement.nbrOfHeifersToInseminate || 0) + Number(this.reproductiveManagement.nbrOfCowsToInseminate || 0);\r\n this.reproductiveManagement.averagePregnancyRateTotal =\r\n (this.reproductiveManagementService.pregnancyIatfDistributionPerSeasonTotal / totalToInseminate) * 100 || 0;\r\n return this.reproductiveManagement.averagePregnancyRateTotal.toFixed(2);\r\n }\r\n\r\n}\r\n","

9 - Distribuição por raça

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Total de doses por raça

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ReproductiveManagement } from 'src/_models/reproductive-management';\r\nimport { InterviewCycle } from 'src/_models/interview-cycle';\r\nimport { DosesDistributionByBreed } from 'src/_models/doses-distribution-by-breed';\r\nimport { ReproductiveManagementService } from '@app/_services/reproductive-management.service';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: '[app-breed-distribution]',\r\n templateUrl: './breed-distribution.component.html',\r\n styleUrls: ['./breed-distribution.component.scss']\r\n})\r\nexport class BreedDistributionComponent implements OnInit {\r\n\r\n @Input() reproductiveManagement: ReproductiveManagement;\r\n @Input() interviewCycle: InterviewCycle[];\r\n @Input() dosesDistributionByBreed: DosesDistributionByBreed;\r\n\r\n constructor(public reproductiveManagementService: ReproductiveManagementService) { }\r\n\r\n ngOnInit() {\r\n this.reproductiveManagementService.heifersBeginningBreed1Percent = 100;\r\n this.reproductiveManagementService.heifersMiddleBreed1Percent = 100;\r\n this.reproductiveManagementService.heifersEndBreed1Percent = 100;\r\n this.reproductiveManagementService.cowsBeginningBreed1Percent = 100;\r\n this.reproductiveManagementService.cowsMiddleBreed1Percent = 100;\r\n this.reproductiveManagementService.cowsEndBreed1Percent = 100;\r\n\r\n this.reproductiveManagementService.heifersBeginningBreed2Percent = 0;\r\n this.reproductiveManagementService.heifersMiddleBreed2Percent = 0;\r\n this.reproductiveManagementService.heifersEndBreed2Percent = 0;\r\n this.reproductiveManagementService.cowsBeginningBreed2Percent = 0;\r\n this.reproductiveManagementService.cowsMiddleBreed2Percent = 0;\r\n this.reproductiveManagementService.cowsEndBreed2Percent = 0;\r\n\r\n this.dosesDistributionByBreed = this.reproductiveManagementService.dosesDistributionByBreed = new DosesDistributionByBreed();\r\n }\r\n\r\n get breed1() { return this.interviewCycle[0].breedName; }\r\n get breed2() { return this.interviewCycle[1].breedName; }\r\n\r\n get breedDistributionHeifersEM1Breed1 () {\r\n this.reproductiveManagement.breedDistributionHeifersBeginningBreed1 = this.reproductiveManagementService.breedDistributionHeifersEM1Breed1;\r\n return this.reproductiveManagement.breedDistributionHeifersBeginningBreed1;\r\n }\r\n get breedDistributionHeifersEM2Breed1 () {\r\n this.reproductiveManagement.breedDistributionHeifersMiddleBreed1 = this.reproductiveManagementService.breedDistributionHeifersEM2Breed1;\r\n return this.reproductiveManagement.breedDistributionHeifersMiddleBreed1;\r\n }\r\n get breedDistributionHeifersEM3Breed1 () {\r\n this.reproductiveManagement.breedDistributionHeifersEndBreed1 = this.reproductiveManagementService.breedDistributionHeifersEM3Breed1;\r\n return this.reproductiveManagement.breedDistributionHeifersEndBreed1;\r\n }\r\n get breedDistributionCowsEM1Breed1 () {\r\n this.reproductiveManagement.breedDistributionCowsBeginningBreed1 = this.reproductiveManagementService.breedDistributionCowsEM1Breed1;\r\n return this.reproductiveManagement.breedDistributionCowsBeginningBreed1;\r\n }\r\n get breedDistributionCowsEM2Breed1 () {\r\n this.reproductiveManagement.breedDistributionCowsMiddleBreed1 = this.reproductiveManagementService.breedDistributionCowsEM2Breed1;\r\n return this.reproductiveManagement.breedDistributionCowsMiddleBreed1;\r\n }\r\n get breedDistributionCowsEM3Breed1 () {\r\n this.reproductiveManagement.breedDistributionCowsEndBreed1 = this.reproductiveManagementService.breedDistributionCowsEM3Breed1;\r\n return this.reproductiveManagement.breedDistributionCowsEndBreed1;\r\n }\r\n\r\n get breedDistributionHeifersEM1Breed2 () {\r\n this.reproductiveManagement.breedDistributionHeifersBeginningBreed2 = this.reproductiveManagementService.breedDistributionHeifersEM1Breed2;\r\n return this.reproductiveManagement.breedDistributionHeifersBeginningBreed2;\r\n }\r\n get breedDistributionHeifersEM2Breed2 () {\r\n this.reproductiveManagement.breedDistributionHeifersMiddleBreed2 = this.reproductiveManagementService.breedDistributionHeifersEM2Breed2;\r\n return this.reproductiveManagement.breedDistributionHeifersMiddleBreed2;\r\n }\r\n get breedDistributionHeifersEM3Breed2 () {\r\n this.reproductiveManagement.breedDistributionHeifersEndBreed2 = this.reproductiveManagementService.breedDistributionHeifersEM3Breed2;\r\n return this.reproductiveManagement.breedDistributionHeifersEndBreed2;\r\n }\r\n get breedDistributionCowsEM1Breed2 () {\r\n this.reproductiveManagement.breedDistributionCowsBeginningBreed2 = this.reproductiveManagementService.breedDistributionCowsEM1Breed2;\r\n return this.reproductiveManagement.breedDistributionCowsBeginningBreed2;\r\n }\r\n get breedDistributionCowsEM2Breed2 () {\r\n this.reproductiveManagement.breedDistributionCowsMiddleBreed2 = this.reproductiveManagementService.breedDistributionCowsEM2Breed2;\r\n return this.reproductiveManagement.breedDistributionCowsMiddleBreed2;\r\n }\r\n get breedDistributionCowsEM3Breed2 () {\r\n this.reproductiveManagement.breedDistributionCowsEndBreed2 = this.reproductiveManagementService.breedDistributionCowsEM3Breed2;\r\n return this.reproductiveManagement.breedDistributionCowsEndBreed2;\r\n }\r\n\r\n get breedDistributionTotalEM1Breed1 () {\r\n this.reproductiveManagement.breedDistributionTotalBeginningBreed1 = this.reproductiveManagementService.breedDistributionTotalEM1Breed1;\r\n return this.reproductiveManagement.breedDistributionTotalBeginningBreed1;\r\n }\r\n get breedDistributionTotalEM1Breed2 () {\r\n this.reproductiveManagement.breedDistributionTotalBeginningBreed2 = this.reproductiveManagementService.breedDistributionTotalEM1Breed2;\r\n return this.reproductiveManagement.breedDistributionTotalBeginningBreed2;\r\n }\r\n get breedDistributionTotalEM2Breed1 () {\r\n this.reproductiveManagement.breedDistributionTotalMiddleBreed1 = this.reproductiveManagementService.breedDistributionTotalEM2Breed1;\r\n return this.reproductiveManagement.breedDistributionTotalMiddleBreed1;\r\n }\r\n get breedDistributionTotalEM2Breed2 () {\r\n this.reproductiveManagement.breedDistributionTotalMiddleBreed2 = this.reproductiveManagementService.breedDistributionTotalEM2Breed2;\r\n return this.reproductiveManagement.breedDistributionTotalMiddleBreed2;\r\n }\r\n get breedDistributionTotalEM3Breed1 () {\r\n this.reproductiveManagement.breedDistributionTotalEndBreed1 = this.reproductiveManagementService.breedDistributionTotalEM3Breed1;\r\n return this.reproductiveManagement.breedDistributionTotalEndBreed1;\r\n }\r\n get breedDistributionTotalEM3Breed2 () {\r\n this.reproductiveManagement.breedDistributionTotalEndBreed2 = this.reproductiveManagementService.breedDistributionTotalEM3Breed2;\r\n return this.reproductiveManagement.breedDistributionTotalEndBreed2;\r\n }\r\n\r\n get breedDistributionTotalBreed1 () {\r\n this.reproductiveManagement.totalDosesByBreedBreed1 = this.reproductiveManagementService.breedDistributionTotalBreed1;\r\n return this.reproductiveManagement.totalDosesByBreedBreed1;\r\n }\r\n get breedDistributionTotalBreed2 () {\r\n this.reproductiveManagement.totalDosesByBreedBreed2 = this.reproductiveManagementService.breedDistributionTotalBreed2;\r\n return this.reproductiveManagement.totalDosesByBreedBreed2;\r\n }\r\n\r\n}\r\n","

4 - Distribuição da parição das matrizes

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n %\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n %\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n %\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n %\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { ReproductiveManagement } from 'src/_models/reproductive-management';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: '[app-calving-distribution]',\r\n templateUrl: './calving-distribution.component.html',\r\n styleUrls: ['./calving-distribution.component.scss']\r\n})\r\nexport class CalvingDistributionComponent implements OnInit {\r\n\r\n @Input() reproductiveManagement: ReproductiveManagement;\r\n @Output() isValidCalvingDistributionTotal = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n get calvingDistributionTotal() {\r\n const beginning = Number(this.reproductiveManagement.calvingDistributionBeginning || 0);\r\n const middle = Number(this.reproductiveManagement.calvingDistributionMiddle || 0);\r\n const end = Number(this.reproductiveManagement.calvingDistributionEnd || 0);\r\n\r\n if ((beginning + middle + end) != 100) {\r\n this.isValidCalvingDistributionTotal.emit(false);\r\n } else {\r\n this.isValidCalvingDistributionTotal.emit(true);\r\n }\r\n\r\n return beginning + middle + end;\r\n }\r\n\r\n}\r\n","

7 - Distribuição das IATF's por época

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ReproductiveManagement } from 'src/_models/reproductive-management';\r\nimport { ReproductiveManagementService } from '@app/_services/reproductive-management.service';\r\nimport { InterviewCycle } from 'src/_models/interview-cycle';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: '[app-iatf-distribution-per-season]',\r\n templateUrl: './iatf-distribution-per-season.component.html',\r\n styleUrls: ['./iatf-distribution-per-season.component.scss']\r\n})\r\nexport class IatfDistributionPerSeasonComponent implements OnInit {\r\n\r\n @Input() reproductiveManagement: ReproductiveManagement;\r\n\r\n constructor(public reproductiveManagementService: ReproductiveManagementService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n // IATF DISTRIBUTION - HEIFERS\r\n get iatfDistributionPerSeasonHeifersBeginningEM () {\r\n this.reproductiveManagement.iatfDistributionPerSeasonHeifersBeginningEM = this.reproductiveManagementService.iatfDistributionPerSeasonHeifersBeginningEM;\r\n return this.reproductiveManagement.iatfDistributionPerSeasonHeifersBeginningEM;\r\n }\r\n get iatfDistributionPerSeasonHeifersMiddleEM () {\r\n this.reproductiveManagement.iatfDistributionPerSeasonHeifersMiddleEM = this.reproductiveManagementService.iatfDistributionPerSeasonHeifersMiddleEM;\r\n return this.reproductiveManagement.iatfDistributionPerSeasonHeifersMiddleEM;\r\n }\r\n get iatfDistributionPerSeasonHeifersEndEM () {\r\n this.reproductiveManagement.iatfDistributionPerSeasonHeifersEndEM = this.reproductiveManagementService.iatfDistributionPerSeasonHeifersEndEM;\r\n return this.reproductiveManagement.iatfDistributionPerSeasonHeifersEndEM;\r\n }\r\n\r\n // IATF DISTRIBUTION - COWS\r\n get iatfDistributionPerSeasonCowsBeginningEM () {\r\n this.reproductiveManagement.iatfDistributionPerSeasonCowsBeginningEM = this.reproductiveManagementService.iatfDistributionPerSeasonCowsBeginningEM;\r\n return this.reproductiveManagement.iatfDistributionPerSeasonCowsBeginningEM;\r\n }\r\n get iatfDistributionPerSeasonCowsMiddleEM () {\r\n this.reproductiveManagement.iatfDistributionPerSeasonCowsMiddleEM = this.reproductiveManagementService.iatfDistributionPerSeasonCowsMiddleEM;\r\n return this.reproductiveManagement.iatfDistributionPerSeasonCowsMiddleEM;\r\n }\r\n get iatfDistributionPerSeasonCowsEndEM () {\r\n this.reproductiveManagement.iatfDistributionPerSeasonCowsEndEM = this.reproductiveManagementService.iatfDistributionPerSeasonCowsEndEM;\r\n return this.reproductiveManagement.iatfDistributionPerSeasonCowsEndEM;\r\n }\r\n\r\n // IATF DISTRIBUTION - COL TOTAL\r\n get iatfDistributionPerSeasonTotalBeginningEM() {\r\n this.reproductiveManagement.iatfDistributionPerSeasonTotalBeginningEM = this.reproductiveManagementService.iatfDistributionPerSeasonTotalBeginningEM;\r\n return this.reproductiveManagement.iatfDistributionPerSeasonTotalBeginningEM;\r\n }\r\n get iatfDistributionPerSeasonTotalMiddleEM() {\r\n this.reproductiveManagement.iatfDistributionPerSeasonTotalMiddleEM = this.reproductiveManagementService.iatfDistributionPerSeasonTotalMiddleEM;\r\n return this.reproductiveManagement.iatfDistributionPerSeasonTotalMiddleEM;\r\n }\r\n get iatfDistributionPerSeasonTotalEndEM() {\r\n this.reproductiveManagement.iatfDistributionPerSeasonTotalEndEM = this.reproductiveManagementService.iatfDistributionPerSeasonTotalEndEM;\r\n return this.reproductiveManagement.iatfDistributionPerSeasonTotalEndEM;\r\n }\r\n\r\n // IATF DISTRIBUTION - ROW TOTAL\r\n get iatfDistributionPerSeasonHeifersTotal() {\r\n this.reproductiveManagement.iatfDistributionPerSeasonHeifersTotal = this.reproductiveManagementService.iatfDistributionPerSeasonTotalHeifers;\r\n return this.reproductiveManagement.iatfDistributionPerSeasonHeifersTotal;\r\n }\r\n get iatfDistributionPerSeasonCowsTotal() {\r\n this.reproductiveManagement.iatfDistributionPerSeasonCowsTotal = this.reproductiveManagementService.iatfDistributionPerSeasonTotalCows;\r\n return this.reproductiveManagement.iatfDistributionPerSeasonCowsTotal;\r\n }\r\n get iatfDistributionPerSeasonTotal() {\r\n this.reproductiveManagement.iatfDistributionPerSeasonTotal = this.reproductiveManagementService.iatfDistributionPerSeasonTotalTotal;\r\n return this.reproductiveManagement.iatfDistributionPerSeasonTotal;\r\n }\r\n}\r\n","

6 - Distribuição das IATF's

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ReproductiveManagement } from 'src/_models/reproductive-management';\r\nimport { ReproductiveManagementService } from '@app/_services/reproductive-management.service';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: '[app-iatf-distribution]',\r\n templateUrl: './iatf-distribution.component.html',\r\n styleUrls: ['./iatf-distribution.component.scss']\r\n})\r\nexport class IatfDistributionComponent implements OnInit {\r\n\r\n @Input() reproductiveManagement: ReproductiveManagement;\r\n\r\n constructor(public reproductiveManagementService: ReproductiveManagementService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n // IATF DISTRIBUTION - HEIFERS\r\n get iatfDistributionHeifers1IATF () {\r\n this.reproductiveManagement.iatfDistributionHeifers1IATF = this.reproductiveManagementService.iatfDistributionHeifers1IATF;\r\n return this.reproductiveManagement.iatfDistributionHeifers1IATF;\r\n }\r\n get iatfDistributionHeifers2IATF () {\r\n this.reproductiveManagement.iatfDistributionHeifers2IATF = this.reproductiveManagementService.iatfDistributionHeifers2IATF;\r\n return this.reproductiveManagement.iatfDistributionHeifers2IATF;\r\n }\r\n get iatfDistributionHeifers3IATF () {\r\n this.reproductiveManagement.iatfDistributionHeifers3IATF = this.reproductiveManagementService.iatfDistributionHeifers3IATF;\r\n return this.reproductiveManagement.iatfDistributionHeifers3IATF;\r\n }\r\n\r\n // IATF DISTRIBUTION - COWS\r\n get iatfDistributionCows1IATF () {\r\n this.reproductiveManagement.iatfDistributionCows1IATF = this.reproductiveManagementService.iatfDistributionCows1IATF;\r\n return this.reproductiveManagement.iatfDistributionCows1IATF;\r\n }\r\n get iatfDistributionCows2IATF () {\r\n this.reproductiveManagement.iatfDistributionCows2IATF = this.reproductiveManagementService.iatfDistributionCows2IATF;\r\n return this.reproductiveManagement.iatfDistributionCows2IATF;\r\n }\r\n get iatfDistributionCows3IATF () {\r\n this.reproductiveManagement.iatfDistributionCows3IATF = this.reproductiveManagementService.iatfDistributionCows3IATF;\r\n return this.reproductiveManagement.iatfDistributionCows3IATF;\r\n }\r\n\r\n // IATF DISTRIBUTION - TOTAL\r\n get iatfDistributionTotal1IATF() {\r\n this.reproductiveManagement.iatfDistributionTotal1IATF = this.reproductiveManagementService.iatfDistributionTotal1IATF;\r\n return this.reproductiveManagement.iatfDistributionTotal1IATF;\r\n }\r\n get iatfDistributionTotal2IATF() {\r\n this.reproductiveManagement.iatfDistributionTotal2IATF = this.reproductiveManagementService.iatfDistributionTotal2IATF;\r\n return this.reproductiveManagement.iatfDistributionTotal2IATF;\r\n }\r\n get iatfDistributionTotal3IATF() {\r\n this.reproductiveManagement.iatfDistributionTotal3IATF = this.reproductiveManagementService.iatfDistributionTotal3IATF;\r\n return this.reproductiveManagement.iatfDistributionTotal3IATF;\r\n }\r\n\r\n}\r\n","

2 - Número de IATF's

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { ReproductiveManagement } from 'src/_models/reproductive-management';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: '[app-max-iatf]',\r\n templateUrl: './max-iatf.component.html',\r\n styleUrls: ['./max-iatf.component.scss']\r\n})\r\nexport class MaxIatfComponent implements OnInit {\r\n\r\n @Input() reproductiveManagement: ReproductiveManagement;\r\n\r\n @Output() pregnancyRate1IATFHeifersEmitter = new EventEmitter();\r\n @Output() pregnancyRate2IATFHeifersEmitter = new EventEmitter();\r\n @Output() pregnancyRate1IATFCowsEmitter = new EventEmitter();\r\n @Output() pregnancyRate2IATFCowsEmitter = new EventEmitter();\r\n\r\n private maxCow: number;\r\n private maxHeifer: number;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.maxHeifer = this.reproductiveManagement.maxIATFsPerHeifer;\r\n this.maxCow = this.reproductiveManagement.maxIATFsPerCow;\r\n }\r\n\r\n public maxIATFsPerHeifer() {\r\n // tslint:disable-next-line:triple-equals\r\n if (this.reproductiveManagement.maxIATFsPerHeifer == 1) {\r\n this.reproductiveManagement.pregnancyRate2IATFHeifers = 0;\r\n this.reproductiveManagement.pregnancyRate3IATFHeifers = 0;\r\n // tslint:disable-next-line:triple-equals\r\n } else if (this.reproductiveManagement.maxIATFsPerHeifer == 2) {\r\n this.reproductiveManagement.pregnancyRate3IATFHeifers = 0;\r\n if (this.maxHeifer < this.reproductiveManagement.maxIATFsPerHeifer) {\r\n // recalcula p/ 2\r\n this.pregnancyRate1IATFHeifersEmitter.emit();\r\n }\r\n } else {\r\n if (this.maxHeifer < this.reproductiveManagement.maxIATFsPerHeifer) {\r\n // recalcula p/ 3\r\n this.pregnancyRate2IATFHeifersEmitter.emit();\r\n }\r\n }\r\n this.maxHeifer = this.reproductiveManagement.maxIATFsPerHeifer;\r\n }\r\n\r\n public maxIATFsPerCowChange() {\r\n // tslint:disable-next-line:triple-equals\r\n if (this.reproductiveManagement.maxIATFsPerCow == 1) {\r\n this.reproductiveManagement.pregnancyRate2IATFCows = 0;\r\n this.reproductiveManagement.pregnancyRate3IATFCows = 0;\r\n // tslint:disable-next-line:triple-equals\r\n } else if (this.reproductiveManagement.maxIATFsPerCow == 2) {\r\n this.reproductiveManagement.pregnancyRate3IATFCows = 0;\r\n if (this.maxCow < this.reproductiveManagement.maxIATFsPerCow) {\r\n // recalcula p/ 2\r\n this.pregnancyRate1IATFCowsEmitter.emit();\r\n }\r\n } else {\r\n if (this.maxCow < this.reproductiveManagement.maxIATFsPerCow) {\r\n // recalcula p/ 3\r\n this.pregnancyRate2IATFCowsEmitter.emit();\r\n }\r\n }\r\n this.maxCow = this.reproductiveManagement.maxIATFsPerCow;\r\n }\r\n\r\n}\r\n","

10 - Distribuição das prenhezes de {{breed}} de IATF por época

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ReproductiveManagement } from 'src/_models/reproductive-management';\r\nimport { ReproductiveManagementService } from '@app/_services/reproductive-management.service';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: '[app-pregnancy-distribution-per-breed]',\r\n templateUrl: './pregnancy-distribution-per-breed.component.html',\r\n styleUrls: ['./pregnancy-distribution-per-breed.component.scss']\r\n})\r\nexport class PregnancyDistributionPerBreedComponent implements OnInit {\r\n\r\n @Input() rm: ReproductiveManagement;\r\n @Input() breed: string;\r\n @Input() breedNumber: number;\r\n\r\n constructor(public rmService: ReproductiveManagementService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n // HEIFERS\r\n get pregnancyDistributionHeifersEM1 () {\r\n if (this.breedNumber == 0) {\r\n const percent = this.rmService.heifersBeginningBreed1Percent / 100;\r\n this.rm.pregnancyDistributionBreed1HeifersBeginningEM = Math.round((this.rmService.heifersIATFDistributionBeginning * (this.rm.pregnancyRate1IATFHeifers / 100)) * percent) || 0;\r\n return this.rm.pregnancyDistributionBreed1HeifersBeginningEM;\r\n } else {\r\n const percent = this.rmService.heifersBeginningBreed2Percent / 100;\r\n this.rm.pregnancyDistributionBreed2HeifersBeginningEM = Math.round((this.rmService.heifersIATFDistributionBeginning * (this.rm.pregnancyRate1IATFHeifers / 100)) * percent) || 0;\r\n return this.rm.pregnancyDistributionBreed2HeifersBeginningEM;\r\n }\r\n }\r\n get pregnancyDistributionHeifersEM2 () {\r\n if (this.breedNumber == 0) {\r\n const percent = this.rmService.heifersMiddleBreed1Percent / 100;\r\n if (this.rm.maxIATFsPerHeifer == 1) {\r\n this.rm.pregnancyDistributionBreed1HeifersMiddleEM = Math.round((this.rmService.heifersIATFDistributionMiddle2 * (this.rm.pregnancyRate1IATFHeifers / 100)) * percent) || 0;\r\n } else {\r\n this.rm.pregnancyDistributionBreed1HeifersMiddleEM = Math.round((this.rmService.heifersIATFDistributionMiddle2 * (this.rm.pregnancyRate1IATFHeifers / 100) + this.rmService.heifersIATFDistributionMiddle1 * (this.rm.pregnancyRate2IATFHeifers / 100)) * percent) || 0;\r\n }\r\n return this.rm.pregnancyDistributionBreed1HeifersMiddleEM;\r\n } else {\r\n const percent = this.rmService.heifersMiddleBreed2Percent / 100;\r\n if (this.rm.maxIATFsPerHeifer == 1) {\r\n this.rm.pregnancyDistributionBreed2HeifersMiddleEM = Math.round((this.rmService.heifersIATFDistributionMiddle2 * (this.rm.pregnancyRate1IATFHeifers / 100)) * percent) || 0;\r\n } else {\r\n this.rm.pregnancyDistributionBreed2HeifersMiddleEM = Math.round((this.rmService.heifersIATFDistributionMiddle2 * (this.rm.pregnancyRate1IATFHeifers / 100) + this.rmService.heifersIATFDistributionMiddle1 * (this.rm.pregnancyRate2IATFHeifers / 100)) * percent) || 0;\r\n }\r\n return this.rm.pregnancyDistributionBreed2HeifersMiddleEM;\r\n }\r\n }\r\n get pregnancyDistributionHeifersEM3 () {\r\n if (this.breedNumber == 0) {\r\n const percent = this.rmService.heifersEndBreed1Percent / 100;\r\n if (this.rm.maxIATFsPerHeifer == 1) {\r\n this.rm.pregnancyDistributionBreed1HeifersEndEM = 0;\r\n } else if (this.rm.maxIATFsPerHeifer == 2) {\r\n this.rm.pregnancyDistributionBreed1HeifersEndEM = Math.round((this.rmService.heifersIATFDistributionEnd2 * (this.rm.pregnancyRate2IATFHeifers / 100)) * percent) || 0;\r\n } else {\r\n this.rm.pregnancyDistributionBreed1HeifersEndEM = Math.round((this.rmService.heifersIATFDistributionEnd2 * (this.rm.pregnancyRate2IATFHeifers / 100) + this.rmService.heifersIATFDistributionEnd1 * (this.rm.pregnancyRate3IATFHeifers / 100)) * percent) || 0;\r\n }\r\n return this.rm.pregnancyDistributionBreed1HeifersEndEM;\r\n } else {\r\n const percent = this.rmService.heifersEndBreed2Percent / 100;\r\n if (this.rm.maxIATFsPerHeifer == 1) {\r\n this.rm.pregnancyDistributionBreed2HeifersEndEM = 0;\r\n } else if (this.rm.maxIATFsPerHeifer == 2) {\r\n this.rm.pregnancyDistributionBreed2HeifersEndEM = Math.round((this.rmService.heifersIATFDistributionEnd2 * (this.rm.pregnancyRate2IATFHeifers / 100)) * percent) || 0;\r\n } else {\r\n this.rm.pregnancyDistributionBreed2HeifersEndEM = Math.round((this.rmService.heifersIATFDistributionEnd2 * (this.rm.pregnancyRate2IATFHeifers / 100) + this.rmService.heifersIATFDistributionEnd1 * (this.rm.pregnancyRate3IATFHeifers / 100)) * percent) || 0;\r\n }\r\n return this.rm.pregnancyDistributionBreed2HeifersEndEM;\r\n }\r\n }\r\n get pregnancyDistributionHeifersTotal () {\r\n if (this.breedNumber == 0) {\r\n this.rm.pregnancyDistributionBreed1HeifersTotal = this.pregnancyDistributionHeifersEM1 + this.pregnancyDistributionHeifersEM2 + this.pregnancyDistributionHeifersEM3;\r\n return this.rm.pregnancyDistributionBreed1HeifersTotal;\r\n } else {\r\n this.rm.pregnancyDistributionBreed2HeifersTotal = this.pregnancyDistributionHeifersEM1 + this.pregnancyDistributionHeifersEM2 + this.pregnancyDistributionHeifersEM3;\r\n return this.rm.pregnancyDistributionBreed2HeifersTotal;\r\n }\r\n }\r\n\r\n // COWS\r\n get pregnancyDistributionCowsEM1 () {\r\n if (this.breedNumber == 0) {\r\n const percent = this.rmService.cowsBeginningBreed1Percent / 100;\r\n this.rm.pregnancyDistributionBreed1CowsBeginningEM = Math.round((this.rmService.cowsIATFDistributionBeginning * (this.rm.pregnancyRate1IATFCows / 100)) * percent) || 0;\r\n return this.rm.pregnancyDistributionBreed1CowsBeginningEM;\r\n } else {\r\n const percent = this.rmService.cowsBeginningBreed2Percent / 100;\r\n this.rm.pregnancyDistributionBreed2CowsBeginningEM = Math.round((this.rmService.cowsIATFDistributionBeginning * (this.rm.pregnancyRate1IATFCows / 100)) * percent) || 0;\r\n return this.rm.pregnancyDistributionBreed2CowsBeginningEM;\r\n }\r\n }\r\n get pregnancyDistributionCowsEM2 () {\r\n if (this.breedNumber == 0) {\r\n const percent = this.rmService.cowsMiddleBreed1Percent / 100;\r\n if (this.rm.maxIATFsPerCow == 1) {\r\n this.rm.pregnancyDistributionBreed1CowsMiddleEM = Math.round((this.rmService.cowsIATFDistributionMiddle2 * (this.rm.pregnancyRate1IATFCows / 100)) * percent) || 0;\r\n } else {\r\n this.rm.pregnancyDistributionBreed1CowsMiddleEM = Math.round((this.rmService.cowsIATFDistributionMiddle2 * (this.rm.pregnancyRate1IATFCows / 100) + this.rmService.cowsIATFDistributionMiddle1 * (this.rm.pregnancyRate2IATFCows / 100)) * percent) || 0;\r\n }\r\n return this.rm.pregnancyDistributionBreed1CowsMiddleEM;\r\n } else {\r\n const percent = this.rmService.cowsMiddleBreed2Percent / 100;\r\n if (this.rm.maxIATFsPerCow == 1) {\r\n this.rm.pregnancyDistributionBreed2CowsMiddleEM = Math.round((this.rmService.cowsIATFDistributionMiddle2 * (this.rm.pregnancyRate1IATFCows / 100)) * percent) || 0;\r\n } else {\r\n this.rm.pregnancyDistributionBreed2CowsMiddleEM = Math.round((this.rmService.cowsIATFDistributionMiddle2 * (this.rm.pregnancyRate1IATFCows / 100) + this.rmService.cowsIATFDistributionMiddle1 * (this.rm.pregnancyRate2IATFCows / 100)) * percent) || 0;\r\n }\r\n return this.rm.pregnancyDistributionBreed2CowsMiddleEM;\r\n }\r\n }\r\n get pregnancyDistributionCowsEM3 () {\r\n if (this.breedNumber == 0) {\r\n const percent = this.rmService.cowsEndBreed1Percent / 100;\r\n if (this.rm.maxIATFsPerCow == 1) {\r\n this.rm.pregnancyDistributionBreed1CowsEndEM = Math.round((this.rmService.cowsIATFDistributionEnd3 * (this.rm.pregnancyRate1IATFCows / 100)) * percent) || 0;\r\n } else if (this.rm.maxIATFsPerCow == 2) {\r\n this.rm.pregnancyDistributionBreed1CowsEndEM = Math.round(((this.rmService.cowsIATFDistributionEnd3 * (this.rm.pregnancyRate1IATFCows / 100)) + (this.rmService.cowsIATFDistributionEnd2 * (this.rm.pregnancyRate2IATFCows / 100))) * percent) || 0;\r\n } else {\r\n this.rm.pregnancyDistributionBreed1CowsEndEM = Math.round(((this.rmService.cowsIATFDistributionEnd3 * (this.rm.pregnancyRate1IATFCows / 100) + this.rmService.cowsIATFDistributionEnd2 * (this.rm.pregnancyRate2IATFCows / 100) + this.rmService.cowsIATFDistributionEnd1 * (this.rm.pregnancyRate3IATFCows / 100))) * percent) || 0;\r\n }\r\n return this.rm.pregnancyDistributionBreed1CowsEndEM;\r\n } else {\r\n const percent = this.rmService.cowsEndBreed2Percent / 100;\r\n if (this.rm.maxIATFsPerCow == 1) {\r\n this.rm.pregnancyDistributionBreed2CowsEndEM = Math.round((this.rmService.cowsIATFDistributionEnd3 * (this.rm.pregnancyRate1IATFCows / 100)) * percent) || 0;\r\n } else if (this.rm.maxIATFsPerCow == 2) {\r\n this.rm.pregnancyDistributionBreed2CowsEndEM = Math.round(((this.rmService.cowsIATFDistributionEnd3 * (this.rm.pregnancyRate1IATFCows / 100)) + (this.rmService.cowsIATFDistributionEnd2 * (this.rm.pregnancyRate2IATFCows / 100))) * percent) || 0;\r\n } else {\r\n this.rm.pregnancyDistributionBreed2CowsEndEM = Math.round(((this.rmService.cowsIATFDistributionEnd3 * (this.rm.pregnancyRate1IATFCows / 100) + this.rmService.cowsIATFDistributionEnd2 * (this.rm.pregnancyRate2IATFCows / 100) + this.rmService.cowsIATFDistributionEnd1 * (this.rm.pregnancyRate3IATFCows / 100))) * percent) || 0;\r\n }\r\n return this.rm.pregnancyDistributionBreed2CowsEndEM;\r\n }\r\n }\r\n get pregnancyDistributionCowsTotal () {\r\n if (this.breedNumber == 0) {\r\n this.rm.pregnancyDistributionBreed1CowsTotal = this.pregnancyDistributionCowsEM1 + this.pregnancyDistributionCowsEM2 + this.pregnancyDistributionCowsEM3;\r\n return this.rm.pregnancyDistributionBreed1CowsTotal;\r\n } else {\r\n this.rm.pregnancyDistributionBreed2CowsTotal = this.pregnancyDistributionCowsEM1 + this.pregnancyDistributionCowsEM2 + this.pregnancyDistributionCowsEM3;\r\n return this.rm.pregnancyDistributionBreed2CowsTotal;\r\n }\r\n }\r\n\r\n // TOTAL\r\n get pregnancyDistributionEM1Total () {\r\n if (this.breedNumber == 0) {\r\n this.rm.pregnancyDistributionBreed1TotalBeginningEM = this.pregnancyDistributionCowsEM1 + this.pregnancyDistributionHeifersEM1;\r\n return this.rm.pregnancyDistributionBreed1TotalBeginningEM;\r\n } else {\r\n this.rm.pregnancyDistributionBreed2TotalBeginningEM = this.pregnancyDistributionCowsEM1 + this.pregnancyDistributionHeifersEM1;\r\n return this.rm.pregnancyDistributionBreed2TotalBeginningEM;\r\n }\r\n }\r\n get pregnancyDistributionEM2Total () {\r\n if (this.breedNumber == 0) {\r\n this.rm.pregnancyDistributionBreed1TotalMiddleEM = this.pregnancyDistributionCowsEM2 + this.pregnancyDistributionHeifersEM2;\r\n return this.rm.pregnancyDistributionBreed1TotalMiddleEM;\r\n } else {\r\n this.rm.pregnancyDistributionBreed2TotalMiddleEM = this.pregnancyDistributionCowsEM2 + this.pregnancyDistributionHeifersEM2;\r\n return this.rm.pregnancyDistributionBreed2TotalMiddleEM;\r\n }\r\n }\r\n get pregnancyDistributionEM3Total () {\r\n if (this.breedNumber == 0) {\r\n this.rm.pregnancyDistributionBreed1TotalEndEM = this.pregnancyDistributionCowsEM3 + this.pregnancyDistributionHeifersEM3;\r\n return this.rm.pregnancyDistributionBreed1TotalEndEM;\r\n } else {\r\n this.rm.pregnancyDistributionBreed2TotalEndEM = this.pregnancyDistributionCowsEM3 + this.pregnancyDistributionHeifersEM3;\r\n return this.rm.pregnancyDistributionBreed2TotalEndEM;\r\n }\r\n }\r\n get pregnancyDistributionTotal () {\r\n if (this.breedNumber == 0) {\r\n this.rm.pregnancyDistributionBreed1Total = this.pregnancyDistributionHeifersTotal + this.pregnancyDistributionCowsTotal;\r\n return this.rm.pregnancyDistributionBreed1Total;\r\n } else {\r\n this.rm.pregnancyDistributionBreed2Total = this.pregnancyDistributionHeifersTotal + this.pregnancyDistributionCowsTotal;\r\n return this.rm.pregnancyDistributionBreed2Total;\r\n }\r\n }\r\n\r\n}\r\n","

8 - Distribuição das prenhezes de IATF por época

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ReproductiveManagement } from 'src/_models/reproductive-management';\r\nimport { ReproductiveManagementService } from '@app/_services/reproductive-management.service';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: '[app-pregnancy-iatf-distribution-per-season]',\r\n templateUrl: './pregnancy-iatf-distribution-per-season.component.html',\r\n styleUrls: ['./pregnancy-iatf-distribution-per-season.component.scss']\r\n})\r\nexport class PregnancyIatfDistributionPerSeasonComponent implements OnInit {\r\n\r\n @Input() rm: ReproductiveManagement;\r\n\r\n constructor(public rmService: ReproductiveManagementService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n // PREGNANCY IATF DISTRIBUTION PER SEASON - HEIFERS\r\n get pregnancyIatfDistributionPerSeasonHeifersBeginningEM () {\r\n this.rm.pregnancyIatfDistributionPerSeasonHeifersBeginningEM = this.rmService.pregnancyIatfDistributionPerSeasonHeifersBeginningEM;\r\n return this.rm.pregnancyIatfDistributionPerSeasonHeifersBeginningEM;\r\n }\r\n get pregnancyIatfDistributionPerSeasonHeifersMiddleEM () {\r\n this.rm.pregnancyIatfDistributionPerSeasonHeifersMiddleEM = this.rmService.pregnancyIatfDistributionPerSeasonHeifersMiddleEM;\r\n return this.rm.pregnancyIatfDistributionPerSeasonHeifersMiddleEM;\r\n }\r\n get pregnancyIatfDistributionPerSeasonHeifersEndEM () {\r\n this.rm.pregnancyIatfDistributionPerSeasonHeifersEndEM = this.rmService.pregnancyIatfDistributionPerSeasonHeifersEndEM;\r\n return this.rm.pregnancyIatfDistributionPerSeasonHeifersEndEM;\r\n }\r\n\r\n // PREGNANCY IATF DISTRIBUTION PER SEASON - COWS\r\n get pregnancyIatfDistributionPerSeasonCowsBeginningEM () {\r\n this.rm.pregnancyIatfDistributionPerSeasonCowsBeginningEM = this.rmService.pregnancyIatfDistributionPerSeasonCowsBeginningEM;\r\n return this.rm.pregnancyIatfDistributionPerSeasonCowsBeginningEM;\r\n }\r\n get pregnancyIatfDistributionPerSeasonCowsMiddleEM () {\r\n this.rm.pregnancyIatfDistributionPerSeasonCowsMiddleEM = this.rmService.pregnancyIatfDistributionPerSeasonCowsMiddleEM;\r\n return this.rm.pregnancyIatfDistributionPerSeasonCowsMiddleEM;\r\n }\r\n get pregnancyIatfDistributionPerSeasonCowsEndEM () {\r\n this.rm.pregnancyIatfDistributionPerSeasonCowsEndEM = this.rmService.pregnancyIatfDistributionPerSeasonCowsEndEM;;\r\n return this.rm.pregnancyIatfDistributionPerSeasonCowsEndEM;\r\n }\r\n\r\n // PREGNANCY IATF DISTRIBUTION PER SEASON - COL TOTAL\r\n get pregnancyIatfDistributionPerSeasonTotalBeginningEM() {\r\n this.rm.pregnancyIatfDistributionPerSeasonTotalBeginningEM = this.rmService.pregnancyIatfDistributionPerSeasonTotalBeginningEM;\r\n return this.rm.pregnancyIatfDistributionPerSeasonTotalBeginningEM;\r\n }\r\n get pregnancyIatfDistributionPerSeasonTotalMiddleEM() {\r\n this.rm.pregnancyIatfDistributionPerSeasonTotalMiddleEM = this.rmService.pregnancyIatfDistributionPerSeasonTotalMiddleEM;\r\n return this.rm.pregnancyIatfDistributionPerSeasonTotalMiddleEM;\r\n }\r\n get pregnancyIatfDistributionPerSeasonTotalEndEM() {\r\n this.rm.pregnancyIatfDistributionPerSeasonTotalEndEM = this.rmService.pregnancyIatfDistributionPerSeasonTotalEndEM;\r\n return this.rm.pregnancyIatfDistributionPerSeasonTotalEndEM;\r\n }\r\n\r\n // // PREGNANCY IATF DISTRIBUTION PER SEASON - ROW TOTAL\r\n get pregnancyIatfDistributionPerSeasonHeifersTotal() {\r\n this.rm.pregnancyIatfDistributionPerSeasonHeifersTotal = this.rmService.pregnancyIatfDistributionPerSeasonHeifersTotal;\r\n return this.rm.pregnancyIatfDistributionPerSeasonHeifersTotal;\r\n }\r\n get pregnancyIatfDistributionPerSeasonCowsTotal() {\r\n this.rm.pregnancyIatfDistributionPerSeasonCowsTotal = this.rmService.pregnancyIatfDistributionPerSeasonCowsTotal;\r\n return this.rm.pregnancyIatfDistributionPerSeasonCowsTotal;\r\n }\r\n get pregnancyIatfDistributionPerSeasonTotal() {\r\n this.rm.pregnancyIatfDistributionPerSeasonTotal = this.rmService.pregnancyIatfDistributionPerSeasonTotal;\r\n return this.rm.pregnancyIatfDistributionPerSeasonTotal;\r\n }\r\n\r\n}\r\n","

5 - Taxa esperada de prenhez por IATF

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { ReproductiveManagement } from 'src/_models/reproductive-management';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: '[app-pregnancy-rate]',\r\n templateUrl: './pregnancy-rate.component.html',\r\n styleUrls: ['./pregnancy-rate.component.scss']\r\n})\r\nexport class PregnancyRateComponent implements OnInit {\r\n\r\n @Input() reproductiveManagement: ReproductiveManagement;\r\n\r\n @Output() pregnancyRate1IATFHeifersEmitter = new EventEmitter();\r\n @Output() pregnancyRate2IATFHeifersEmitter = new EventEmitter();\r\n @Output() pregnancyRate1IATFCowsEmitter = new EventEmitter();\r\n @Output() pregnancyRate2IATFCowsEmitter = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n pregnancyRate1IATFHeifersChange = () => this.pregnancyRate1IATFHeifersEmitter.emit();\r\n\r\n pregnancyRate1IATFCowsChange = () => this.pregnancyRate1IATFCowsEmitter.emit();\r\n\r\n pregnancyRate2IATFHeifersChange = () => this.pregnancyRate2IATFHeifersEmitter.emit();\r\n\r\n pregnancyRate2IATFCowsChange = () => this.pregnancyRate2IATFCowsEmitter.emit();\r\n\r\n}\r\n","\r\n

1 - Quantidades

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ReproductiveManagement } from 'src/_models/reproductive-management';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: '[app-quantity-to-inseminate]',\r\n templateUrl: './quantity-to-inseminate.component.html',\r\n styleUrls: ['./quantity-to-inseminate.component.scss']\r\n})\r\nexport class QuantityToInseminateComponent implements OnInit {\r\n\r\n @Input() reproductiveManagement: ReproductiveManagement;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.reproductiveManagement.maxIATFsPerHeifer = 1;\r\n this.reproductiveManagement.maxIATFsPerCow = 1;\r\n }\r\n\r\n get nbrTotalToInsaminate() {\r\n const heifers = Number(this.reproductiveManagement.nbrOfHeifersToInseminate || 0);\r\n const cows = Number(this.reproductiveManagement.nbrOfCowsToInseminate || 0);\r\n return heifers + cows;\r\n }\r\n\r\n}\r\n","

3 - Época em que as novilhas estarão aptas a IATF

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n %\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n %\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n %\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { ReproductiveManagement } from 'src/_models/reproductive-management';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: '[app-ready-to-iatf]',\r\n templateUrl: './ready-to-iatf.component.html',\r\n styleUrls: ['./ready-to-iatf.component.scss']\r\n})\r\nexport class ReadyToIatfComponent implements OnInit {\r\n\r\n @Input() reproductiveManagement: ReproductiveManagement;\r\n @Output() isValidReadyToIATFTotal = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n get readyToIATFTotal() {\r\n const beginning = Number(this.reproductiveManagement.readyToIATFBeginning || 0);\r\n const middle = Number(this.reproductiveManagement.readyToIATFMiddle || 0);\r\n\r\n if ((beginning + middle) != 100) {\r\n this.isValidReadyToIATFTotal.emit(false);\r\n } else {\r\n this.isValidReadyToIATFTotal.emit(true);\r\n }\r\n\r\n return beginning + middle;\r\n }\r\n\r\n}\r\n","
\r\n

Manejo reprodutivo

\r\n
\r\n\r\n

Quantidade de animais no rebanho

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
1\" class=\"w-100 divider mb-4\" />\r\n\r\n
1\" app-breed-distribution\r\n class=\"col-12\"\r\n [interviewCycle]=\"interviewCycle\"\r\n [reproductiveManagement]=\"reproductiveManagement\"\r\n [dosesDistributionByBreed]=\"dosesDistributionByBreed\">\r\n
\r\n\r\n
1\" class=\"w-100 divider mb-4\" />\r\n\r\n
1\"\r\n app-pregnancy-distribution-per-breed class=\"col-12 col-lg-6\"\r\n [breed]=\"interviewCycle[0].breedName\"\r\n [breedNumber] = \"0\"\r\n [rm]=\"reproductiveManagement\">\r\n
\r\n\r\n
1\"\r\n app-pregnancy-distribution-per-breed class=\"col-12 col-lg-6\"\r\n [breed]=\"interviewCycle[1].breedName\"\r\n [breedNumber] = \"1\"\r\n [rm]=\"reproductiveManagement\">\r\n
\r\n\r\n
1\" class=\"row \">\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n %\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n %\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n","import { Component, OnInit, Input, ViewChild, Output, EventEmitter } from '@angular/core';\r\nimport { Interview } from 'src/_models/interview';\r\nimport { CalvingDistributionComponent } from './calving-distribution/calving-distribution.component';\r\nimport { MaxIatfComponent } from './max-iatf/max-iatf.component';\r\nimport { PregnancyRateComponent } from './pregnancy-rate/pregnancy-rate.component';\r\nimport { QuantityToInseminateComponent } from './quantity-to-inseminate/quantity-to-inseminate.component';\r\nimport { ReadyToIatfComponent } from './ready-to-iatf/ready-to-iatf.component';\r\nimport { ReproductiveManagement } from 'src/_models/reproductive-management';\r\nimport { AveragePregnancyRateComponent } from './average-pregnancy-rate/average-pregnancy-rate.component';\r\nimport { BreedDistributionComponent } from './breed-distribution/breed-distribution.component';\r\nimport { IatfDistributionComponent } from './iatf-distribution/iatf-distribution.component';\r\nimport { IatfDistributionPerSeasonComponent } from './iatf-distribution-per-season/iatf-distribution-per-season.component';\r\nimport { PregnancyDistributionPerBreedComponent } from './pregnancy-distribution-per-breed/pregnancy-distribution-per-breed.component';\r\n// tslint:disable-next-line:max-line-length\r\nimport { PregnancyIatfDistributionPerSeasonComponent } from './pregnancy-iatf-distribution-per-season/pregnancy-iatf-distribution-per-season.component';\r\nimport { InterviewCycle } from 'src/_models/interview-cycle';\r\nimport { Herd } from 'src/_models/herd';\r\nimport { DosesDistributionByBreed } from 'src/_models/doses-distribution-by-breed';\r\nimport { ReproductiveManagementService } from '@app/_services/reproductive-management.service';\r\n\r\n@Component({\r\n selector: 'app-reproductive-management',\r\n templateUrl: './reproductive-management.component.html',\r\n styleUrls: ['./reproductive-management.component.scss']\r\n})\r\nexport class ReproductiveManagementComponent implements OnInit {\r\n\r\n @ViewChild(CalvingDistributionComponent, { static: false }) calvingDistribution: CalvingDistributionComponent;\r\n @ViewChild(MaxIatfComponent, { static: false }) maxIatf: MaxIatfComponent;\r\n @ViewChild(PregnancyRateComponent, { static: false }) pregnancyRate: PregnancyRateComponent;\r\n @ViewChild(QuantityToInseminateComponent, { static: false }) quantityToInseminate: QuantityToInseminateComponent;\r\n @ViewChild(ReadyToIatfComponent, { static: false }) readyToIatf: ReadyToIatfComponent;\r\n\r\n @ViewChild(AveragePregnancyRateComponent, { static: false }) averagePregnancyRate: AveragePregnancyRateComponent;\r\n @ViewChild(BreedDistributionComponent, { static: false }) breedDistribution: BreedDistributionComponent;\r\n @ViewChild(IatfDistributionComponent, { static: false }) iatfDistribution: IatfDistributionComponent;\r\n @ViewChild(IatfDistributionPerSeasonComponent, { static: false }) iatfDistributionPerSeason: IatfDistributionPerSeasonComponent;\r\n @ViewChild(PregnancyDistributionPerBreedComponent, { static: false }) pregnancyDistributionPerBreed: PregnancyDistributionPerBreedComponent;\r\n @ViewChild(PregnancyIatfDistributionPerSeasonComponent, { static: false }) pregnancyIatfDistributionPerSeason: PregnancyIatfDistributionPerSeasonComponent;\r\n\r\n // @ViewChild(CalvingDistributionComponent) calvingDistribution: any;\r\n // @ViewChild(MaxIatfComponent) maxIatf: any;\r\n // @ViewChild(PregnancyRateComponent) pregnancyRate: any;\r\n // @ViewChild(QuantityToInseminateComponent) quantityToInseminate: any;\r\n // @ViewChild(ReadyToIatfComponent) readyToIatf: any;\r\n\r\n // @ViewChild(AveragePregnancyRateComponent) averagePregnancyRate: any;\r\n // @ViewChild(BreedDistributionComponent) breedDistribution: any;\r\n // @ViewChild(IatfDistributionComponent) iatfDistribution: any;\r\n // @ViewChild(IatfDistributionPerSeasonComponent) iatfDistributionPerSeason: any;\r\n // @ViewChild(PregnancyDistributionPerBreedComponent) pregnancyDistributionPerBreed: any;\r\n // @ViewChild(PregnancyIatfDistributionPerSeasonComponent) pregnancyIatfDistributionPerSeason: any;\r\n\r\n @Input() herd: Herd;\r\n @Input() interviewCycle: InterviewCycle[];\r\n @Input() reproductiveManagement: ReproductiveManagement;\r\n @Input() dosesDistributionByBreed: DosesDistributionByBreed;\r\n\r\n @Output() isValidReadyToIATFTotal = new EventEmitter();\r\n @Output() isValidCalvingDistributionTotal = new EventEmitter();\r\n\r\n constructor(public reproductiveManagementService: ReproductiveManagementService) {\r\n }\r\n\r\n ngOnInit() {\r\n console.clear();\r\n window.scrollTo(0, 0);\r\n\r\n this.reproductiveManagementService.reproductiveManagement = this.reproductiveManagement;\r\n\r\n this.reproductiveManagement.nbrOfHeifersToInseminate = Number(this.herd.numberOfHeifers || 0);\r\n this.reproductiveManagement.nbrOfCowsToInseminate = Number(this.herd.numberOfCows || 0);\r\n }\r\n\r\n // PREGNANCY RATE EVENTS\r\n public pregnancyRate1IATFHeifersChange() {\r\n if (this.reproductiveManagement.pregnancyRate1IATFHeifers && this.reproductiveManagement.pregnancyRate1IATFHeifers > 0) {\r\n // tslint:disable-next-line:triple-equals\r\n if (this.reproductiveManagement.maxIATFsPerHeifer == 3) {\r\n this.reproductiveManagement.pregnancyRate2IATFHeifers = Math.round(Number(this.reproductiveManagement.pregnancyRate1IATFHeifers) * 0.9);\r\n this.reproductiveManagement.pregnancyRate3IATFHeifers = Math.round(Number(this.reproductiveManagement.pregnancyRate2IATFHeifers) * 0.9);\r\n // tslint:disable-next-line:triple-equals\r\n } else if (this.reproductiveManagement.maxIATFsPerHeifer == 2) {\r\n this.reproductiveManagement.pregnancyRate2IATFHeifers = Math.round(Number(this.reproductiveManagement.pregnancyRate1IATFHeifers) * 0.9);\r\n }\r\n } else {\r\n this.reproductiveManagement.pregnancyRate2IATFHeifers = 0;\r\n this.reproductiveManagement.pregnancyRate3IATFHeifers = 0;\r\n }\r\n }\r\n\r\n public pregnancyRate1IATFCowsChange() {\r\n if (this.reproductiveManagement.pregnancyRate1IATFCows && this.reproductiveManagement.pregnancyRate1IATFCows > 0) {\r\n // tslint:disable-next-line:triple-equals\r\n if (this.reproductiveManagement.maxIATFsPerCow == 3) {\r\n this.reproductiveManagement.pregnancyRate2IATFCows = Math.round(Number(this.reproductiveManagement.pregnancyRate1IATFCows) * 0.9);\r\n this.reproductiveManagement.pregnancyRate3IATFCows = Math.round(Number(this.reproductiveManagement.pregnancyRate2IATFCows) * 0.9);\r\n // tslint:disable-next-line:triple-equals\r\n } else if (this.reproductiveManagement.maxIATFsPerCow == 2) {\r\n this.reproductiveManagement.pregnancyRate2IATFCows = Math.round(Number(this.reproductiveManagement.pregnancyRate1IATFCows) * 0.9);\r\n }\r\n } else {\r\n this.reproductiveManagement.pregnancyRate2IATFCows = 0;\r\n this.reproductiveManagement.pregnancyRate3IATFCows = 0;\r\n }\r\n }\r\n\r\n public pregnancyRate2IATFHeifersChange() {\r\n if (this.reproductiveManagement.pregnancyRate2IATFHeifers && this.reproductiveManagement.pregnancyRate2IATFHeifers > 0) {\r\n // tslint:disable-next-line:triple-equals\r\n if (this.reproductiveManagement.maxIATFsPerHeifer == 3) {\r\n // tslint:disable-next-line:max-line-length\r\n this.reproductiveManagement.pregnancyRate3IATFHeifers = Math.round(Number(this.reproductiveManagement.pregnancyRate2IATFHeifers) * 0.9);\r\n }\r\n } else {\r\n this.reproductiveManagement.pregnancyRate3IATFHeifers = 0;\r\n }\r\n }\r\n\r\n public pregnancyRate2IATFCowsChange() {\r\n if (this.reproductiveManagement.pregnancyRate2IATFCows && this.reproductiveManagement.pregnancyRate2IATFCows > 0) {\r\n // tslint:disable-next-line:triple-equals\r\n if (this.reproductiveManagement.maxIATFsPerCow == 3) {\r\n this.reproductiveManagement.pregnancyRate3IATFCows = Math.round(Number(this.reproductiveManagement.pregnancyRate2IATFCows) * 0.9);\r\n }\r\n } else {\r\n this.reproductiveManagement.pregnancyRate3IATFCows = 0;\r\n }\r\n }\r\n\r\n public updateIsValidReadyToIATFTotal($event: boolean) {\r\n if ($event) {\r\n this.isValidReadyToIATFTotal.emit(true);\r\n } else {\r\n this.isValidReadyToIATFTotal.emit(false);\r\n }\r\n }\r\n\r\n public updateIsValidCalvingDistributionTotal($event: boolean) {\r\n if ($event) {\r\n this.isValidCalvingDistributionTotal.emit(true);\r\n } else {\r\n this.isValidCalvingDistributionTotal.emit(false);\r\n }\r\n }\r\n\r\n public iatfPregnancyRateBreed1() {\r\n const totalToInseminate = Number(this.reproductiveManagement.nbrOfHeifersToInseminate || 0) + Number(this.reproductiveManagement.nbrOfCowsToInseminate || 0);\r\n return ((this.reproductiveManagement.pregnancyDistributionBreed1Total / totalToInseminate) * 100).toFixed(2);\r\n }\r\n\r\n public iatfPregnancyRateBreed2() {\r\n const totalToInseminate = Number(this.reproductiveManagement.nbrOfHeifersToInseminate || 0) + Number(this.reproductiveManagement.nbrOfCowsToInseminate || 0);\r\n return ((this.reproductiveManagement.pregnancyDistributionBreed2Total / totalToInseminate) * 100).toFixed(2);\r\n }\r\n}\r\n","

Resultado da seleção - {{interviewCycle.breedName}} ({{interviewCycle.proofName}})

\r\n
\r\n \r\n \r\n \r\n 0 && isChartLoaded\">\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n

Gerando gráfico...

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n 0 && isResultsLoaded\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
Característica
\r\n
{{ getDescription(dataItem)
\r\n \r\n
Ponderação
\r\n
{{ dataItem.weighting }}
\r\n \r\n
Vetor (%)
\r\n
{{ dataItem.filterPercentSignal }}
\r\n \r\n
%
\r\n
{{ dataItem.filterPercentValue }}
\r\n \r\n
Vetor (Filtro)
\r\n
{{ dataItem.filterDepSignal }}
\r\n \r\n
DEP (Filtro)
\r\n
{{ dataItem.filterDepValue }}
\r\n \r\n
ACC (Filtro)
\r\n
{{ dataItem.filterAccValue }}
\r\n \r\n
M. Touros
\r\n
{{ dataItem.bullAverage }}
\r\n \r\n
M. Plano
\r\n
{{ dataItem.schemeAverage }}
\r\n \r\n
ACC
\r\n
{{ dataItem.acc }}
\r\n \r\n
%
\r\n
{{ dataItem.percent }}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {{ getDescription(dataItem) }}\r\n \r\n \r\n \r\n \r\n \r\n {{ dataItem.weighting }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ dataItem.filterPercentValue }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ dataItem.filterDepValue }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ dataItem.filterAccValue }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ dataItem.bullAverage }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ dataItem.schemeAverage }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ dataItem.accAverage }}\r\n \r\n \r\n \r\n \r\n \r\n 0\">\r\n {{ dataItem.percent }}%\r\n \r\n \r\n \r\n \r\n \r\n 0\">\r\n {{ dataItem.percent }}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, ViewEncapsulation, ViewChild, EventEmitter, Output, AfterViewInit } from '@angular/core';\r\nimport { Interview } from 'src/_models/interview';\r\nimport { InterviewCycle } from 'src/_models/interview-cycle';\r\nimport { GridDataResult, SelectableSettings, RowClassArgs } from '@progress/kendo-angular-grid';\r\nimport { ApiService } from '@app/_services/api.service';\r\nimport { AxisLabelsPosition, SeriesLabels, ChartComponent } from '@progress/kendo-angular-charts';\r\nimport { SyntheticSelectResultPresentation } from 'src/_models/select-result-presentation/synthetic-select-result-presentation';\r\nimport { AnalyticSelectResultPresentation } from 'src/_models/select-result-presentation/analytic-select-result-presentation';\r\nimport { ProofTypeEnum } from 'src/_enums/proof-type-enum';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-select-result-presentation',\r\n encapsulation: ViewEncapsulation.None,\r\n styles: [\r\n `\r\n .whole-cell {\r\n display: block;\r\n padding: 8px 12px; /* depends on theme */\r\n }\r\n .traitGroup { background-color: #ccc; font-weight: bold; }\r\n .trait { background-color: #fff; }\r\n `\r\n ],\r\n templateUrl: './select-result-presentation.component.html',\r\n styleUrls: ['./select-result-presentation.component.scss']\r\n})\r\nexport class SelectResultPresentationComponent implements OnInit {\r\n\r\n @Input() public interview: Interview;\r\n\r\n @ViewChild('chart', { static: false }) public chart: ChartComponent;\r\n // @ViewChild('chart') private chart: ChartComponent;\r\n\r\n public gridView: GridDataResult;\r\n public gridSelection: any[] = [];\r\n public selectableSettings: SelectableSettings;\r\n\r\n public analyticResults: Array;\r\n public syntheticResults: Array;\r\n public interviewCycle: InterviewCycle;\r\n public isResultsLoaded = false;\r\n public isChartLoaded = false;\r\n public valuesLabelsPosition: AxisLabelsPosition = 'end';\r\n public categoriesLabelsPosition: AxisLabelsPosition = 'onAxis';\r\n ProofTypeEnum: typeof ProofTypeEnum = ProofTypeEnum;\r\n\r\n public seriesLabels: SeriesLabels = {\r\n visible: true, // Note that visible defaults to false\r\n padding: 1,\r\n font: '11px Arial, sans-serif'\r\n };\r\n\r\n public selectedCallback = (args: { dataItem: any; }) => args.dataItem;\r\n\r\n constructor(\r\n public apiService: ApiService,\r\n private sanitizer: DomSanitizer) { }\r\n\r\n ngOnInit() {\r\n this.analyticResults = new Array();\r\n this.syntheticResults = new Array();\r\n this.interviewCycle = this.interview.interviewCycle[this.interview.currentInterviewCycle];\r\n this.interviewCycle.analyticResultPresentation = new Array();\r\n this.getAnalyticSelectResultPresentation();\r\n }\r\n\r\n private getAnalyticSelectResultPresentation() {\r\n this.apiService.getAnalyticSelectResultPresentation(this.interviewCycle).subscribe((data: AnalyticSelectResultPresentation[]) => {\r\n this.interviewCycle.analyticResultPresentation.push(...data);\r\n this.configureAnalyticSelectResultPresentation(data);\r\n }, (error) => console.error(error));\r\n }\r\n\r\n private configureAnalyticSelectResultPresentation(analyticResults: AnalyticSelectResultPresentation[]) {\r\n this.createResults(analyticResults);\r\n this.setSelectedWeightingValues();\r\n this.setSelectedFiltersValues();\r\n this.isResultsLoaded = true;\r\n this.isChartLoaded = true;\r\n }\r\n\r\n private createResults(data: AnalyticSelectResultPresentation[]) {\r\n data.forEach((result) => {\r\n if (result.isTraitGroup) {\r\n this.analyticResults.push(result);\r\n } else {\r\n result.filterPercentSignal = result.filterPercentSignal ? result.filterPercentSignal : `<=`;\r\n result.filterPercentValue = result.filterPercentValue ? result.filterPercentValue : 0;\r\n result.filterDepSignal = result.filterDepSignal ? result.filterDepSignal : `<=`;\r\n result.filterDepValue = result.filterDepValue ? result.filterDepValue : 0;\r\n result.filterAccValue = result.filterAccValue ? result.filterAccValue : 0;\r\n result.weighting = result.weighting ? result.weighting : 0;\r\n this.analyticResults.push(result);\r\n\r\n const syntheticResult = new SyntheticSelectResultPresentation();\r\n syntheticResult.description = result.traitName;\r\n this.setPercent(syntheticResult, result);\r\n if (syntheticResult.percent > 0\r\n && syntheticResult != null) {\r\n this.syntheticResults.push(syntheticResult);\r\n }\r\n }\r\n });\r\n }\r\n\r\n public getDescription(dataItem: AnalyticSelectResultPresentation) {\r\n if (dataItem.isTraitGroup) {\r\n return dataItem.traitGroupName;\r\n }\r\n return dataItem.traitName;\r\n }\r\n\r\n // Use an arrow function to capture the 'this' execution context of the class.\r\n public rowCallback = (context: RowClassArgs) => {\r\n const isTraitGroup = context.dataItem.isTraitGroup;\r\n return {\r\n traitGroup: isTraitGroup,\r\n trait: !isTraitGroup,\r\n };\r\n }\r\n\r\n private setSelectedWeightingValues() {\r\n if (this.hasSelectedWeightingsValues()) {\r\n for (const tg of this.interviewCycle.selectedWeightingTraitsGroups) {\r\n for (const t of tg.trait) {\r\n const result = this.analyticResults.find(r => r.traitId === t.id);\r\n if (result != null) {\r\n result.weighting = t.weightingValue ? t.weightingValue : 0;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n private setSelectedFiltersValues() {\r\n if (this.hasSelectedFilterValues()) {\r\n for (const tg of this.interviewCycle.selectedFilterTraitsGroups) {\r\n for (const t of tg.trait) {\r\n const result = this.analyticResults.find(r => r.traitId === t.id);\r\n if (result != null ) {\r\n result.filterPercentSignal = t.filterTopDecaSignal ? t.filterTopDecaSignal : `<=`;\r\n result.filterPercentValue = t.filterTopDecaValue ? t.filterTopDecaValue : 0;\r\n result.filterDepSignal = t.filterDepSignal ? t.filterDepSignal : `<=`;\r\n result.filterDepValue = t.filterDepValue ? t.filterDepValue : 0;\r\n result.filterAccValue = t.filterAccValue ? t.filterAccValue : 0;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n private hasSelectedWeightingsValues(): boolean {\r\n return (this.interviewCycle.selectedWeightingTraitsGroups != null &&\r\n this.interviewCycle.selectedWeightingTraitsGroups.length > 0);\r\n }\r\n\r\n private hasSelectedFilterValues(): boolean {\r\n return (this.interviewCycle.selectedFilterTraitsGroups != null &&\r\n this.interviewCycle.selectedFilterTraitsGroups.length > 0);\r\n }\r\n\r\n public chartMaxValue(): number {\r\n if (this.isDeca()) {\r\n return 10;\r\n }\r\n return 100;\r\n }\r\n\r\n public chartMajorUnit(): number {\r\n if (this.isDeca()) {\r\n return 1;\r\n }\r\n return 10;\r\n }\r\n\r\n public chartMinValue(): number {\r\n if (this.isDeca()) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n public chartAxisCrossingValue(): number {\r\n if (this.isDeca()) {\r\n return 10;\r\n }\r\n return 100;\r\n }\r\n\r\n public isDeca(): boolean {\r\n const proofId = this.interviewCycle.proofId;\r\n return (proofId === this.ProofTypeEnum.ALIANCA ||\r\n proofId === this.ProofTypeEnum.SUMARIO_NATURA ||\r\n proofId === this.ProofTypeEnum.CONEXAO_DELTA_G ||\r\n proofId === this.ProofTypeEnum.PMGZ);\r\n }\r\n\r\n public chartBarColor(): string {\r\n return 'green';\r\n }\r\n\r\n public gridCellBackGroundColor(value: number): SafeStyle {\r\n let result = '';\r\n if (value > 0) {\r\n result = '#298461';\r\n }\r\n // else {\r\n // result = 'transparent';\r\n // }\r\n return this.sanitizer.bypassSecurityTrustStyle(result);\r\n }\r\n\r\n public gridCellColor(value: number): SafeStyle {\r\n let result = '';\r\n if (value > 0) {\r\n result = '#fff';\r\n }\r\n // else {\r\n // result = 'transparent';\r\n // }\r\n return this.sanitizer.bypassSecurityTrustStyle(result);\r\n }\r\n\r\n private setPercent(syntheticResult: SyntheticSelectResultPresentation, result: AnalyticSelectResultPresentation) {\r\n const percent = result.percent;\r\n if (this.isDeca()) {\r\n if (percent === 0\r\n || percent === 10) {\r\n syntheticResult.percent = null;\r\n } else {\r\n syntheticResult.percent = percent;\r\n }\r\n } else {\r\n if (percent === 100) {\r\n syntheticResult.percent = null;\r\n } else {\r\n syntheticResult.percent = percent;\r\n }\r\n }\r\n }\r\n}\r\n","

Ponderação de índices - {{interviewCycle.breedName}} ({{interviewCycle.proofName}})

\r\n
\r\n \r\n
0 && isTraitsLoaded; else listEmpty\">\r\n
\r\n

{{traitGroup.name}}

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Total

\r\n
\r\n
\r\n

{{weightingValueTotal}}

\r\n

{{weightingValueTotal}}

\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n

Buscando características...

\r\n
\r\n\r\n \r\n
\r\n

Nenhuma característica encontrada.

\r\n
\r\n
\r\n\r\n \r\n
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Interview } from 'src/_models/interview';\r\nimport { faPlus } from '@fortawesome/free-solid-svg-icons';\r\nimport { TraitGroup } from 'src/_models/trait-group';\r\nimport { ApiService } from '@app/_services/api.service';\r\nimport { InterviewCycle } from 'src/_models/interview-cycle';\r\nimport { WeightingSuggestion } from 'src/_models/weighting-suggestion/weighting-suggestion';\r\nimport { FeatureHighLighting } from 'src/_models/feature-highlighting';\r\nimport { WeightingSuggestionHasTrait } from 'src/_models/weighting-suggestion/weighting-suggestion-has-trait';\r\n\r\n@Component({\r\n selector: 'app-weighting',\r\n templateUrl: './weighting.component.html',\r\n styleUrls: ['./weighting.component.scss']\r\n})\r\nexport class WeightingComponent implements OnInit {\r\n\r\n @Input() public interview: Interview;\r\n @Output() outputWeightingValueTotal = new EventEmitter();\r\n\r\n // public selectedTraitsGroups: Array;\r\n public iconAdd = faPlus;\r\n\r\n public traitsGroups: Array;\r\n public interviewCycle: InterviewCycle;\r\n public weightingValueTotal: number;\r\n public invalidWeightingValueTotal = false;\r\n private weightingSuggestion: WeightingSuggestion;\r\n private featureHighLighting: Array;\r\n public isTraitsLoaded = false;\r\n private proofId: number;\r\n private breedId: number;\r\n\r\n constructor(\r\n private modalService: NgbModal,\r\n public apiService: ApiService) { }\r\n\r\n ngOnInit() {\r\n this.weightingValueTotal = 0;\r\n this.traitsGroups = new Array();\r\n // this.selectedTraitsGroups = new Array();\r\n this.interviewCycle = this.interview.interviewCycle[this.interview.currentInterviewCycle];\r\n this.proofId = this.interviewCycle.proofId;\r\n this.breedId = this.interviewCycle.breedId;\r\n this.weightingSuggestion = new WeightingSuggestion();\r\n this.weightingSuggestion.weightingSuggestionHasTrait = new Array();\r\n this.featureHighLighting = new Array();\r\n\r\n // this.getWeightingTraitsGroups();\r\n // this.getSelectedWeightingTraitsGroups();\r\n\r\n this.getWeightingsTraitsSuggestions();\r\n\r\n // if (this.interview.herdProblem\r\n // && this.interview.herdProblem.length > 0) {\r\n // this.getFeatureHighLighting();\r\n // }\r\n }\r\n\r\n private getWeightingsTraitsSuggestions() {\r\n if (this.interviewCycle.selectedWeightingTraitsGroups &&\r\n this.interviewCycle.selectedWeightingTraitsGroups.length > 0) {\r\n this.getSelectedWeightingTraitsGroups();\r\n } else {\r\n this.getWeightingTraitsGroups();\r\n }\r\n }\r\n\r\n private getWeightingTraitsGroups() {\r\n this.apiService.GetWeightingTraitsGroups(this.proofId, this.breedId).subscribe((data: TraitGroup[]) => {\r\n this.traitsGroups = data;\r\n this.getWeightingSuggestions();\r\n this.getFeatureHighLighting();\r\n }, (error) => console.error(error));\r\n }\r\n\r\n // public OpenModalTraits() {\r\n // if (this.interview.herdProblem\r\n // && this.interview.herdProblem.length > 0) {\r\n // this.setFeatureHighLighting();\r\n // }\r\n // this.setTraitsWeightingSuggestions();\r\n // this.CheckSelectedWeightingTraitsGroups();\r\n // const modalRef = this.modalService.open(ModalTraitsComponent, { centered: true });\r\n // modalRef.componentInstance.traitsGroups = this.traitsGroups;\r\n // modalRef.result.then((result) => {\r\n // this.selectedTraitsGroups = new Array();\r\n // this.selectedTraitsGroups.push(...result);\r\n // this.interviewCycle.selectedWeightingTraitsGroups = new Array();\r\n // this.interviewCycle.selectedWeightingTraitsGroups.push(...this.selectedTraitsGroups);\r\n // this.updatWeightingTotalValue();\r\n // }, (reason) => {\r\n // console.log(`Dispensou ${this.getDismissReason(reason)}`);\r\n // });\r\n // }\r\n\r\n // public removeTrait(traitGroupIdx: number, traitIdx: number) {\r\n // // gets the selected group\r\n // const selectedTraitGroup = this.selectedTraitsGroups[traitGroupIdx];\r\n // // gets the selected trait from the selected group\r\n // const selectedTrait = selectedTraitGroup.trait[traitIdx];\r\n // // if selected group doesn´t have traits anymore, removes it\r\n // this.traitsGroups\r\n // .find(tg => tg.id === selectedTraitGroup.id).trait\r\n // .find(t => t.id === selectedTrait.id).checked = false;\r\n // // checks trait group to false\r\n // this.traitsGroups\r\n // .find(tg => tg.id === selectedTraitGroup.id).checked = false;\r\n // // checks selected trait group to false\r\n // selectedTraitGroup.checked = false;\r\n // // checks selected trait to remove to false on traitsGroups list\r\n // selectedTraitGroup.trait.splice(traitIdx, 1);\r\n // // removes selected trait from selectedTraitsGroup list\r\n // if (selectedTraitGroup.trait.length === 0) {\r\n // // removes selected trait group from selectedTraitsGroups list\r\n // this.selectedTraitsGroups.splice(traitGroupIdx, 1);\r\n // }\r\n // this.updatWeightingTotalValue();\r\n // }\r\n\r\n // private getDismissReason(reason: any): string {\r\n // if (reason === ModalDismissReasons.ESC) {\r\n // return 'apertando ESC';\r\n // } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\r\n // return 'clicando fora do modal';\r\n // } else {\r\n // return `com: ${reason}`;\r\n // }\r\n // }\r\n\r\n private getSelectedWeightingTraitsGroups() {\r\n // if (this.interviewCycle.selectedWeightingTraitsGroups &&\r\n // this.interviewCycle.selectedWeightingTraitsGroups.length > 0) {\r\n // this.selectedTraitsGroups = this.interviewCycle.selectedWeightingTraitsGroups;\r\n this.traitsGroups = this.interviewCycle.selectedWeightingTraitsGroups;\r\n this.updatWeightingTotalValue();\r\n this.getFeatureHighLighting();\r\n this.isTraitsLoaded = true;\r\n // }\r\n }\r\n\r\n // private CheckSelectedWeightingTraitsGroups() {\r\n // for (let stg = 0; stg < this.selectedTraitsGroups.length; stg++) {\r\n // for (let tg = 0; tg < this.traitsGroups.length; tg++) {\r\n // if (this.selectedTraitsGroups[stg].id === this.traitsGroups[tg].id) {\r\n // this.traitsGroups[tg].checked = this.selectedTraitsGroups[stg].checked;\r\n // for (let st = 0; st < this.selectedTraitsGroups[stg].trait.length; st++) {\r\n // for (let t = 0; t < this.traitsGroups[tg].trait.length; t++) {\r\n // if (this.selectedTraitsGroups[stg].trait[st].id === this.traitsGroups[tg].trait[t].id) {\r\n // this.traitsGroups[tg].trait[t].checked = this.selectedTraitsGroups[stg].trait[st].checked;\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n\r\n public updatWeightingTotalValue() {\r\n this.weightingValueTotal = 0;\r\n for (let stg = 0; stg < this.traitsGroups.length; stg++) {\r\n for (let st = 0; st < this.traitsGroups[stg].trait.length; st++) {\r\n const weightingValue = this.traitsGroups[stg].trait[st].weightingValue;\r\n if (weightingValue) {\r\n // tslint:disable-next-line: radix\r\n this.weightingValueTotal += parseInt(weightingValue.toString());\r\n }\r\n }\r\n }\r\n this.invalidWeightingValueTotal = this.weightingValueTotal !== 100 ? true : false;\r\n this.outputWeightingValueTotal.emit(this.weightingValueTotal.toString());\r\n }\r\n\r\n private getWeightingSuggestions() {\r\n this.apiService.getWeightingSuggestions(this.interview).subscribe((data: WeightingSuggestion) => {\r\n this.weightingSuggestion = data;\r\n this.setTraitsWeightingSuggestions();\r\n this.updatWeightingTotalValue();\r\n this.interviewCycle.selectedWeightingTraitsGroups = new Array();\r\n this.interviewCycle.selectedWeightingTraitsGroups.push(...this.traitsGroups);\r\n this.isTraitsLoaded = true;\r\n }, (error) => console.log(error));\r\n }\r\n\r\n private setTraitsWeightingSuggestions() {\r\n this.weightingSuggestion.weightingSuggestionHasTrait.forEach((ws) => {\r\n this.traitsGroups.forEach((tg) => {\r\n tg.trait.forEach((t) => {\r\n if (t.id === ws.traitId) {\r\n // tslint:disable-next-line: radix\r\n t.weightingValue = parseInt(ws.value);\r\n }\r\n });\r\n });\r\n });\r\n }\r\n\r\n private getFeatureHighLighting() {\r\n if (this.interview.herdProblem\r\n && this.interview.herdProblem.length > 0) {\r\n this.apiService.getWeightingFeatureHighLighting(this.interview).subscribe((data: FeatureHighLighting[]) => {\r\n this.featureHighLighting = data;\r\n this.setFeatureHighLighting();\r\n }, (error) => console.log(error));\r\n }\r\n }\r\n\r\n private setFeatureHighLighting() {\r\n this.featureHighLighting.forEach((f) => {\r\n this.traitsGroups.forEach((tg) => {\r\n tg.trait.forEach((t) => {\r\n if (f.traitId === t.id) {\r\n t.isHighlighting = true;\r\n }\r\n });\r\n });\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n

Iniciando Plano Genético Corte...Aguarde...

\r\n
\r\n\r\n
\r\n\r\n
\r\n © {{ currentYear }} Alta Genetics do Brasil\r\n
\r\n\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MsalService, BroadcastService } from '@azure/msal-angular';\r\nimport { apiConfig } from '@app/_authorization/auth.config';\r\nimport { Router } from '@angular/router';\r\nimport { InteractionRequiredAuthError } from 'msal';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\n\r\nexport class LoginComponent implements OnInit {\r\n currentYear: string;\r\n loading = true;\r\n\r\n constructor(private msalService: MsalService, private router: Router, private broadcastService: BroadcastService) { }\r\n\r\n ngOnInit() {\r\n this.acquireTokenSilent();\r\n }\r\n\r\n acquireTokenSilent() {\r\n const activeAccount = this.msalService.getAccount();\r\n if (!activeAccount) {\r\n this.login();\r\n } else {\r\n this.msalService.acquireTokenSilent({ account: activeAccount, scopes: apiConfig.b2cScopes })\r\n .then((tokenResponse) => {\r\n this.router.navigate(['']);\r\n })\r\n .catch((error) => {\r\n // este método é um paleativo para o problema de login no Azure \r\n // ClientAuthError: Token renewal operation failed due to timeout.\r\n this.acquireTokenPopup();\r\n })\r\n .finally(() => {\r\n this.loading = false;\r\n });\r\n }\r\n }\r\n\r\n acquireTokenPopup() {\r\n this.msalService.acquireTokenPopup({ scopes: apiConfig.b2cScopes })\r\n .then((tokenResponse) => {\r\n this.router.navigate(['']);\r\n })\r\n .catch((error) => {\r\n if (error instanceof InteractionRequiredAuthError) {\r\n return this.msalService.acquireTokenRedirect({\r\n scopes: apiConfig.b2cScopes\r\n });\r\n }\r\n throw error;\r\n })\r\n .finally(() => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n login() {\r\n this.msalService.loginRedirect();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

Gerentes

\r\n
\r\n
\r\n \r\n \r\n Informe o Regional responsável\r\n
\r\n\r\n
\r\n \r\n \r\n Informe o Distrital responsável\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { User } from \"src/_models/user\";\r\nimport {\r\n Component,\r\n OnInit,\r\n OnChanges,\r\n SimpleChanges,\r\n Input,\r\n} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"app-managers\",\r\n templateUrl: \"./managers.component.html\",\r\n styleUrls: [\"./managers.component.scss\"],\r\n})\r\nexport class ManagersComponent implements OnInit, OnChanges {\r\n @Input() user: User;\r\n //public editUser: User;\r\n\r\n constructor() {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n //this.CopyEntity();\r\n }\r\n\r\n ngOnInit() {\r\n //this.CopyEntity();\r\n }\r\n\r\n private CopyEntity() {\r\n //this.editUser = Object.assign({}, this.user);\r\n }\r\n\r\n\r\n}\r\n","
\r\n

Solicitação de acesso

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Informe seu nome\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Informe seu e-mail\r\n Informe um e-mail válido\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Informe uma senha [6 - 8 dígitos]\r\n A senha deve ser de 6 a 8 caracteres\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Informe a confirmação de senha\r\n A confirmação deve ser igual à senha\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n 0\">{{ error }}\r\n Solicitação enviada com sucesso.\r\n \r\n \r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MustMatch } from '@app/_pipes/must-match';\r\nimport { ApiService } from '@app/_services/api.service';\r\nimport { first } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { UserInfo } from 'src/_models/user-info';\r\n\r\n@Component({\r\n selector: 'app-modal-access-request',\r\n templateUrl: './modal-access-request.component.html',\r\n styleUrls: ['./modal-access-request.component.scss']\r\n})\r\nexport class ModalAccessRequestComponent implements OnInit {\r\n\r\n public accessRequestForm: FormGroup;\r\n public loading = false;\r\n public submitted = false;\r\n public error = '';\r\n public userCreated = false;\r\n\r\n constructor(\r\n private apiService: ApiService,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n public activeModal: NgbActiveModal) { }\r\n\r\n ngOnInit() {\r\n this.accessRequestForm = this.CreateRequestForm();\r\n }\r\n\r\n get f() { return this.accessRequestForm.controls; }\r\n\r\n private CreateRequestForm(): FormGroup {\r\n return this.formBuilder.group({\r\n name: ['', Validators.required],\r\n email: ['', [Validators.required, Validators.email]],\r\n password: ['', [Validators.required, Validators.minLength(6), Validators.maxLength(8)]],\r\n passwordConfirm: ['', Validators.required]\r\n }, {\r\n validator: MustMatch('password', 'passwordConfirm')\r\n });\r\n }\r\n\r\n public onSubmit() {\r\n this.submitted = true;\r\n\r\n if (this.accessRequestForm.invalid) {\r\n return;\r\n } else {\r\n // console.group('Requisição de acesso');\r\n // console.log('Nome:', this.f.name.value);\r\n // console.log('E-mail:', this.f.email.value);\r\n // console.log('Senha:', this.f.password.value);\r\n // console.groupEnd();\r\n // console.log(this.CreateUserInfo());\r\n\r\n this.RequestAccess(this.CreateUserInfo());\r\n }\r\n }\r\n\r\n private CreateUserInfo(): UserInfo {\r\n const userInfo = new UserInfo();\r\n userInfo.name = this.f.name.value;\r\n userInfo.email = this.f.email.value;\r\n userInfo.password = this.f.password.value;\r\n return userInfo;\r\n }\r\n\r\n private RequestAccess(userInfo: UserInfo) {\r\n this.apiService.RequestAccess(userInfo)\r\n .pipe(first())\r\n .subscribe(\r\n data => {\r\n console.log(data);\r\n this.userCreated = true;\r\n this.error = '';\r\n },\r\n msg => {\r\n console.log(msg);\r\n this.error = msg.error;\r\n this.loading = false;\r\n this.userCreated = false;\r\n }\r\n );\r\n //this.accessRequestForm.reset();\r\n }\r\n}\r\n","","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-page-not-found',\r\n templateUrl: './page-not-found.component.html',\r\n styleUrls: ['./page-not-found.component.scss']\r\n})\r\nexport class PageNotFoundComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Características para sugestão de raças

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n

Carregando...

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n

Foco do rebanho

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n %\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n %\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n MACHO\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n FÊMEA\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n

Sugestão de raças

\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n

Carregando...

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnChanges, DoCheck, IterableDiffers } from '@angular/core';\r\nimport { ApiService } from '@app/_services/api.service';\r\nimport { User } from 'src/_models/user';\r\nimport { ModalBonusProgramComponent } from '@app/interview/modal-bonus-program/modal-bonus-program.component';\r\nimport { BonusProgramm } from 'src/_models/bonus-program';\r\nimport { ModalHerdProblemComponent } from '@app/interview/modal-herd-problem/modal-herd-problem.component';\r\nimport { HerdProblem } from 'src/_models/herd-problem';\r\nimport { ModalDismissReasons, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { faPlus } from '@fortawesome/free-solid-svg-icons';\r\nimport { BreedTypeSelection } from 'src/_models/breed-type-selection';\r\nimport { BreedSelection } from 'src/_models/breed-selection';\r\nimport { ProofSelection } from 'src/_models/proof-selection';\r\nimport { Question } from 'src/_models/question';\r\nimport { Suggestion } from 'src/_models/suggestion';\r\nimport { Breed } from 'src/_models/breed';\r\n\r\n@Component({\r\n selector: 'app-parameter',\r\n templateUrl: './parameter.component.html',\r\n styleUrls: ['./parameter.component.scss']\r\n})\r\nexport class ParameterComponent implements OnInit {\r\n\r\n public iconAdd = faPlus;\r\n\r\n // public user: User;\r\n public suggestion: Suggestion;\r\n\r\n public bonusProgram: Array;\r\n public herdProblem: Array;\r\n\r\n public baseBreedsList: Array;\r\n public suggestedBreedsList: Array;\r\n\r\n // OPCOES INICIALIZADAS COM 0, QUE REPRESENTA 'DESCONSIDERAR QUESTAO'\r\n public form = {\r\n // ID: 0\r\n origin: { id: 0, value: 0 },\r\n // ID: 1\r\n breedOptionsMatting: { id: 1, value: 0 },\r\n // ID: 2\r\n maxZebuine: { id: 2, value: 0, signal: 0 },\r\n // ID: 3\r\n maxTaurine: { id: 3, value: 0, signal: 0 },\r\n // ID: 4\r\n herdGoalMale: { id: 4, value: 0 },\r\n // ID: 5\r\n confinementTypeMale: { id: 5, value: 0 },\r\n // ID: 6\r\n usesCastration: { id: 6, value: 0 },\r\n // ID: 7\r\n herdGoalFemale: { id: 7, value: 0 },\r\n // ID: 8\r\n confinementTypeFemale: { id: 8, value: 0 }\r\n };\r\n\r\n constructor(private apiService: ApiService, private modalService: NgbModal) { }\r\n\r\n ngOnInit() {\r\n\r\n // this.user = new User();\r\n this.suggestion = new Suggestion();\r\n this.bonusProgram = new Array();\r\n this.herdProblem = new Array();\r\n\r\n this.suggestedBreedsList = new Array();\r\n\r\n this.apiService.getBreeds().subscribe((data: Array) => {\r\n this.baseBreedsList = data;\r\n }, (error: any) => console.error(error));\r\n\r\n // this.apiService.GetUser().subscribe((data: User) => {\r\n // this.user = data;\r\n // }, (error) => console.error(error));\r\n\r\n this.loadBreeds();\r\n }\r\n\r\n // QUESTAO 4: PROGRAMAS DE BONIFICACAO\r\n public openBonusProgram() {\r\n const modalRef = this.modalService.open(ModalBonusProgramComponent, { centered: true });\r\n modalRef.componentInstance.bonus = this.bonusProgram;\r\n modalRef.result.then((result) => {\r\n this.bonusProgram = new Array();\r\n this.bonusProgram.push(...result);\r\n }, (reason) => {\r\n console.log(`Dispensou ${this.getDismissReason(reason)}`);\r\n });\r\n }\r\n\r\n public removeBonusProgram(idx: number) {\r\n console.log(idx);\r\n this.bonusProgram.splice(idx, 1);\r\n }\r\n\r\n // QUESTAO 5: PROBLEMAS DO REBANHO\r\n public openHerdProblem() {\r\n const modalRef = this.modalService.open(ModalHerdProblemComponent, { centered: true });\r\n modalRef.componentInstance.list = this.herdProblem;\r\n modalRef.result.then((result) => {\r\n this.herdProblem = new Array();\r\n this.herdProblem.push(...result);\r\n }, (reason) => {\r\n console.log(`Dispensou ${this.getDismissReason(reason)}`);\r\n });\r\n }\r\n\r\n public removeHerdProblem(idx: number) {\r\n console.log(idx);\r\n this.herdProblem.splice(idx, 1);\r\n }\r\n\r\n public changeBaseBreed(baseBreed: any) {\r\n this.suggestion.baseBreeds = new Array();\r\n this.suggestion.baseBreeds.push(...baseBreed);\r\n }\r\n\r\n public changeSuggestedBreed(suggestedBreeds: any) {\r\n this.suggestion.suggestedBreeds = new Array();\r\n this.suggestion.suggestedBreeds.push(...suggestedBreeds);\r\n console.log('this.suggestion.suggestedBreeds', this.suggestion.suggestedBreeds);\r\n }\r\n\r\n public saveSuggestion() {\r\n\r\n // VALIDAR DADOS BASICOS PARA CRIAR UMA SUGESTAO\r\n const descriptionOk = this.suggestion.description && this.suggestion.description.length > 0;\r\n console.log('descriptionOk ', descriptionOk);\r\n\r\n const breedsOk = this.suggestion.suggestedBreeds && this.suggestion.suggestedBreeds.length > 0;\r\n console.log('breedsOk ', breedsOk);\r\n\r\n const baseBreedOk = this.suggestion.baseBreeds && this.suggestion.baseBreeds.length > 0;\r\n\r\n if (descriptionOk && baseBreedOk && breedsOk) {\r\n this.suggestion.questions = new Array();\r\n // CRIAR OBJETO QUE REPRESENTE AS QUESTOES\r\n Object.keys(this.form).forEach((q, i) => {\r\n const itemId = (this.form[q].id ? this.form[q].id : null);\r\n const itemValue = (this.form[q].value ? this.form[q].value : this.form[q]);\r\n const itemSignal = (this.form[q].signal ? this.form[q].signal : 0);\r\n console.log('itemId : ', itemId);\r\n if (itemId && itemValue > 0) {\r\n this.suggestion.questions.push( {\r\n id: itemId,\r\n question: i,\r\n value: itemValue,\r\n signal: itemSignal\r\n });\r\n }\r\n });\r\n\r\n if (this.suggestion.questions.length > 0) {\r\n // VERIFICAR SE JA EXISTE UMA SUGESTAO IDENTICA\r\n console.log(this.suggestion);\r\n } else {\r\n console.log('Condições não informadas');\r\n }\r\n\r\n } else {\r\n if (!descriptionOk) { console.log('Informe uma descrição para a sugestão'); }\r\n if (!baseBreedOk) { console.log('Informe a raça base para a sugestão'); }\r\n if (!breedsOk) { console.log('A sugestão deve exibir raças de acordo com as condições'); }\r\n }\r\n\r\n }\r\n\r\n // ======================================================================================================\r\n // METODOS PRIVADOS\r\n private getDismissReason(reason: any): string {\r\n if (reason === ModalDismissReasons.ESC) {\r\n return 'apertando ESC';\r\n } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\r\n return 'clicando fora do modal';\r\n } else {\r\n return `com: ${reason}`;\r\n }\r\n }\r\n\r\n private loadBreeds() {\r\n this.apiService.getBreedTypesSelection().subscribe((data: ProofSelection[]) => {\r\n let breedSelection = new BreedSelection();\r\n data.map(proof => {\r\n if (!this.suggestedBreedsList.find(b => b.id === proof.breedId)) {\r\n breedSelection = \r\n {\r\n id: proof.breedId,\r\n name: proof.breedName\r\n };\r\n this.suggestedBreedsList.push(breedSelection);\r\n }\r\n }\r\n );\r\n }, (error) => console.error(error));\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

Identificação

\r\n
\r\n
\r\n \r\n \r\n Informe o nome\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Informe um cpf válido\r\n Informe o cpf\r\n
\r\n
\r\n \r\n \r\n Informe um cnpj válido\r\n Informe o cnpj\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Informe ao menos um endereço válido\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Informe ao menos um e-mail válido\r\n
\r\n\r\n
\r\n \r\n Informe ao menos um telefone válido\r\n
\r\n
\r\n","import { ManagersComponent } from '@app/managers/managers.component';\r\nimport { Component, OnInit, ViewChild, OnChanges, SimpleChanges, Input, ElementRef, AfterViewInit } from '@angular/core';\r\nimport 'rxjs/add/operator/map';\r\nimport { Person } from 'src/_models/person';\r\nimport { AddressComponent } from '@app/address/address.component';\r\nimport { EmailComponent } from '@app/email/email.component';\r\nimport { PhoneComponent } from '@app/phone/phone.component';\r\n\r\n@Component({\r\n selector: 'app-person',\r\n templateUrl: './person.component.html',\r\n styleUrls: ['./person.component.scss']\r\n})\r\nexport class PersonComponent implements OnInit, OnChanges, AfterViewInit {\r\n\r\n @ViewChild(AddressComponent, { static: false }) addresses: AddressComponent;\r\n @ViewChild(EmailComponent, { static: false }) emails: EmailComponent;\r\n @ViewChild(PhoneComponent, { static: false }) phones: PhoneComponent;\r\n @ViewChild(ManagersComponent, { static: false }) managers: ManagersComponent;\r\n\r\n @ViewChild('radioCpf', { static: false }) radioCpf: ElementRef;\r\n @ViewChild('radioCnpj', { static: false }) radioCnpj: ElementRef;\r\n\r\n // @ViewChild(AddressComponent) addresses;\r\n // @ViewChild(EmailComponent) emails;\r\n // @ViewChild(PhoneComponent) phones;\r\n // @ViewChild(ManagersComponent) managers;\r\n\r\n // @ViewChild('radioCpf') radioCpf: ElementRef;\r\n // @ViewChild('radioCnpj') radioCnpj: ElementRef;\r\n\r\n @Input() person: Person;\r\n\r\n public editPerson: Person;\r\n public cpfMask = [/\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/];\r\n public isCpfChecked = false;\r\n public isCnpjChecked = false;\r\n\r\n constructor() {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.CopyPerson();\r\n }\r\n\r\n ngOnInit() {\r\n this.CopyPerson();\r\n this.showCpfOrCnpj();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.checkCpfOrCnpjRadio();\r\n }\r\n\r\n private CopyPerson() {\r\n this.editPerson = Object.assign({}, this.person);\r\n }\r\n\r\n public Validate(errors: any) {\r\n if (errors !== null) {\r\n // this.editPerson.docNumber = ``;\r\n }\r\n }\r\n\r\n public changeDocType(radio: string) {\r\n this.editPerson.docNumber = ``;\r\n if (radio === `radioCpf`) {\r\n this.isCpfChecked = true;\r\n this.isCnpjChecked = false;\r\n this.radioCnpj.nativeElement.checked = false;\r\n } else {\r\n this.isCnpjChecked = true;\r\n this.isCpfChecked = false;\r\n this.radioCpf.nativeElement.checked = false;\r\n }\r\n }\r\n\r\n public showCpfOrCnpj() {\r\n if (this.editPerson && this.editPerson.docNumber) {\r\n if (this.editPerson.docNumber.length === 11) {\r\n this.isCpfChecked = true;\r\n this.isCnpjChecked = false;\r\n } else {\r\n this.isCnpjChecked = true;\r\n this.isCpfChecked = false;\r\n }\r\n } else {\r\n this.isCpfChecked = true;\r\n this.isCnpjChecked = false;\r\n }\r\n }\r\n\r\n public checkCpfOrCnpjRadio() {\r\n if (this.editPerson && this.editPerson.docNumber) {\r\n if (this.editPerson.docNumber.length === 11) {\r\n this.radioCpf.nativeElement.checked = true;\r\n this.radioCnpj.nativeElement.checked = false;\r\n } else {\r\n this.radioCnpj.nativeElement.checked = true;\r\n this.radioCpf.nativeElement.checked = false;\r\n }\r\n } else {\r\n this.radioCpf.nativeElement.checked = true;\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n

Telefone

\r\n \r\n
\r\n
\r\n
\r\n
0\" class=\"w-100 divider mb-4\" />\r\n
\r\n
\r\n
\r\n \r\n \r\n Informe um telefone válido\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { Constants } from '@app/_utils/constants';\r\nimport { faTrashAlt, faPlus } from '@fortawesome/free-solid-svg-icons';\r\nimport { Person } from 'src/_models/person';\r\nimport { Phone } from 'src/_models/phone';\r\nimport { DialogConfirmService } from '@app/_services/dialog-confirm.service';\r\nimport { DialogCloseResult } from '@progress/kendo-angular-dialog';\r\n\r\n@Component({\r\n selector: 'app-phone',\r\n templateUrl: './phone.component.html',\r\n styleUrls: ['./phone.component.scss']\r\n})\r\nexport class PhoneComponent implements OnInit, OnChanges {\r\n\r\n @Input() person: any;\r\n\r\n public editPerson: Person;\r\n public phoneList: Array;\r\n public mask: Constants;\r\n // public phoneMask = ['(',/\\d/, /\\d/,') ', /[0-9{4,5}]/, '-', /\\d/,/\\d/, /\\d/, /\\d/];\r\n public phonePattern = '/\\(\\d{2}\\) \\d{4,5}\\-\\d{4}/g';\r\n\r\n public iconTrash = faTrashAlt;\r\n public iconAdd = faPlus;\r\n\r\n constructor(private dialogConfirmService: DialogConfirmService) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.CopyPerson();\r\n }\r\n\r\n ngOnInit() {\r\n this.CopyPerson();\r\n this.CreateNewPerson();\r\n this.phoneList = [];\r\n }\r\n\r\n private CopyPerson() {\r\n this.editPerson = Object.assign({}, this.person);\r\n }\r\n\r\n private CreateNewPerson() {\r\n if (!this.editPerson || !this.editPerson.id) {\r\n this.editPerson = new Person();\r\n this.editPerson.phone = new Array();\r\n }\r\n }\r\n\r\n public AddPhone() {\r\n if (!this.editPerson.phone) {\r\n this.editPerson.phone = new Array();\r\n }\r\n this.editPerson.phone.push(new Phone());\r\n this.SetDefaultPhone();\r\n }\r\n\r\n public RemovePhone(index: number) {\r\n const dialogTitle = `Remover telefone`;\r\n const dialogContent = `Deseja remover este telefone ?`;\r\n this.dialogConfirmService.Confirm(dialogTitle, dialogContent)\r\n .subscribe((result) => {\r\n if (!(result instanceof DialogCloseResult)) {\r\n const action = result.text;\r\n if (action === `Sim`) {\r\n this.editPerson.phone.reverse().splice(index, 1);\r\n this.editPerson.phone.reverse();\r\n this.SetDefaultPhone();\r\n }\r\n }\r\n });\r\n }\r\n\r\n public ChangeDefaultPhone(index: number) {\r\n if (this.editPerson.phone.length > 1) {\r\n this.editPerson.phone.reverse();\r\n for (let i = 0; i < this.editPerson.phone.length; i++) {\r\n this.editPerson.phone[i].isDefault = false;\r\n }\r\n this.editPerson.phone[index].isDefault = true;\r\n this.editPerson.phone.reverse();\r\n } else {\r\n this.SetDefaultPhone();\r\n }\r\n}\r\n\r\npublic SetDefaultPhone() {\r\n if (this.editPerson.phone.length === 1) {\r\n this.editPerson.phone[0].isDefault = true;\r\n }\r\n}\r\n\r\n public PhoneMask(e: any) {\r\n //console.log(e);\r\n //const input = e.target;\r\n // input.mask = input.value.replace(/\\D+/g, '').length <= 10 ? Constants.PHONE_FIXE : Constants.PHONE_MOBILE;\r\n // tslint:disable-next-line:max-line-length\r\n //input.parentNode.attributes['ng-reflect-mask'].value = input.value.replace(/\\D+/g, '').length <= 10 ? Constants.PHONE_FIXE : Constants.PHONE_MOBILE;\r\n //console.log(input.mask);\r\n // let numbers = userInput.match(/\\d/g);\r\n // let numberLength = 0;\r\n // if (numbers) {\r\n // numberLength = numbers.join(\"\").length;\r\n // }\r\n\r\n // if (numberLength > 10) {\r\n // return ['(', /[1-9]/, /[1-9]/, ')', ' ', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n // } else {\r\n // return ['(', /[1-9]/, /[1-9]/, ')', ' ', /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n // }\r\n }\r\n\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {{ error }}\r\n {{ success }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n

Carregando perfil...

\r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport 'rxjs/add/operator/map';\r\nimport { User } from 'src/_models/user';\r\nimport { ApiService } from '@app/_services/api.service';\r\nimport { PersonComponent } from '@app/person/person.component';\r\nimport { Person } from 'src/_models/person';\r\n\r\n@Component({\r\n selector: 'app-profile',\r\n templateUrl: './profile.component.html',\r\n styleUrls: ['./profile.component.scss']\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n\r\n @ViewChild(PersonComponent, { static: false }) personReference: PersonComponent;\r\n // @ViewChild(PersonComponent) personReference;\r\n\r\n public cpfMask = [/\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/];\r\n\r\n public currentUser: User;\r\n public editUser: User;\r\n public passwordConfirm: string;\r\n public isSubmitted = false;\r\n public error: string;\r\n public success: string;\r\n\r\n constructor(private apiService: ApiService) { }\r\n\r\n ngOnInit() {\r\n this.GetCurrentUser();\r\n this.currentUser = new User();\r\n this.currentUser.person = new Person();\r\n }\r\n\r\n private GetCurrentUser() {\r\n this.apiService.GetCurrentUser().subscribe((data: User) => {\r\n this.editUser = data;\r\n }, (error) => console.error(error));\r\n }\r\n\r\n private MapUserToSubmit() {\r\n this.currentUser.id = this.editUser.id;\r\n this.currentUser.password = this.editUser.password;\r\n this.currentUser.status = this.editUser.status;\r\n this.currentUser.personId = this.editUser.personId;\r\n this.currentUser.person.id = this.personReference.editPerson.id;\r\n this.currentUser.person.name = this.personReference.editPerson.name;\r\n this.currentUser.person.docNumber = this.personReference.editPerson.docNumber;\r\n this.currentUser.person.address = this.personReference.editPerson.address;\r\n this.currentUser.person.email = this.personReference.editPerson.email;\r\n this.currentUser.person.phone = this.personReference.editPerson.phone;\r\n\r\n for (let i = 0; i < this.currentUser.person.email.length; i++) {\r\n if (this.currentUser.person.email[i].isDefault) {\r\n this.currentUser.email = this.currentUser.person.email[i].email1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n public OnSubmit() {\r\n this.success = ``;\r\n this.error = ``;\r\n this.isSubmitted = true;\r\n this.MapUserToSubmit();\r\n if (this.Validate()) {\r\n this.UpdateUser();\r\n }\r\n }\r\n\r\n private ValidateUser(): boolean {\r\n if (!this.currentUser.person.name) {\r\n return false;\r\n }\r\n if (!this.currentUser.person.docNumber) {\r\n return false;\r\n }\r\n // if (!this.currentUser.password) {\r\n // return false;\r\n // }\r\n return true;\r\n }\r\n\r\n private ValidateAddress(): boolean {\r\n if (this.currentUser.person.address.length === 0) {\r\n return false;\r\n } else {\r\n for (let i = 0; i < this.currentUser.person.address.length; i++) {\r\n if (!this.currentUser.person.address[i].postalCode) {\r\n return false;\r\n }\r\n if (!this.currentUser.person.address[i].street) {\r\n return false;\r\n }\r\n if (!this.currentUser.person.address[i].number) {\r\n return false;\r\n }\r\n if (!this.currentUser.person.address[i].cityId) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n private ValidateEmail(): boolean {\r\n if (this.currentUser.person.email.length === 0) {\r\n return false;\r\n } else {\r\n for (let i = 0; i < this.currentUser.person.email.length; i++) {\r\n if (!this.currentUser.person.email[i].email1) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n private ValidatePhone(): boolean {\r\n if (this.currentUser.person.phone.length === 0) {\r\n return false;\r\n } else {\r\n for (let i = 0; i < this.currentUser.person.phone.length; i++) {\r\n if (!this.currentUser.person.phone[i].phone1) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n private Validate(): boolean {\r\n if (this.ValidateUser()\r\n && this.ValidateAddress()\r\n && this.ValidateEmail()\r\n && this.ValidatePhone()\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private UpdateUser() {\r\n this.apiService.UdpateUser(this.currentUser).subscribe((data: User) => {\r\n this.success = `Seus dados foram atualizados com sucesso`;\r\n this.error = ``;\r\n this.isSubmitted = false;\r\n }, (error) => this.error = JSON.stringify(error.error.errors));\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Clientes cadastrados

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n 0\" [ngIfElse]=\"listEmpty\">\r\n \r\n \r\n \r\n
\r\n
Cliente
\r\n
{{ dataItem.person.name }}
\r\n\r\n
Documento
\r\n
{{ dataItem.person.docNumber }}
\r\n\r\n
Email
\r\n
{{ GetDefaultEmail(dataItem) }}
\r\n\r\n
Data Cadastro
\r\n
{{ dataItem.person.registerDate | date:'dd/MM/yyyy' }}
\r\n\r\n
Ativo
\r\n
{{ isActive(dataItem.active) }}
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n Total: {{ customerList.length }}\r\n \r\n \r\n \r\n \r\n \r\n {{ GetDefaultEmail(dataItem) }}\r\n \r\n \r\n \r\n \r\n
{{ dataItem.person.registerDate | date:'dd/MM/yyyy' }}
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n

Buscando clientes...

\r\n
\r\n\r\n \r\n
\r\n

Nenhum cliente cadastrado.

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n

Informações do cliente {{ GetCustomerName(gridSelection[0]) }}

\r\n \r\n\r\n

Fazendas do cliente

\r\n\r\n
\r\n \r\n
\r\n \r\n Informe ao menos uma fazenda\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n {{ error }}\r\n {{ success }}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n","import { Component, OnInit, OnChanges, SimpleChanges, ViewChild, ViewChildren, QueryList, ElementRef, AfterViewChecked } from '@angular/core';\r\nimport { faCheck, faTimes, faPlus, IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\nimport { Customer } from 'src/_models/customer';\r\nimport { SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { GridDataResult } from '@progress/kendo-angular-grid';\r\nimport 'rxjs/add/operator/map';\r\nimport { ApiService } from '@app/_services/api.service';\r\nimport { User } from 'src/_models/user';\r\nimport { Person } from 'src/_models/person';\r\nimport { FarmComponent } from '@app/farm/farm.component';\r\nimport { Farm } from 'src/_models/farm';\r\nimport { DialogConfirmService } from '@app/_services/dialog-confirm.service';\r\nimport { DialogCloseResult } from '@progress/kendo-angular-dialog';\r\nimport { PersonComponent } from '@app/person/person.component';\r\n\r\n@Component({\r\n selector: 'app-registration',\r\n templateUrl: './registration.component.html',\r\n styleUrls: ['./registration.component.scss']\r\n})\r\n\r\nexport class RegistrationComponent implements OnInit, OnChanges {\r\n\r\n @ViewChild(PersonComponent, { static: false }) personReference: PersonComponent;\r\n @ViewChild(FarmComponent, { static: false }) farmReference: FarmComponent;\r\n @ViewChild('div', { static: false }) public div: ElementRef;\r\n\r\n // @ViewChild(PersonComponent) personReference;\r\n // @ViewChild(FarmComponent) farmReference;\r\n\r\n // @ViewChild('div') public div: ElementRef;\r\n\r\n constructor(\r\n private apiService: ApiService,\r\n private dialogConfirmService: DialogConfirmService) { }\r\n\r\n public currentUser: User;\r\n\r\n public cpfMask = [/\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/];\r\n public customer: Customer;\r\n public editCustomer: Customer;\r\n public customerList: Array;\r\n public gridView: GridDataResult;\r\n public addCustomer = faPlus;\r\n public customerSort: SortDescriptor[] = [{ field: 'name', dir: 'asc' }];\r\n public gridSelection: any[] = [];\r\n public showForm = false;\r\n public isSubmitted = false;\r\n public isCustomersLoaded = false;\r\n public error: string;\r\n public success: string;\r\n\r\n public selectedCallback = (args: { dataItem: any; }) => args.dataItem;\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.CopyCustomer();\r\n }\r\n\r\n ngOnInit() {\r\n this.gridView = {\r\n data: [],\r\n total: 0\r\n };\r\n this.CopyCustomer();\r\n this.GetCustomers();\r\n this.CreateCustomer();\r\n\r\n this.customerList = [];\r\n }\r\n\r\n // ngAfterViewChecked() {\r\n // this.scrollTop();\r\n // }\r\n\r\n private CopyCustomer() {\r\n this.editCustomer = Object.assign({}, this.customer);\r\n }\r\n\r\n /* #region LISTA DE CLIENTES */\r\n // VERIFICA SE O CLIENTE ESTÁ ATIVO\r\n public isActive(active: boolean): IconDefinition {\r\n return active ? faCheck : faTimes;\r\n }\r\n\r\n // EVENTO DE MUDANÇA NA ORDENAÇÃO DA LISTA DE CLIENTES\r\n public customersSortChange(sort: SortDescriptor[]): void {\r\n this.customerSort = sort;\r\n this.OrderCustomers();\r\n }\r\n\r\n // FILTRA A LISTA DE CLIENTES A PARTIR DO VALOR INSERIDO NO INPUT DE BUSCA\r\n public findByKeyword(e: any) {\r\n const keyword: string = e.target.value;\r\n this.FindCustomers(keyword.toLowerCase());\r\n }\r\n\r\n // ABRE O CADASTRO DE CLIENTE\r\n public openForm(c: any) {\r\n if (c) {\r\n this.editCustomer = c;\r\n } else {\r\n this.CreateCustomer();\r\n }\r\n this.showForm = true;\r\n this.success = ``;\r\n this.error = ``;\r\n }\r\n\r\n // CLICK DA LINHA DA TABELA\r\n public clickTableRow() {\r\n this.openForm(this.gridSelection[0]);\r\n }\r\n\r\n // FECHA O CADASTRO DE CLIENTE E VOLTA PRA LISTA\r\n public closeForm() {\r\n // PRECISA FAZER AS VALIDAÇÕES PARA NÃO PERDER DADOS ALTERADOS\r\n this.gridSelection = [];\r\n this.showForm = false;\r\n this.isSubmitted = false;\r\n this.scrollTop();\r\n this.GetCustomers();\r\n }\r\n\r\n public scrollTop() {\r\n this.div.nativeElement.scrollIntoView();\r\n }\r\n\r\n // ATUALIZA GRID DO KENDO BASEADO NA ORDENACAO\r\n private OrderCustomers(): void {\r\n if (this.customerList.length > 0) {\r\n this.gridView = {\r\n data: orderBy(this.customerList, this.customerSort),\r\n total: this.customerList.length\r\n };\r\n }\r\n }\r\n\r\n // ATUALIZA GRID DO KENDO BASEADO NA BUSCA TEXTUAL\r\n private FindCustomers(keyword: string): void {\r\n const filteredCustomerList = this.customerList\r\n .filter(c => c.person.name.toLowerCase().indexOf(keyword) > -1 || c.person.docNumber.indexOf(keyword) > -1);\r\n this.gridView = {\r\n data: filteredCustomerList,\r\n total: filteredCustomerList.length\r\n };\r\n }\r\n\r\n private GetCustomers() {\r\n this.apiService.GetUser().subscribe((data: User) => {\r\n this.currentUser = data;\r\n this.customerList = this.currentUser.customer;\r\n this.OrderCustomers();\r\n this.isCustomersLoaded = true;\r\n }, (error) => console.error(error));\r\n }\r\n\r\n private CreateCustomer() {\r\n this.customer = new Customer();\r\n this.customer.id = 0;\r\n this.customer.active = true;\r\n this.customer.userId = this.currentUser ? this.currentUser.id : '';\r\n this.customer.person = new Person();\r\n this.customer.farm = new Array();\r\n\r\n this.editCustomer = new Customer();\r\n this.editCustomer.id = 0;\r\n this.editCustomer.active = true;\r\n this.editCustomer.userId = this.currentUser ? this.currentUser.id : '';\r\n this.editCustomer.person = new Person();\r\n this.editCustomer.farm = new Array();\r\n\r\n this.gridSelection = [];\r\n }\r\n\r\n public GetCustomerName(customer: any): string {\r\n if (customer != null) {\r\n return customer.person.name;\r\n }\r\n return '';\r\n }\r\n\r\n private MapCustomerToSubmit() {\r\n this.customer.id = this.editCustomer.id;\r\n this.customer.active = this.editCustomer.active;\r\n this.customer.userId = this.currentUser.id;\r\n this.customer.personId = this.personReference.editPerson.id;\r\n this.customer.person = this.personReference.editPerson;\r\n this.customer.person.address = this.personReference.addresses.editPerson.address;\r\n this.customer.person.email = this.personReference.emails.editPerson.email;\r\n this.customer.person.phone = this.personReference.phones.editPerson.phone;\r\n this.customer.farm = new Array();\r\n\r\n const herds = this.farmReference.herds.toArray();\r\n\r\n for (const herd of herds) {\r\n const farm = new Farm();\r\n farm.customerId = this.customer.id;\r\n farm.id = herd.farm.id;\r\n farm.name = herd.farm.name;\r\n farm.herd = herd.editFarm.herd;\r\n\r\n this.customer.farm.push(farm);\r\n }\r\n\r\n // const herds = this.farmReference.herds.toArray();\r\n\r\n // for (let h = 0; h < herds.length; h++) {\r\n // const farm = new Farm();\r\n // farm.customerId = this.customer.id;\r\n // farm.id = herds[h].farm.id;\r\n // farm.name = herds[h].farm.name;\r\n // farm.herd = herds[h].editFarm.herd;\r\n\r\n // this.customer.farm.push(farm);\r\n // }\r\n }\r\n\r\n public onSubmit() {\r\n this.MapCustomerToSubmit();\r\n this.isSubmitted = true;\r\n if (this.Validate()) {\r\n if (this.customer.id === 0 || this.customer.id === undefined) {\r\n this.InsertCustomer();\r\n } else {\r\n this.UpdateCustomer();\r\n }\r\n }\r\n }\r\n\r\n private ValidateCustomer(): boolean {\r\n if (!this.customer.person.name) {\r\n return false;\r\n }\r\n if (!this.customer.person.docNumber) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n private ValidateAddress(): boolean {\r\n if (this.customer.person.address.length === 0) {\r\n return false;\r\n } else {\r\n for (let i = 0; i < this.customer.person.address.length; i++) {\r\n if (!this.customer.person.address[i].postalCode) {\r\n return false;\r\n }\r\n if (!this.customer.person.address[i].street) {\r\n return false;\r\n }\r\n if (!this.customer.person.address[i].number) {\r\n return false;\r\n }\r\n if (!this.customer.person.address[i].cityId) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n private ValidateEmail(): boolean {\r\n if (this.customer.person.email.length === 0) {\r\n return false;\r\n } else {\r\n for (let i = 0; i < this.customer.person.email.length; i++) {\r\n if (!this.customer.person.email[i].email1) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n private ValidatePhone(): boolean {\r\n if (this.customer.person.phone.length === 0) {\r\n return false;\r\n } else {\r\n for (let i = 0; i < this.customer.person.phone.length; i++) {\r\n if (!this.customer.person.phone[i].phone1) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n private ValidateFarm(): boolean {\r\n if (this.customer.farm.length === 0) {\r\n return false;\r\n } else {\r\n for (let i = 0; i < this.customer.farm.length; i++) {\r\n if (!this.customer.farm[i].name) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n private ValidateHerd(): boolean {\r\n for (let f = 0; f < this.customer.farm.length; f++) {\r\n if (!this.customer.farm[f].herd) {\r\n return false;\r\n }\r\n for (let h = 0; h < this.customer.farm[f].herd.length; h++) {\r\n if (!this.customer.farm[f].herd[h].name) {\r\n return false;\r\n }\r\n if (!this.customer.farm[f].herd[h].numberOfCows &&\r\n !this.customer.farm[f].herd[h].numberOfHeifers) {\r\n return false;\r\n }\r\n const totalAnimals = this.customer.farm[f].herd[h].numberOfCows + this.customer.farm[f].herd[h].numberOfHeifers;\r\n if (totalAnimals <= 0) {\r\n return false;\r\n }\r\n // if (!this.customer.farm[f].herd[h].numberOfHeifers) {\r\n // return false;\r\n // }\r\n if (!this.customer.farm[f].herd[h].breedId) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n private Validate(): boolean {\r\n if (this.ValidateCustomer()\r\n && this.ValidateAddress()\r\n && this.ValidateEmail()\r\n && this.ValidatePhone()\r\n && this.ValidateFarm()\r\n && this.ValidateHerd()) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private showMessage(dialogTitle: string, dialogContent: string) {\r\n this.dialogConfirmService.Alert(dialogTitle, dialogContent)\r\n .subscribe((result) => {\r\n if (!(result instanceof DialogCloseResult)) {\r\n const action = result.text;\r\n }\r\n });\r\n }\r\n\r\n private InsertCustomer() {\r\n this.apiService.CreateCustomer(this.customer).subscribe((data: Customer) => {\r\n this.customerList.push(data);\r\n this.gridView.data = this.customerList;\r\n this.success = `O cliente ` + this.customer.person.name + ` foi criado com sucesso`;\r\n this.error = ``;\r\n this.CreateCustomer();\r\n this.GetCustomers();\r\n this.isSubmitted = false;\r\n this.personReference.addresses.canAddAddress = true;\r\n }, (error) => this.error = JSON.stringify(error.error.errors));\r\n }\r\n\r\n private UpdateCustomer() {\r\n this.apiService.UdpateCustomer(this.customer).subscribe((data: Customer) => {\r\n let customer = this.customerList.filter((c: Customer) => c.id === this.customer.id)[0];\r\n customer = data;\r\n this.success = `O cliente ` + this.customer.person.name + ` foi atualizado com sucesso`;\r\n this.error = ``;\r\n this.CreateCustomer();\r\n this.GetCustomers();\r\n this.isSubmitted = false;\r\n this.personReference.addresses.canAddAddress = true;\r\n }, (error) => this.error = JSON.stringify(error.error.errors));\r\n }\r\n\r\n public RemoveCustomer(e: any) {\r\n // this.dialogconfirmService.confirm('Deseja excluir o cliente ' + e.dataItem.person.name + ' ?')\r\n // .then((isToDelete: boolean) => {\r\n // if (isToDelete) {\r\n // this.apiService\r\n // .DeleteCustomer(e.dataItem.id)\r\n // .then(() => {\r\n // this.customerList = this.customerList.filter((c: Customer) => c.id !== e.dataItem.id);\r\n // }).catch(error => {\r\n // console.error(error);\r\n // });\r\n // }\r\n // });\r\n }\r\n\r\n public ChangeCustomerStatus(e: any) {\r\n const dialogTitle = `Alteração de status`;\r\n const dialogContent = `Deseja ` + this.TranslateStatus(e.dataItem.active) + ` o cliente ` + e.dataItem.person.name + ` ?`;\r\n this.dialogConfirmService.Confirm(dialogTitle, dialogContent)\r\n .subscribe((result) => {\r\n if (!(result instanceof DialogCloseResult)) {\r\n const action = result.text;\r\n if (action === `Sim`) {\r\n this.apiService\r\n .ChangeCustomerStatus(e.dataItem.id)\r\n .then(() => {\r\n const customer = this.customerList.filter((c: Customer) => c.id === e.dataItem.id)[0];\r\n customer.active = !e.dataItem.active;\r\n }).catch(error => {\r\n console.error(error);\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n private TranslateStatus(active: boolean): string {\r\n if (!active) {\r\n return 'ativar';\r\n }\r\n return 'inativar';\r\n }\r\n\r\n public GetDefaultEmail(customer: Customer): string {\r\n let email = ``;\r\n for (let i = 0; i < customer.person.email.length; i++) {\r\n if (customer.person.email[i].isDefault) {\r\n email = customer.person.email[i].email1;\r\n }\r\n }\r\n return email;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n {{ interviewSavedSuccess }}\r\n
\r\n
\r\n

Entrevistas realizadas

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n 0\" [ngIfElse]=\"listEmpty\">\r\n \r\n \r\n \r\n
\r\n
Data Entrevista
\r\n
{{ dataItem.interviewDate | date:'dd/MM/yy hh:mm' }}
\r\n\r\n
Cliente
\r\n
{{ dataItem.customerName }}
\r\n\r\n
Fazenda
\r\n
{{ dataItem.farmName }}
-->\r\n\r\n
Rebanho
\r\n
{{ dataItem.herdName }}
\r\n\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n
\r\n {{ dataItem.interviewDate | date:'dd/MM/yy H:mm' }}\r\n
\r\n
\r\n Total: {{ savedInterviews.length }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n\r\n
\r\n \r\n

Buscando entrevistas realizadas...

\r\n
\r\n\r\n \r\n
\r\n

Nenhuma entrevista realizada.

\r\n
\r\n
\r\n\r\n
0\" class=\"row px-2\">\r\n
\r\n\r\n \r\n\r\n \r\n {{ cloneError }}\r\n \r\n\r\n
\r\n\r\n
\r\n \r\n {{ error }}\r\n \r\n \r\n {{ success }}\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { InterviewService } from \"./../_services/interview.service\";\r\nimport { Component, OnInit, ViewChild, ElementRef } from \"@angular/core\";\r\nimport {\r\n GridDataResult,\r\n SelectableSettings,\r\n} from \"@progress/kendo-angular-grid\";\r\nimport { SavedInterview } from \"src/_models/saved-interview/saved-interview\";\r\nimport { ApiService } from \"@app/_services/api.service\";\r\nimport { User } from \"src/_models/user\";\r\nimport { SortDescriptor, orderBy } from \"@progress/kendo-data-query\";\r\nimport { DialogCloseResult } from \"@progress/kendo-angular-dialog\";\r\nimport { DialogConfirmService } from \"@app/_services/dialog-confirm.service\";\r\nimport { saveAs } from \"@progress/kendo-file-saver\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport \"rxjs/add/operator/filter\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { Interview } from \"src/_models/interview\";\r\n\r\n@Component({\r\n selector: \"app-saved-interviews\",\r\n templateUrl: \"./saved-interviews.component.html\",\r\n styleUrls: [\"./saved-interviews.component.scss\"],\r\n})\r\nexport class SavedInterviewsComponent implements OnInit {\r\n\r\n @ViewChild(\"interviewSavedSuccessAlert\", { static: false }) private interviewSavedSuccessAlert: ElementRef;\r\n // @ViewChild(\"interviewSavedSuccessAlert\") interviewSavedSuccessAlert: ElementRef;\r\n\r\n public gridView: GridDataResult;\r\n public gridSelection: any[] = [];\r\n public selectableSettings: SelectableSettings;\r\n public interviewSort: SortDescriptor[] = [\r\n { field: \"interviewDate\", dir: \"desc\" },\r\n ];\r\n\r\n public isSavedInterviewsLoaded = false;\r\n public savedInterviews: Array;\r\n public cloneError: string;\r\n public error: string;\r\n public success: string;\r\n public interviewSavedSuccess: string;\r\n\r\n public selectedCallback = (args: { dataItem: any }) => args.dataItem;\r\n\r\n public subscription: Subscription;\r\n\r\n constructor(\r\n private apiService: ApiService,\r\n private dialogConfirmService: DialogConfirmService,\r\n private interviewService: InterviewService,\r\n private router: ActivatedRoute,\r\n private navigationRouter: Router\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.savedInterviews = new Array();\r\n this.getUserSavedInterviews();\r\n\r\n this.router.queryParams\r\n .filter((params) => params.interviewSavedSuccess)\r\n .subscribe((params) => {\r\n if (params.interviewSavedSuccess) {\r\n this.interviewSavedSuccess = `A entrevista foi concluída com sucesso!`;\r\n }\r\n });\r\n }\r\n\r\n public findByKeyword(e: any) {\r\n const keyword: string = e.target.value;\r\n this.findSavedInterviews(keyword.toLowerCase());\r\n }\r\n\r\n private findSavedInterviews(keyword: string): void {\r\n const filteredSavedInterviewsList = this.savedInterviews.filter(\r\n (s) => s.customerName.toLowerCase().indexOf(keyword) > -1\r\n );\r\n\r\n this.gridView = {\r\n data: filteredSavedInterviewsList,\r\n total: filteredSavedInterviewsList.length,\r\n };\r\n }\r\n\r\n private orderSavedInterviews(): void {\r\n if (this.savedInterviews.length > 0) {\r\n this.gridView = {\r\n data: orderBy(this.savedInterviews, this.interviewSort),\r\n total: this.savedInterviews.length,\r\n };\r\n }\r\n }\r\n\r\n public savedInterviewsSortChange(sort: SortDescriptor[]): void {\r\n this.interviewSort = sort;\r\n this.orderSavedInterviews();\r\n }\r\n\r\n private getUserSavedInterviews() {\r\n this.subscription = this.apiService.getSavedInterviews().subscribe(\r\n (data: SavedInterview[]) => {\r\n this.savedInterviews = data;\r\n this.isSavedInterviewsLoaded = true;\r\n\r\n this.subscription.unsubscribe();\r\n },\r\n (error) => console.error(error)\r\n );\r\n\r\n // this.apiService.GetUser().subscribe((data: User) => {\r\n // // .savedInterviews = data.interview;\r\n // this.mapToSavedInterview(data);\r\n // this.isSavedInterviewsLoaded = true;\r\n // }, (error) => console.error(error));\r\n }\r\n\r\n private mapToSavedInterview(user: User) {\r\n user.interview.forEach((i) => {\r\n const savedInterview = new SavedInterview();\r\n savedInterview.interviewId = i.id;\r\n savedInterview.interviewDate = new Date(i.interviewDate);\r\n savedInterview.pdf = i.pdf;\r\n user.customer.forEach((c) => {\r\n c.farm.forEach((f) => {\r\n f.herd.forEach((h) => {\r\n if (h.id === i.herdId) {\r\n savedInterview.customerName = user.customer.find(\r\n (customer) => customer.id == f.customerId\r\n ).person.name;\r\n savedInterview.farmName = c.farm.find(\r\n (farm) => farm.id == h.farmId\r\n ).name;\r\n savedInterview.herdName = h.name;\r\n }\r\n });\r\n });\r\n });\r\n this.savedInterviews.push(savedInterview);\r\n });\r\n }\r\n\r\n public generatePdf() {\r\n this.error = ``;\r\n this.success = ``;\r\n if (this.gridSelection.length === 0) {\r\n // this.noSavedInterviewSelectedAlert();\r\n this.error = `Selecione uma entrevista para gerar o pdf`;\r\n } else {\r\n const savedInterview = this.gridSelection[0];\r\n\r\n // this.apiService.getSavedInterviews().subscribe((data: SavedInterview[]) => {\r\n // this.savedInterviews = data;\r\n // this.isSavedInterviewsLoaded = true;\r\n\r\n // }, (error) => console.error(error));\r\n\r\n // const interview = this.apiService.getInterview(savedInterview.interviewId);\r\n this.apiService\r\n .getInterview(savedInterview.interviewId)\r\n .subscribe((data: Interview) => {\r\n const dataURI =\r\n `data:application/pdf;charset=utf-8;base64,` + data.pdf;\r\n saveAs(\r\n dataURI,\r\n savedInterview.customerName +\r\n `_${new Date(savedInterview.interviewDate).toLocaleString()} ` +\r\n `.pdf`\r\n );\r\n this.success = `O pdf da entrevista do cliente ${this.gridSelection[0].customerName} foi gerado com sucesso.`;\r\n });\r\n\r\n // const dataURI = `data:application/pdf;charset=utf-8;base64,` + savedInterview.pdf;\r\n // saveAs(dataURI, savedInterview.customerName + `_${ new Date(savedInterview.interviewDate).toLocaleString() } ` + `.pdf`);\r\n // this.success = `O pdf da entrevista do cliente ${ this.gridSelection[0].customerName } foi gerado com sucesso.`;\r\n // // this.generatePdfAlert();\r\n }\r\n }\r\n\r\n // public noSavedInterviewSelectedAlert() {\r\n // const dialogTitle = `Gerar Pdf`;\r\n // const dialogContent = `Por favor selecione uma entrevista para gerar o pdf.`;\r\n // this.dialogConfirmService\r\n // .Alert(dialogTitle, dialogContent)\r\n // .subscribe((result) => {\r\n // if (!(result instanceof DialogCloseResult)) {\r\n // const action = result.text;\r\n // }\r\n // });\r\n // }\r\n\r\n public generatePdfAlert() {\r\n const dialogTitle = `Gerar Pdf`;\r\n const dialogContent = `O pdf da entrevista do cliente ${this.gridSelection[0].customerName}\r\n será gerado em alguns instantes.`;\r\n this.dialogConfirmService\r\n .Alert(dialogTitle, dialogContent)\r\n .subscribe((result) => {\r\n if (!(result instanceof DialogCloseResult)) {\r\n const action = result.text;\r\n }\r\n });\r\n }\r\n\r\n successCloseAlert() {\r\n this.interviewSavedSuccessAlert.nativeElement.classList.remove(\"show\");\r\n }\r\n\r\n public cloneInterview() {\r\n // this.apiService.getInterview(this.gridSelection[0].interviewId).subscribe((result) => {\r\n // console.log(result) ;\r\n\r\n // });\r\n\r\n this.apiService\r\n .cloneInterview(this.gridSelection[0])\r\n .subscribe((result: Interview) => {\r\n\r\n console.log('ANTES:');\r\n console.log(result);\r\n\r\n\r\n this.interviewService.interview = this.interviewService.cloneInterview(result);\r\n\r\n\r\n console.log('DEPOIS:');\r\n console.log(result);\r\n console.log(this.interviewService.interview);\r\n\r\n this.navigationRouter.navigateByUrl(\"/entrevista\");\r\n });\r\n\r\n this.cloneError = \"Selecione uma entrevista para ser clonada\";\r\n }\r\n}\r\n","
\r\n
\r\n \r\n\r\n
\r\n
\r\n

Usuários cadastrados

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n 0\" [ngIfElse]=\"listEmpty\">\r\n \r\n \r\n \r\n \r\n
\r\n
Usuário
\r\n
{{ dataItem.person.name }}
\r\n\r\n
Documento
\r\n
{{ dataItem.person.docNumber }}
\r\n\r\n
Email
\r\n
{{ dataItem.email }}
\r\n\r\n
Regional
\r\n
{{ dataItem.RegionManager }}
\r\n\r\n
Distrital
\r\n
{{ dataItem.DistrictManager }}
\r\n\r\n
Data Cadastro
\r\n
{{ dataItem.registerDate | date: \"dd/MM/yyyy\" }}
\r\n\r\n
Último Acesso
\r\n
{{ dataItem.lastAccess | date: \"dd/MM/yyyy\" }}
\r\n\r\n
Ativo
\r\n
{{ IsActive(dataItem.status) }}
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n Total: {{ usersList.length }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n
\r\n {{ dataItem.registerDate | date: \"dd/MM/yyyy\" }}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {{ dataItem.lastAccess | date: \"dd/MM/yyyy\" }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
Aguardando
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n

Buscando usuários...

\r\n
\r\n\r\n \r\n \r\n

Nenhum usuário cadastrado.

\r\n
\r\n \r\n\r\n
0\" class=\"row px-2\">\r\n
\r\n \r\n {{ error }}\r\n \r\n \r\n {{ success }}\r\n \r\n \r\n Exportar atividade\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n

\r\n Informações do usuário {{ GetUserName(gridSelection[0]) }}\r\n

\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n Cancelar\r\n \r\n \r\n {{\r\n error\r\n }}\r\n {{\r\n success\r\n }}\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n","import { ExportService } from \"./../_services/export.service\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewChild,\r\n OnChanges,\r\n SimpleChanges,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport {\r\n faCheck,\r\n faTimes,\r\n faPlus,\r\n IconDefinition,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { SortDescriptor, orderBy } from \"@progress/kendo-data-query\";\r\nimport { GridDataResult, PageChangeEvent } from \"@progress/kendo-angular-grid\";\r\nimport \"rxjs/add/operator/map\";\r\nimport { User } from \"src/_models/user\";\r\nimport { ApiService } from \"@app/_services/api.service\";\r\nimport { Person } from \"src/_models/person\";\r\nimport { DialogConfirmService } from \"@app/_services/dialog-confirm.service\";\r\nimport {\r\n DialogCloseResult,\r\n DialogService,\r\n} from \"@progress/kendo-angular-dialog\";\r\nimport { PersonComponent } from \"@app/person/person.component\";\r\nimport { Alert } from \"selenium-webdriver\";\r\nimport * as XLSX from \"xlsx\";\r\nimport { UserActivity } from \"src/_models/user-activity\";\r\n\r\n@Component({\r\n selector: \"app-user\",\r\n templateUrl: \"./user.component.html\",\r\n styleUrls: [\"./user.component.scss\"],\r\n})\r\nexport class UserComponent implements OnInit, OnChanges {\r\n\r\n @ViewChild(PersonComponent, { static: true }) personReference: PersonComponent;\r\n @ViewChild(\"div\", { static: true }) public div: ElementRef;\r\n\r\n // @ViewChild(PersonComponent) personReference;\r\n \r\n // @ViewChild(\"div\") public div: ElementRef;\r\n\r\n public cpfMask = [\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n \".\",\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n \".\",\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n \"-\",\r\n /\\d/,\r\n /\\d/,\r\n ];\r\n\r\n public usersList: Array;\r\n public gridView: GridDataResult;\r\n public user: User;\r\n public editUser: User;\r\n\r\n public addUser = faPlus;\r\n public userSort: SortDescriptor[] = [{ field: \"person.name\", dir: \"asc\" }];\r\n public gridSelection: any[] = [];\r\n\r\n public showForm = false;\r\n public passwordConfirm: string;\r\n public isSubmitted = false;\r\n public isUsersLoaded = false;\r\n public error: string;\r\n public success: string;\r\n\r\n public selectedCallback = (args: { dataItem: any }) => args.dataItem;\r\n\r\n constructor(\r\n private exportService: ExportService,\r\n private apiService: ApiService,\r\n private dialogConfirmService: DialogConfirmService,\r\n private dialogService: DialogService\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.CopyUser();\r\n }\r\n\r\n ngOnInit() {\r\n this.CopyUser();\r\n this.CreateUser();\r\n this.usersList = [];\r\n this.GetUsers();\r\n }\r\n\r\n /* #region LISTA DE CLIENTES */\r\n // VERIFICA SE O CLIENTE ESTÁ ATIVO\r\n // public IsActive(active: boolean): IconDefinition {\r\n // return active ? faCheck : faTimes;\r\n // }\r\n\r\n public IsActive(status: number): IconDefinition {\r\n return status === 2 ? faCheck : faTimes;\r\n }\r\n\r\n // EVENTO DE MUDANÇA NA ORDENAÇÃO DA LISTA DE CLIENTES\r\n public UsersSortChange(sort: SortDescriptor[]): void {\r\n this.userSort = sort;\r\n this.OrderUsers();\r\n }\r\n\r\n // FILTRA A LISTA DE CLIENTES A PARTIR DO VALOR INSERIDO NO INPUT DE BUSCA\r\n public FindByKeyword(e: any) {\r\n const keyword: string = e.target.value;\r\n this.FindUsers(keyword.toLowerCase());\r\n }\r\n\r\n // ABRE O CADASTRO DE CLIENTE\r\n public OpenForm(u: any) {\r\n if (u) {\r\n this.editUser = u;\r\n } else {\r\n this.CreateUser();\r\n }\r\n this.showForm = true;\r\n this.success = ``;\r\n this.error = ``;\r\n }\r\n\r\n // CLICK DA LINHA DA TABELA\r\n public ClickTableRow() {\r\n this.OpenForm(this.gridSelection[0]);\r\n }\r\n\r\n public exportUserActivity() {\r\n this.apiService.GetAllUsersActivity().subscribe(\r\n (data: UserActivity[]) => {\r\n const activity: UserActivity[] = [];\r\n activity.push(this.createHeaderRowForExcelFile());\r\n activity.push(...data);\r\n\r\n this.exportService.exportToExcel(activity, {\r\n tabName: \"Acessos-Entrevistas\",\r\n filename: \"Plano Genético - Acessos de usuários.xlsx\",\r\n });\r\n\r\n // const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(activity, {skipHeader: true});\r\n // const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n // XLSX.utils.book_append_sheet(wb, ws, 'Acessos-Entrevistas');\r\n // XLSX.writeFile(wb, 'Plano Genético - Acessos de usuários.xlsx');\r\n },\r\n (error) => console.error(error)\r\n );\r\n }\r\n\r\n private createHeaderRowForExcelFile(): UserActivity {\r\n const result: UserActivity = new UserActivity();\r\n result.name = \"Nome\";\r\n result.email = \"E-mail\";\r\n result.regionManager = \"Regional\";\r\n result.districtManager = \"Distrital\";\r\n result.loginDate = \"Data de Acesso\";\r\n result.numberOfInterviews = \"Entrevistas\";\r\n\r\n return result;\r\n }\r\n\r\n // FECHA O CADASTRO DE CLIENTE E VOLTA PRA LISTA\r\n public CloseForm() {\r\n // PRECISA FAZER AS VALIDAÇÕES PARA NÃO PERDER DADOS ALTERADOS\r\n this.gridSelection = [];\r\n this.showForm = false;\r\n this.isSubmitted = false;\r\n this.scrollTop();\r\n }\r\n\r\n public scrollTop() {\r\n this.div.nativeElement.scrollIntoView();\r\n }\r\n\r\n // ATUALIZA GRID DO KENDO BASEADO NA ORDENACAO\r\n private OrderUsers(): void {\r\n if (this.usersList.length > 0) {\r\n this.gridView = {\r\n data: orderBy(this.usersList, this.userSort),\r\n total: this.usersList.length,\r\n };\r\n }\r\n }\r\n\r\n // ATUALIZA GRID DO KENDO BASEADO NA BUSCA TEXTUAL\r\n private FindUsers(keyword: string): void {\r\n // tslint:disable-next-line:max-line-length\r\n // const filteredUserList = this.usersList.filter(u => u.person.name.toLowerCase().indexOf(keyword) > -1 || u.person.docNumber.indexOf(keyword) > -1);\r\n const filteredUserList = this.usersList.filter(\r\n (u) =>\r\n u.person.name.toLowerCase().indexOf(keyword) > -1 ||\r\n u.email.toLowerCase().indexOf(keyword) > -1\r\n );\r\n\r\n this.gridView = {\r\n data: filteredUserList,\r\n total: filteredUserList.length,\r\n };\r\n }\r\n\r\n private GetUsers() {\r\n this.apiService.GetUsers().subscribe(\r\n (data: User[]) => {\r\n this.usersList = data;\r\n this.OrderUsers();\r\n this.isUsersLoaded = true;\r\n },\r\n (error) => console.error(error)\r\n );\r\n }\r\n\r\n private CreateUser() {\r\n this.user = new User();\r\n this.user.id = \"\";\r\n this.user.regionManager = \"\";\r\n this.user.districtManager = \"\";\r\n this.user.email = \"\";\r\n this.user.password = \"\";\r\n this.user.person = new Person();\r\n\r\n this.editUser = new User();\r\n this.editUser.id = \"\";\r\n this.editUser.email = \"\";\r\n this.editUser.password = \"\";\r\n this.editUser.person = new Person();\r\n\r\n this.passwordConfirm = \"\";\r\n }\r\n\r\n public GetUserName(user: any): string {\r\n if (user != null) {\r\n return user.person.name;\r\n }\r\n return \"\";\r\n }\r\n\r\n private CopyUser() {\r\n this.editUser = Object.assign({}, this.user);\r\n }\r\n\r\n private MapUserToSubmit() {\r\n this.user.id = this.editUser.id;\r\n this.user.password = this.editUser.password;\r\n this.user.status = this.editUser.status;\r\n this.user.regionManager = this.editUser.regionManager;\r\n this.user.districtManager = this.editUser.districtManager;\r\n this.user.personId = this.editUser.personId;\r\n this.user.person.id = this.personReference.editPerson.id;\r\n this.user.person.name = this.personReference.editPerson.name;\r\n this.user.person.docNumber = this.personReference.editPerson.docNumber;\r\n this.user.person.address = this.personReference.addresses.editPerson.address;\r\n this.user.person.email = this.personReference.emails.editPerson.email;\r\n this.user.person.phone = this.personReference.phones.editPerson.phone;\r\n\r\n if (this.user.person.email) {\r\n for (let i = 0; i < this.user.person.email.length; i++) {\r\n if (this.user.person.email[i].isDefault) {\r\n this.user.email = this.user.person.email[i].email1;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n public OnSubmit() {\r\n this.isSubmitted = true;\r\n this.MapUserToSubmit();\r\n if (this.Validate()) {\r\n if (this.user.id.length === 0) {\r\n console.log(`insert`);\r\n this.InsertUser();\r\n } else {\r\n console.log(`update`);\r\n this.UpdateUser();\r\n }\r\n }\r\n }\r\n\r\n private ValidateUser(): boolean {\r\n if (!this.user.person.name) {\r\n return false;\r\n }\r\n if (!this.user.person.docNumber) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n private ValidateAddress(): boolean {\r\n if (this.user.person.address.length === 0) {\r\n return false;\r\n } else {\r\n for (let i = 0; i < this.user.person.address.length; i++) {\r\n if (!this.user.person.address[i].postalCode) {\r\n return false;\r\n }\r\n if (!this.user.person.address[i].street) {\r\n return false;\r\n }\r\n if (!this.user.person.address[i].number) {\r\n return false;\r\n }\r\n if (!this.user.person.address[i].cityId) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n private ValidateEmail(): boolean {\r\n if (this.user.person.email.length === 0) {\r\n return false;\r\n } else {\r\n for (let i = 0; i < this.user.person.email.length; i++) {\r\n if (!this.user.person.email[i].email1) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n private ValidatePhone(): boolean {\r\n if (this.user.person.phone.length === 0) {\r\n return false;\r\n } else {\r\n for (let i = 0; i < this.user.person.phone.length; i++) {\r\n if (!this.user.person.phone[i].phone1) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n private Validate(): boolean {\r\n if (\r\n this.ValidateUser() &&\r\n this.ValidateAddress() &&\r\n this.ValidateEmail() &&\r\n this.ValidatePhone()\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private InsertUser() {\r\n this.apiService.CreateUser(this.user).subscribe(\r\n (data: User) => {\r\n this.usersList.push(this.user);\r\n this.gridView.data = this.usersList;\r\n this.success =\r\n `O usuário ` + this.user.person.name + ` foi criado com sucesso`;\r\n this.error = ``;\r\n this.CreateUser();\r\n this.GetUsers();\r\n this.isSubmitted = false;\r\n this.personReference.addresses.canAddAddress = true;\r\n },\r\n (error) => (this.error = JSON.stringify(error.error.errors))\r\n );\r\n }\r\n\r\n private UpdateUser() {\r\n this.apiService.UdpateUser(this.user).subscribe(\r\n (data: User) => {\r\n let user = this.usersList.filter((u: User) => u.id === this.user.id)[0];\r\n user = data;\r\n this.success =\r\n `O usuário ` + this.user.person.name + ` foi atualizado com sucesso`;\r\n this.error = ``;\r\n this.CreateUser();\r\n this.GetUsers();\r\n this.isSubmitted = false;\r\n this.personReference.addresses.canAddAddress = true;\r\n },\r\n (error) => (this.error = JSON.stringify(error.error.errors))\r\n );\r\n }\r\n\r\n // public RemoveUser(e: any) {\r\n // this.dialogconfirmService.confirm('Deseja excluir o usuário ' + e.dataItem.person.name + ' ?')\r\n // .then((isToDelete: boolean) => {\r\n // if (isToDelete) {\r\n // this.apiService\r\n // .DeleteUser(e.dataItem.id)\r\n // .then(() => {\r\n // this.usersList = this.usersList.filter((u: User) => u.id !== e.dataItem.id);\r\n // }).catch(error => {\r\n // console.error(error);\r\n // });\r\n // }\r\n // });\r\n // }\r\n\r\n public ChangeUserStatus(e: any) {\r\n const dialogTitle = `Alteração de status`;\r\n const dialogContent =\r\n `Deseja ` +\r\n this.TranslateStatus(e.dataItem.status) +\r\n ` o usuário ` +\r\n e.dataItem.person.name +\r\n ` ?`;\r\n\r\n this.dialogConfirmService\r\n .Confirm(dialogTitle, dialogContent)\r\n .subscribe((result) => {\r\n if (!(result instanceof DialogCloseResult)) {\r\n const action = result.text;\r\n if (action === `Sim`) {\r\n this.apiService\r\n .ChangeUserStatus(e.dataItem.id)\r\n .then(() => {\r\n if (e.dataItem.status <= 1) {\r\n e.dataItem.status = 2;\r\n } else {\r\n e.dataItem.status = 0;\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n }\r\n });\r\n\r\n // this.dialogconfirmService\r\n // .confirm('Deseja alterar o status do usuário ' + e.dataItem.person.name + ' para ' + this.TranslateStatus(e.dataItem.status) + ' ?')\r\n // .then((isToUpdate: boolean) => {\r\n // if (isToUpdate) {\r\n // this.apiService\r\n // .ChangeUserStatus(e.dataItem.id)\r\n // .then(() => {\r\n // if (e.dataItem.status === 0 || e.dataItem.status === 1) {\r\n // e.dataItem.status = 2;\r\n // } else {\r\n // e.dataItem.status = 0;\r\n // }\r\n // // const user = this.usersList.filter((u: User) => u.id === e.dataItem.id)[0];\r\n // // user.status = e.dataItem.status;\r\n // //this.usersList = this.usersList.filter((u: User) => u.id !== e.dataItem.id)\r\n // }).catch(error => {\r\n // console.error(error);\r\n // });\r\n // }\r\n // });\r\n }\r\n\r\n private TranslateStatus(status: number): string {\r\n if (status <= 1) {\r\n return \"ativar\";\r\n }\r\n return \"desativar\";\r\n }\r\n}\r\n","export const environment = {\r\n production: false,\r\n baseUrl: 'https://planogeneticoapidev.altagenetics.com.br',\r\n apiBaseUrl: 'https://planogeneticoapidev.altagenetics.com.br/api',\r\n b2cRedirectUri: 'https://planogeneticoapidev.altagenetics.com.br',\r\n b2cPostLogoutRedirectUri: 'https://planogeneticoapidev.altagenetics.com.br',\r\n b2cClientId: 'd6d9572e-9873-436d-9896-d17da696ab9c',\r\n b2cLogin: 'altab2c.b2clogin.com',\r\n b2cDomain: 'altab2c.onmicrosoft.com',\r\n b2cApiClientId: 'd6d9572e-9873-436d-9896-d17da696ab9c',\r\n b2cSignUpSignIn: 'B2C_1_Common_SignupSignin_v1',\r\n b2cResetPassword: 'B2C_1_Common_PasswordReset_v1'\r\n};","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n if (window) {\r\n window.console.log = function() {};\r\n }\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":"webpack:///"}