Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class AtividadeBO {
- public static void preencherValorHora(List<Atividade__c> lstAtividades) {
- List<Id> lstIdSprints;
- List<Id> lstIdFuncionario;
- List<Sprint__c> lstSprints;
- Map<Id, Sprint__c> mapSprint;
- List<Id> lstIdProjeto;
- List<Alocacao__c> lstAlocacoes;
- Map<String, Alocacao__c> mapAlocacoes;
- lstIdSprints = new List<Id>();
- lstIdFuncionario = new List<Id>();
- for(Atividade__c atividade : lstAtividades) {
- lstIdSprints.add(atividade.Sprint__c);
- lstIdFuncionario.add(atividade.OwnerId);
- }
- lstSprints = [
- SELECT Id, Projeto__c
- FROM Sprint__c
- WHERE Id IN :lstIdSprints
- ];
- lstIdProjeto = new List<Id>();
- mapSprint = new Map<Id, Sprint__c>();
- for(Sprint__c sprint : lstSprints) {
- lstIdProjeto.add(sprint.Projeto__c);
- mapSprint.put(sprint.Id, sprint);
- }
- lstAlocacoes = [SELECT Id, Projeto__c, Funcionario__c, Funcao__c
- FROM Alocacao__c
- WHERE Projeto__c IN :lstIdProjeto
- AND Funcionario__c IN :lstIdFuncionario];
- mapAlocacoes = new Map<String, Alocacao__c>();
- for(Alocacao__c alocacao : lstAlocacoes) {
- String chave;
- chave = alocacao.Projeto__c + '-' + alocacao.Funcionario__c;
- mapAlocacoes.put(chave, alocacao);
- }
- for(Atividade__c atividade : lstAtividades) {
- Sprint__c sprint;
- String chave;
- Alocacao__c alocacao;
- Decimal valorHora = 0;
- sprint = mapSprint.get(atividade.Sprint__c);
- chave = sprint.Projeto__c + '-' + atividade.OwnerId;
- alocacao = mapAlocacoes.get(chave);
- if(alocacao.Funcao__c == 'Desenvolvedor') {
- valorHora = 50;
- }
- else if(alocacao.Funcao__c == 'Especialista') {
- valorHora = 100;
- }
- else if(alocacao.Funcao__c == 'Gerente') {
- valorHora = 200;
- }
- atividade.ValorHora__c = valorHora;
- }
- }
- public static void preencherValorHora(Atividade__c atividade) {
- Sprint__c sprint;
- List<Alocacao__c> lst;
- sprint = [SELECT Id, Projeto__c FROM Sprint__c WHERE Id = :atividade.Sprint__c];
- if(!lst.isEmpty()) {
- Alocacao__c alocacao = lst[0];
- Decimal valorHora = 0;
- if(alocacao.Funcao__c == 'Desenvolvedor') {
- valorHora = 50;
- }
- else if(alocacao.Funcao__c == 'Especialista') {
- valorHora = 100;
- }
- else if(alocacao.Funcao__c == 'Gerente') {
- valorHora = 200;
- }
- atividade.ValorHora__c = valorHora;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement