示例#1
0
class ItemFaseSerializer(serializers.ModelSerializer):
    valor_hora = ValorHoraSerializer()

    class Meta:
        model = ItemFase
        fields = ('id', 'valor_hora', 'valor_selecionado', 'quantidade_horas',
                  'valor_total')
示例#2
0
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)
示例#3
0
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')
示例#4
0
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)
示例#5
0
    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)
示例#6
0
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)
示例#7
0
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)
示例#8
0
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)
示例#9
0
class MedicaoSerializer(serializers.ModelSerializer):
    valor_hora = ValorHoraSerializer()
    class Meta:
        model = Medicao
        fields = ('id', 'valor_hora', 'quantidade_horas', 'valor_total')