Advertisement
Guest User

Untitled

a guest
May 26th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.12 KB | None | 0 0
  1. public class AtividadeBO {
  2.  
  3.  
  4. public static void preencherValorHora(List<Atividade__c> lstAtividades) {
  5. List<Id> lstIdSprints;
  6. List<Id> lstIdFuncionario;
  7.  
  8. List<Sprint__c> lstSprints;
  9. Map<Id, Sprint__c> mapSprint;
  10. List<Id> lstIdProjeto;
  11.  
  12. List<Alocacao__c> lstAlocacoes;
  13. Map<String, Alocacao__c> mapAlocacoes;
  14.  
  15. lstIdSprints = new List<Id>();
  16. lstIdFuncionario = new List<Id>();
  17. for(Atividade__c atividade : lstAtividades) {
  18. lstIdSprints.add(atividade.Sprint__c);
  19. lstIdFuncionario.add(atividade.OwnerId);
  20. }
  21.  
  22. lstSprints = [
  23. SELECT Id, Projeto__c
  24. FROM Sprint__c
  25. WHERE Id IN :lstIdSprints
  26. ];
  27.  
  28. lstIdProjeto = new List<Id>();
  29. mapSprint = new Map<Id, Sprint__c>();
  30. for(Sprint__c sprint : lstSprints) {
  31. lstIdProjeto.add(sprint.Projeto__c);
  32. mapSprint.put(sprint.Id, sprint);
  33. }
  34.  
  35. lstAlocacoes = [SELECT Id, Projeto__c, Funcionario__c, Funcao__c
  36. FROM Alocacao__c
  37. WHERE Projeto__c IN :lstIdProjeto
  38. AND Funcionario__c IN :lstIdFuncionario];
  39.  
  40. mapAlocacoes = new Map<String, Alocacao__c>();
  41. for(Alocacao__c alocacao : lstAlocacoes) {
  42. String chave;
  43.  
  44. chave = alocacao.Projeto__c + '-' + alocacao.Funcionario__c;
  45. mapAlocacoes.put(chave, alocacao);
  46. }
  47.  
  48. for(Atividade__c atividade : lstAtividades) {
  49. Sprint__c sprint;
  50. String chave;
  51. Alocacao__c alocacao;
  52. Decimal valorHora = 0;
  53.  
  54. sprint = mapSprint.get(atividade.Sprint__c);
  55.  
  56. chave = sprint.Projeto__c + '-' + atividade.OwnerId;
  57. alocacao = mapAlocacoes.get(chave);
  58.  
  59. if(alocacao.Funcao__c == 'Desenvolvedor') {
  60. valorHora = 50;
  61. }
  62. else if(alocacao.Funcao__c == 'Especialista') {
  63. valorHora = 100;
  64. }
  65. else if(alocacao.Funcao__c == 'Gerente') {
  66. valorHora = 200;
  67. }
  68.  
  69. atividade.ValorHora__c = valorHora;
  70. }
  71. }
  72.  
  73. public static void preencherValorHora(Atividade__c atividade) {
  74. Sprint__c sprint;
  75. List<Alocacao__c> lst;
  76.  
  77. sprint = [SELECT Id, Projeto__c FROM Sprint__c WHERE Id = :atividade.Sprint__c];
  78.  
  79.  
  80. if(!lst.isEmpty()) {
  81. Alocacao__c alocacao = lst[0];
  82. Decimal valorHora = 0;
  83.  
  84. if(alocacao.Funcao__c == 'Desenvolvedor') {
  85. valorHora = 50;
  86. }
  87. else if(alocacao.Funcao__c == 'Especialista') {
  88. valorHora = 100;
  89. }
  90. else if(alocacao.Funcao__c == 'Gerente') {
  91. valorHora = 200;
  92. }
  93.  
  94. atividade.ValorHora__c = valorHora;
  95. }
  96. }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement