def test_copy_attribute__patrimonio__descricao(self): """ Testa a copia de atributos entre equipamento e patrimonio """ eq1 = Equipamento.objects.create(id=1, part_number="part_number1", modelo="modelo1", descricao="descricao1") tipo = Tipo.objects.create() patr = Patrimonio.objects.create(id=2, part_number="", modelo="", descricao="", tipo=tipo, equipamento=eq1, checado=False) # verifica se o valor do atributo está diferente ANTES do teste self.assertNotEqual(patr.descricao, patr.equipamento.descricao) verficacao = VerificacaoPatrimonioEquipamento() verficacao.copy_attribute('patrimonio', 2, 'descricao') patr_retrieve = Patrimonio.objects.get(pk=2) eq_retrieve = Equipamento.objects.get(pk=1) self.assertEqual(patr_retrieve.descricao, eq_retrieve.descricao) self.assertEqual(patr_retrieve.descricao, 'descricao1')
def copy_attribute_to_patrimonio(request): # Id do patrimonio patrimonio_id = request.GET.get('patrimonio_id') # Destino do valor a ser copiado ['patrimonio', 'equipamento'] to_object = request.GET.get('to_object') # Nome do atributo a ser copiado att_name = request.GET.get('att_name') verficacao = VerificacaoPatrimonioEquipamento() verficacao.copy_attribute(to_object, patrimonio_id, att_name) if att_name == 'descricao': return patrimonio_equipamento_descricao_diferente(request) elif att_name == 'modelo': return patrimonio_equipamento_modelo_diferente(request) elif att_name == 'marca': return patrimonio_equipamento_marca_diferente(request) elif att_name == 'part_number': return patrimonio_equipamento_part_number_diferente(request) elif att_name == 'tamanho': return patrimonio_equipamento_tamanho_diferente(request) elif att_name == 'procedencia': return patrimonio_procedencia_vazia(request) else: raise ValueError('Valor inválido para o parametro. att_name' + str(att_name))
def patrimonio_equipamento_tamanho_diferente(request): ajax = request.GET.get('ajax') filtros_entrada = { 'filtro_tipo_patrimonio': request.GET.get('filtro_tipo_patrimonio') } verficacao = VerificacaoPatrimonioEquipamento() retorno = verficacao.tamanhoDiferente(filtros_entrada) filtros_saida = [] if len(retorno) > 0: filtros_saida = { "tipos": verficacao.listaFiltroTipoPatrimonio( verficacao.tamanhoDiferente()[0]) } if ajax: return render( request, 'verificacao/patrimonio_equipamento-table.html', { 'desc': 'Patrimonio e Equipamento com Tamanho diferente', 'patrimonios': retorno, 'atributo': 'tamanho', 'filtros': filtros_saida }) else: return render( request, 'verificacao/patrimonio_equipamento.html', { 'desc': 'Patrimonio e Equipamento com Tamanho diferente', 'patrimonios': retorno, 'atributo': 'tamanho', 'filtros': filtros_saida })
def test_copy_attribute__patrimonio__procedencia(self): ent = Entidade.objects.create(sigla='HP', nome='Hewlet', cnpj='00.000.000/0000-00', fisco=True, url='') equip = Equipamento.objects.create(id=1, entidade_fabricante=ent) tipo = Tipo.objects.create() patr = Patrimonio.objects.create(id=2, tipo=tipo, equipamento=equip) # verifica se o valor do atributo está diferente ANTES do teste self.assertNotEqual(patr.entidade_procedencia, equip.entidade_fabricante) verficacao = VerificacaoPatrimonioEquipamento() verficacao.copy_attribute('patrimonio', 2, 'procedencia') # verifica se o valor do atributo está diferente DEPOIS do teste patr_retrieve = Patrimonio.objects.get(pk=2) eq_retrieve = Equipamento.objects.get(pk=1) self.assertEqual(patr_retrieve.entidade_procedencia, eq_retrieve.entidade_fabricante)
def patrimonio_equipamento_tamanho_diferente(request): ajax = request.GET.get('ajax') filtros_entrada = {'filtro_tipo_patrimonio': request.GET.get('filtro_tipo_patrimonio')} verficacao = VerificacaoPatrimonioEquipamento() retorno = verficacao.tamanhoDiferente(filtros_entrada) filtros_saida = [] if len(retorno) > 0: filtros_saida = {"tipos": verficacao.listaFiltroTipoPatrimonio(verficacao.tamanhoDiferente()[0])} if ajax: return render(request, 'verificacao/patrimonio_equipamento-table.html', {'desc': 'Patrimonio e Equipamento com Tamanho diferente', 'patrimonios': retorno, 'atributo': 'tamanho', 'filtros': filtros_saida}) else: return render(request, 'verificacao/patrimonio_equipamento.html', {'desc': 'Patrimonio e Equipamento com Tamanho diferente', 'patrimonios': retorno, 'atributo': 'tamanho', 'filtros': filtros_saida})
def test_tamanho_diferente(self): """ Testa patrimonio e equipamentos com tamanhos diferente """ eq1 = Equipamento.objects.create(id=1, part_number="", modelo="", descricao="", tamanho=1.0) eq2 = Equipamento.objects.create(id=2, part_number="", modelo="", descricao="") eq3 = Equipamento.objects.create(id=3, part_number="", modelo="", descricao="", tamanho=1.0) tipo1 = Tipo.objects.create(nome='tipo1') tipo2 = Tipo.objects.create(nome='tipo2') patr1 = Patrimonio.objects.create(part_number="pt1", modelo="pt1", descricao="pt1", tamanho=1.0, # @UnusedVariable tipo=tipo1, equipamento=eq1, checado=True) patr2 = Patrimonio.objects.create(part_number="pt2", modelo="pt2", descricao="pt2", tipo=tipo1, # @UnusedVariable equipamento=eq2, checado=True) patr3 = Patrimonio.objects.create(part_number="pt3", modelo="pt3", descricao="pt3", tamanho=11.0, tipo=tipo2, equipamento=eq3, checado=True) verficacao = VerificacaoPatrimonioEquipamento() retorno = verficacao.tamanhoDiferente() self.assertEqual(len(retorno), 1) self.assertEqual(len(retorno[0]), 1) # check filter filtro = {"filtro_tipo_patrimonio": 1} retorno = verficacao.tamanhoDiferente(filtro) self.assertEqual(len(retorno), 1) self.assertEqual(len(retorno[0]), 0) patr3.tipo = tipo1 patr3.save() retorno = verficacao.tamanhoDiferente(filtro) self.assertEqual(len(retorno), 1) self.assertEqual(len(retorno[0]), 1)
def patrimonio_consolidado(request): retorno = [] filtros_entrada = {'filtro_tipo_patrimonio': request.GET.get('filtro_tipo_patrimonio')} verificacaoPatrimonio = VerificacaoPatrimonio() equipamentoVazio = verificacaoPatrimonio.equipamentoVazio(filtros_entrada) count = sum([len(patrimonios) for patrimonios in equipamentoVazio]) retorno.append({'desc': u'Patrimonios sem Equipamento', 'url': 'patrimonio_equipamento_vazio', 'qtd': count}) verificacaoPatrimonioEquipamento = VerificacaoPatrimonioEquipamento() descricaoDiferente = verificacaoPatrimonioEquipamento.descricaoDiferente(filtros_entrada) count = sum([len(patrimonios) for patrimonios in descricaoDiferente]) retorno.append({'desc': u'Patrimonio e Equipamento com Descricao diferente', 'url': 'patrimonio_equipamento_descricao_diferente', 'qtd': count}) tamanhoDiferente = verificacaoPatrimonioEquipamento.tamanhoDiferente(filtros_entrada) count = sum([len(patrimonios) for patrimonios in tamanhoDiferente]) retorno.append({'desc': u'Patrimonio e Equipamento com Tamanho diferente', 'url': 'patrimonio_equipamento_tamanho_diferente', 'qtd': count}) procedenciaVazia = verificacaoPatrimonio.procedenciaVazia(filtros_entrada) count = sum([len(patrimonios) for patrimonios in procedenciaVazia]) retorno.append({'desc': u'Patrimonio com procedecia vazia', 'url': 'patrimonio_procedencia_vazia', 'qtd': count}) localidadeDiferente = verificacaoPatrimonio.localidadeDiferente(filtros=filtros_entrada) count = sum([len(patrimonios) for patrimonios in localidadeDiferente]) retorno.append({'desc': u'Patrimonio com localidade diferente dos filhos', 'url': 'patrimonio_localidade_diferente', 'qtd': count}) retorno.append({'desc': u'Verificação de Patrimônios e Equipamentos', 'url': 'check_patrimonio_equipamento', 'qtd': None}) filtros = {"tipos": Tipo.objects.all()} return render(request, 'verificacao/patrimonio_consolidado.html', {'verificacoes': retorno, 'filtros': filtros})
def patrimonio_equipamento_vazio(request): filtros_entrada = { 'filtro_tipo_patrimonio': request.GET.get('filtro_tipo_patrimonio') } verficacao = VerificacaoPatrimonio() retorno = verficacao.equipamentoVazio(filtros_entrada) filtros_saida = [] if len(retorno) > 0: filtros_saida =\ {"tipos": VerificacaoPatrimonioEquipamento().listaFiltroTipoPatrimonio(verficacao.equipamentoVazio()[0])} return render( request, 'verificacao/patrimonio.html', { 'desc': 'Patrimonios sem Equipamento', 'patrimonios': retorno, 'filtros': filtros_saida })
def patrimonio_localidade_diferente(request): filtros_entrada = { 'filtro_tipo_patrimonio': request.GET.get('filtro_tipo_patrimonio') } verficacao = VerificacaoPatrimonio() retorno = verficacao.localidadeDiferente(filtros_entrada) filtros_saida = [] if len(retorno) > 0: filtros_saida = \ {"tipos": VerificacaoPatrimonioEquipamento().listaFiltroTipoPatrimonio(verficacao.equipamentoVazio()[0])} return render( request, 'verificacao/patrimonio_localidade.html', { 'desc': 'Patrimonios com componentes com historico local diferente', 'patrimonios': retorno, 'filtros': filtros_saida })
def test_descricao_diferente(self): """ Testa patrimonio e equipamentos com descricao diferente """ eq1 = Equipamento.objects.create(id=1, part_number="", modelo="", descricao="desc1") eq2 = Equipamento.objects.create(id=2, part_number="", modelo="", descricao="") eq3 = Equipamento.objects.create(id=3, part_number="", modelo="", descricao="desc3") tipo1 = Tipo.objects.create(nome='tipo1') tipo2 = Tipo.objects.create(nome='tipo2') patr1 = Patrimonio.objects.create( part_number="pt1", modelo="pt1", descricao="desc1", tipo=tipo1, # @UnusedVariable equipamento=eq1, checado=True) patr2 = Patrimonio.objects.create( part_number="pt2", modelo="pt2", descricao="", tipo=tipo1, # @UnusedVariable equipamento=eq2, checado=True) patr3 = Patrimonio.objects.create(part_number="pt3", modelo="pt3", descricao="desc11111", tipo=tipo2, equipamento=eq3, checado=True) verficacao = VerificacaoPatrimonioEquipamento() retorno = verficacao.descricaoDiferente() self.assertEqual(len(retorno), 1) self.assertEqual(len(retorno[0]), 1) # check filter filtro = {"filtro_tipo_patrimonio": 1} retorno = verficacao.descricaoDiferente(filtro) self.assertEqual(len(retorno), 1) self.assertEqual(len(retorno[0]), 0) patr3.tipo = tipo1 patr3.save() retorno = verficacao.descricaoDiferente(filtro) self.assertEqual(len(retorno), 1) self.assertEqual(len(retorno[0]), 1)
def patrimonio_consolidado(request): retorno = [] filtros_entrada = { 'filtro_tipo_patrimonio': request.GET.get('filtro_tipo_patrimonio') } verificacaoPatrimonio = VerificacaoPatrimonio() equipamentoVazio = verificacaoPatrimonio.equipamentoVazio(filtros_entrada) count = sum([len(patrimonios) for patrimonios in equipamentoVazio]) retorno.append({ 'desc': u'Patrimonios sem Equipamento', 'url': 'patrimonio_equipamento_vazio', 'qtd': count }) verificacaoPatrimonioEquipamento = VerificacaoPatrimonioEquipamento() descricaoDiferente = verificacaoPatrimonioEquipamento.descricaoDiferente( filtros_entrada) count = sum([len(patrimonios) for patrimonios in descricaoDiferente]) retorno.append({ 'desc': u'Patrimonio e Equipamento com Descricao diferente', 'url': 'patrimonio_equipamento_descricao_diferente', 'qtd': count }) tamanhoDiferente = verificacaoPatrimonioEquipamento.tamanhoDiferente( filtros_entrada) count = sum([len(patrimonios) for patrimonios in tamanhoDiferente]) retorno.append({ 'desc': u'Patrimonio e Equipamento com Tamanho diferente', 'url': 'patrimonio_equipamento_tamanho_diferente', 'qtd': count }) procedenciaVazia = verificacaoPatrimonio.procedenciaVazia(filtros_entrada) count = sum([len(patrimonios) for patrimonios in procedenciaVazia]) retorno.append({ 'desc': u'Patrimonio com procedecia vazia', 'url': 'patrimonio_procedencia_vazia', 'qtd': count }) localidadeDiferente = verificacaoPatrimonio.localidadeDiferente( filtros=filtros_entrada) count = sum([len(patrimonios) for patrimonios in localidadeDiferente]) retorno.append({ 'desc': u'Patrimonio com localidade diferente dos filhos', 'url': 'patrimonio_localidade_diferente', 'qtd': count }) retorno.append({ 'desc': u'Verificação de Patrimônios e Equipamentos', 'url': 'check_patrimonio_equipamento', 'qtd': None }) filtros = {"tipos": Tipo.objects.all()} return render(request, 'verificacao/patrimonio_consolidado.html', { 'verificacoes': retorno, 'filtros': filtros })