class ItemFaseSerializer(serializers.ModelSerializer): valor_hora = ValorHoraSerializer() class Meta: model = ItemFase fields = ('id', 'valor_hora', 'valor_selecionado', 'quantidade_horas', 'valor_total')
def buscar_tipo_hora_por_fases(request, demanda_id, format=None): fase_list = OrcamentoFase.objects.filter(orcamento__demanda__id=demanda_id) faseserializer_list = [] for i in fase_list: serializer = OrcamentoFaseSerializer(i).data faseserializer_list.append(serializer) valor_horas = ValorHora.objects.filter( itemfase__orcamento_fase=i).distinct() valor_hora_list = [] for i in valor_horas: vigencia = Vigencia.objects.filter( valor_hora=i, data_inicio__lte=datetime.date.today(), data_fim__gte=datetime.date.today()) if vigencia: valor_hora_data = ValorHoraSerializer(i).data valor_hora_data['vigencia'] = VigenciaSerializer( vigencia[0]).data valor_hora_list.append(valor_hora_data) serializer['valorhora'] = valor_hora_list return Response(faseserializer_list)
class OrcamentoSerializer(serializers.ModelSerializer): valor_hora_orcamento = ValorHoraSerializer() class Meta: model = Orcamento fields = ('id', 'total_orcamento', 'margem_risco', 'lucro_desejado', 'imposto_devidos', 'total_despesas', 'valor_hora_orcamento', 'valor_desejado', 'lucro_calculado_desejado', 'horas_desejado', 'valor_projetado', 'horas_projetadas', 'lucro_calculado_projetado', 'valor_proposto', 'horas_proposto', 'lucro_calculado_proposto')
def buscar_valor_horas(request): valor_horas = ValorHora.objects.all() valor_hora_list = [] for i in valor_horas: vigencia = Vigencia.objects.filter( valor_hora=i, data_inicio__lte=datetime.date.today(), data_fim__gte=datetime.date.today()) if vigencia: valor_hora_data = ValorHoraSerializer(i).data valor_hora_data['vigencia'] = VigenciaSerializer(vigencia[0]).data valor_hora_list.append(valor_hora_data) return Response(valor_hora_list)
def serializar_valor_hora(self, id): valor_hora = ValorHora.objects.get(pk=id) data = ValorHoraSerializer(valor_hora).data vigencias = Vigencia.objects.filter(valor_hora__id=valor_hora.id) vigencia_list = [] for vigencia in vigencias: vigencia_data = VigenciaSerializer(vigencia).data vigencia_data['data_inicio'] = formatar_data(vigencia.data_inicio) vigencia_data['data_fim'] = formatar_data(vigencia.data_fim) vigencia_list.append(vigencia_data) data['vigencias'] = vigencia_list return Response(data)
def buscar_valor_hora_b2card(request, data, format=None): valor_horas = ValorHora.objects.filter( Q(centro_custo__nome='B2Card') & Q(tipo_hora__descricao='Custo Medio Interno')) # valor_horas = ValorHora.objects.filter(Q(centro_custo__nome='B2Card')) data = converter_data_url(data) valor_hora_list = [] for i in valor_horas: vigencia = Vigencia.objects.filter( valor_hora=i, data_inicio__lte=data).filter( Q(data_fim__isnull=True) | Q(data_fim__gte=data)) if vigencia: valor_hora_data = ValorHoraSerializer(i).data valor_hora_data['vigencia'] = VigenciaSerializer(vigencia[0]).data valor_hora_list.append(valor_hora_data) return Response(valor_hora_list)
def buscar_valor_hora_por_cliente(request, cliente_id, data, format=None): data = converter_data_url(data) valor_horas = ValorHora.objects.filter( Q(centro_custo__apropriacao__pessoa__pessoajuridica__id=cliente_id) & Q(tipo_hora__descricao='Valor de Venda para Clientes')) valor_hora_list = [] for i in valor_horas: vigencia = Vigencia.objects.filter( valor_hora=i, data_inicio__lte=data).filter( Q(data_fim__isnull=True) | Q(data_fim__gte=data)) if vigencia: valor_hora_data = ValorHoraSerializer(i).data valor_hora_data['vigencia'] = VigenciaSerializer(vigencia[0]).data valor_hora_list.append(valor_hora_data) return Response(valor_hora_list)
def buscar_valor_imposto_custoadmin_b2card(request, data, format=None): valor_imposto_custoadmin = ValorHora.objects.filter( Q(centro_custo__nome='B2Card') & (Q(descricao='Valor % Custo Administrativo') | Q(descricao='Valor % Impostos'))) data = converter_data_url(data) #valor_taxa_total = 0 valor_taxa_total = [] for i in valor_imposto_custoadmin: vigencia = Vigencia.objects.filter( valor_hora=i, data_inicio__lte=data).filter( Q(data_fim__isnull=True) | Q(data_fim__gte=data)) if vigencia: valor_taxa_data = ValorHoraSerializer(i).data valor_taxa_data['vigencia'] = VigenciaSerializer(vigencia[0]).data valor_taxa_total.append(valor_taxa_data) return Response(valor_taxa_total)
class MedicaoSerializer(serializers.ModelSerializer): valor_hora = ValorHoraSerializer() class Meta: model = Medicao fields = ('id', 'valor_hora', 'quantidade_horas', 'valor_total')