def produtividade_agricultores(ano, esta_logado): cnxn = create_connection() cursor = cnxn.cursor() if esta_logado: cursor.execute( "SELECT a.id, r.id, r.nome_regiao, a.nome_agricultor, p.quantidade_produzida, p.area_plantada FROM Regiao r, Producao p, Agricultor a, Comunidade c where year(p.data_plantio)=%d and a.id_comunidade=c.id and p.id_agricultor=a.id and c.id_regiao=r.id and p.id_cultura=1" % ano) col = [ "id_agricultor", "id_regiao", "nome_regiao", "nome_agricultor", "produtividade", "area_plantada" ] posicaoQuantProduzida = 4 posicaoAreaPlantada = 5 else: cursor.execute( "SELECT a.id, r.id, r.nome_regiao, p.quantidade_produzida, p.area_plantada FROM Regiao r, Producao p, Agricultor a, Comunidade c where year(p.data_plantio)=%d and a.id_comunidade=c.id and p.id_agricultor=a.id and c.id_regiao=r.id and p.id_cultura=1" % ano) col = [ "id_agricultor", "id_regiao", "nome_regiao", "produtividade", "area_plantada" ] posicaoQuantProduzida = 3 posicaoAreaPlantada = 4 rows = cursor.fetchall() cnxn.close() lista_tuplas = [] for linhas in rows: elemento = linhas[0:posicaoQuantProduzida] + (calculaProdutividade( linhas[posicaoQuantProduzida], linhas[posicaoAreaPlantada]), ) + (linhas[posicaoAreaPlantada], ) lista_tuplas.append(elemento) return funcoesAux.montaJson(funcoesAux.montaListaJson(lista_tuplas, col))
def receita_agricultor(ano, esta_logado): print esta_logado if esta_logado: col = ["id_agricultor", "nome_regiao", "nome_agricultor", "receita"] else: col = ["id_agricultor", "nome_regiao", "receita"] return funcoesAux.montaJson(funcoesAux.montaListaJson(receita_aux(ano, esta_logado), col))
def produtores_algodao(esta_logado): cnxn = create_connection() cursor = cnxn.cursor() if esta_logado: cursor.execute( "SELECT distinct a.id, a.nome_agricultor, a.id_comunidade, c.nome_comunidade, c.nome_cidade, c.id_regiao, r.nome_regiao FROM agricultor a, comunidade c, regiao r, Producao p where a.id_comunidade = c.id and r.id = c.id_regiao and p.id_agricultor=a.id and p.quantidade_produzida > 0 and p.id_cultura=1 order by id" ) col = [ "certificacoes", "id", "nome_agricultor", "id_comunidade", "nome_comunidade", "nome_cidade", "id_regiao", "nome_regiao" ] else: cursor.execute( "SELECT distinct a.id, a.id_comunidade, c.nome_comunidade, c.nome_cidade, c.id_regiao, r.nome_regiao FROM agricultor a, comunidade c, regiao r, Producao p where a.id_comunidade = c.id and r.id = c.id_regiao and p.id_agricultor=a.id and p.quantidade_produzida > 0 and p.id_cultura=1 order by id" ) col = [ "certificacoes", "id", "id_comunidade", "nome_comunidade", "nome_cidade", "id_regiao", "nome_regiao" ] rows = cursor.fetchall() cnxn.close() return funcoesAux.montaJson( funcoesAux.montaListaJson(colocar_certificacoes(rows), col))
def culturas_por_agricultor(ano, esta_logado): cnxn = create_connection() cursor = cnxn.cursor() if esta_logado: cursor.execute("SELECT a.id, a.nome_agricultor, p.quantidade_produzida, p.area_plantada FROM Producao p, Agricultor a where year(p.data_plantio)=%d and p.id_agricultor=a.id and p.id_cultura=1" % ano) col = ["id_agricultor", "nome_agricultor","producao", "produtividade", "area_plantada", "nome_cultura", "id_cultura"] else: cursor.execute("SELECT a.id, p.quantidade_produzida, p.area_plantada FROM Producao p, Agricultor a where year(p.data_plantio)=%d and p.id_agricultor=a.id and p.id_cultura=1" % ano) col = ["id_agricultor", "producao", "produtividade", "area_plantada", "nome_cultura", "id_cultura"] rows = cursor.fetchall() cursor2 = cnxn.cursor() cursor2.execute("SELECT a.id, c.nome_cultura, c.id FROM Producao p, Agricultor a, Cultura c where year(p.data_plantio)=%d and p.id_agricultor=a.id and p.id_cultura=c.id and c.id !=1 and c.id !=15 and c.id !=3 and c.id != 7 and c.id!= 14 and c.id!=4" % ano) rows2 = cursor2.fetchall() cnxn.close() posicaoQuantProduzida = 2 posicaoAreaPlantada = 3 lista_tuplas = [] for linhas in rows: elemento = linhas[0:posicaoAreaPlantada]+(calculaProdutividade(linhas[posicaoQuantProduzida],linhas[posicaoAreaPlantada]),) + (linhas[posicaoAreaPlantada],) for linhas2 in rows2: elementoAux = elemento if(elemento[0] == linhas2[0]): elementoAux = elementoAux + linhas2[1:3] lista_tuplas.append(elementoAux) return funcoesAux.montaJson(funcoesAux.montaListaJson(lista_tuplas, col))
def add_comunidade_e(): cnxn = create_connection() cursor = cnxn.cursor() cursor.execute("SELECT id, nome_comunidade, nome_cidade, id_regiao FROM Comunidade") rows = cursor.fetchall() cnxn.close() col = ["id", "nome_comunidade", "nome_cidade", "id_regiao"] return funcoesAux.montaJson(funcoesAux.montaListaJson(rows, col))
def receita_agricultor(ano, esta_logado): print esta_logado if esta_logado: col = ["id_agricultor", "nome_regiao", "nome_agricultor", "receita"] else: col = ["id_agricultor", "nome_regiao", "receita"] return funcoesAux.montaJson( funcoesAux.montaListaJson(receita_aux(ano, esta_logado), col))
def add_certificados_e(): cnxn = create_connection() cursor = cnxn.cursor() cursor.execute("SELECT id, nome_certificacao, nome_simplificado_certificacao FROM Certificacao") rows = cursor.fetchall() cnxn.close() col = ["id", "nome_certificacao", "nome_simplificado_certificacao"] return funcoesAux.montaJson(funcoesAux.montaListaJson(rows, col))
def add_culturas_e(): cnxn = create_connection() cursor = cnxn.cursor() cursor.execute("SELECT id, nome_cultura FROM Cultura") rows = cursor.fetchall() cnxn.close() col = ["id", "nome_cultura"] return funcoesAux.montaJson(funcoesAux.montaListaJson(rows, col))
def add_atividade_e(): cnxn = create_connection() cursor = cnxn.cursor() cursor.execute("SELECT id, atividade, unidade FROM Atividade") rows = cursor.fetchall() cnxn.close() col = ["id", "nome_atividade_custo", "unidade_atividade_custo"] return funcoesAux.montaJson(funcoesAux.montaListaJson(rows, col))
def tecnicas_e(): cnxn = create_connection() cursor = cnxn.cursor() cursor.execute("SELECT * FROM Tecnica") rows = cursor.fetchall() cnxn.close() col = ["id", "nome_tecnica"] return funcoesAux.montaJson(funcoesAux.montaListaJson(rows, col))
def regiao(): cnxn = create_connection() cursor = cnxn.cursor() cursor.execute("SELECT * FROM Regiao order by nome_regiao") rows = cursor.fetchall() cnxn.close() col = ["id", "regiao"] return funcoesAux.montaJson(funcoesAux.montaListaJson(rows, col))
def usuarios(): cnxn = create_connection() cursor = cnxn.cursor() cursor.execute("SELECT * FROM Usuario") rows = cursor.fetchall() cnxn.close() col = ["id", "login", "senha"] return funcoesAux.montaJson(funcoesAux.montaListaJson(rows, col))
def media_producao_regiao(ano): cnxn = create_connection() cursor = cnxn.cursor() cursor.execute("SELECT r.id as id_regiao, r.nome_regiao, cu.id as id_cultura , cu.nome_cultura, avg(p.quantidade_produzida) as media_producao FROM Cultura cu, Producao p, Agricultor a, Comunidade c, Regiao r WHERE year(p.data_plantio) = %d and cu.id = p.id_cultura and p.id_agricultor = a.id and a.id_comunidade = c.id and c.id_regiao = r.id and p.quantidade_produzida > 0 group by r.id,r.nome_regiao, cu.id, cu.nome_cultura order by r.id, cu.id" % ano) rows = cursor.fetchall() cnxn.close() col = ["id_regiao", "nome_regiao","id_cultura","nome_cultura","producao"] return funcoesAux.montaJson(funcoesAux.montaListaJson(rows, col))
def agricultor_e(id_regiao): cnxn = create_connection() cursor = cnxn.cursor() cursor.execute("SELECT a.id, a.nome_agricultor, a.sexo, a.ano_adesao, a.variedade_algodao, c.id FROM Agricultor a, Comunidade c WHERE a.id_comunidade = c.id and c.id_regiao=%d" %id_regiao) rows = cursor.fetchall() cnxn.close() col = ["id", "nome_agricultor", "sexo", "ano_adesao", "variedade_algodao", "id_comunidade"] return funcoesAux.montaJson(funcoesAux.montaListaJson(rows, col))
def add_comunidade_e(): cnxn = create_connection() cursor = cnxn.cursor() cursor.execute( "SELECT id, nome_comunidade, nome_cidade, id_regiao FROM Comunidade") rows = cursor.fetchall() cnxn.close() col = ["id", "nome_comunidade", "nome_cidade", "id_regiao"] return funcoesAux.montaJson(funcoesAux.montaListaJson(rows, col))
def valor_mercado(id_regiao, ano): cnxn = create_connection() cursor = cnxn.cursor() # valor default 2013 para coluna ano, resolver isso!!! cursor.execute("SELECT id, id_cultura, valor, ano FROM Valor_Venda WHERE id_regiao=%d and ano=%d" %(id_regiao,ano)) rows = cursor.fetchall() cnxn.close() col = ["id", "id_cultura", "valor_mercado", "ano"] return funcoesAux.montaJson(funcoesAux.montaListaJson(rows, col))
def custos_atividade_e(id_regiao, ano): cnxn = create_connection() cursor = cnxn.cursor() # valor default 2013 para coluna ano, resolver isso!!! cursor.execute("SELECT c.id, c.id_atividade, c.quantidade, c.valor_unitario, c.area, c.ano FROM Custo_Regiao c WHERE c.id_regiao=%d and c.ano=%d" %(id_regiao,ano)) rows = cursor.fetchall() cnxn.close() col = ["id", "id_atividade", "quantidade_atividade", "valor_unitario", "area", "ano"] return funcoesAux.montaJson(funcoesAux.montaListaJson(rows, col))
def add_certificados_e(): cnxn = create_connection() cursor = cnxn.cursor() cursor.execute( "SELECT id, nome_certificacao, nome_simplificado_certificacao FROM Certificacao" ) rows = cursor.fetchall() cnxn.close() col = ["id", "nome_certificacao", "nome_simplificado_certificacao"] return funcoesAux.montaJson(funcoesAux.montaListaJson(rows, col))
def valor_mercado(id_regiao, ano): cnxn = create_connection() cursor = cnxn.cursor() # valor default 2013 para coluna ano, resolver isso!!! cursor.execute( "SELECT id, id_cultura, valor, ano FROM Valor_Venda WHERE id_regiao=%d and ano=%d" % (id_regiao, ano)) rows = cursor.fetchall() cnxn.close() col = ["id", "id_cultura", "valor_mercado", "ano"] return funcoesAux.montaJson(funcoesAux.montaListaJson(rows, col))
def producoes_e(id_agricultor,ano): cnxn = create_connection() cursor = cnxn.cursor() cursor.execute("select * from (select id, nome_agricultor from agricultor where id = %d) a, " "(select c.id as id_cultura, c.nome_cultura, p.id_producao, p.area_plantada, p.quantidade_produzida, p.data_plantio from cultura c left outer join " "( select id as id_producao, id_cultura, area_plantada, quantidade_produzida, data_plantio from producao p where p.id_agricultor = %d and " "year(p.data_plantio) = %d ) p ON c.id = p.id_cultura) c" % (id_agricultor,id_agricultor,ano)) rows = cursor.fetchall() cnxn.close() col = ["id_agricultor", "nome_agricultor", "id","nome_cultura","id_producao","area","quantidade_produzida","data"] return funcoesAux.montaJson(funcoesAux.montaListaJson(rows, col))
def regiao_produtoras(): cnxn = create_connection() cursor = cnxn.cursor() cursor.execute("select r.id, r.nome_regiao " "from regiao r, comunidade c, agricultor a, producao p " "where r.id = c.id_regiao and c.id = a.id_comunidade and a.id = p.id_agricultor " "group by r.id, nome_regiao order by nome_regiao") rows = cursor.fetchall() cnxn.close() col = ["id", "regiao"] return funcoesAux.montaJson(funcoesAux.montaListaJson(rows, col))
def media_producao_regiao(ano): cnxn = create_connection() cursor = cnxn.cursor() cursor.execute( "SELECT r.id as id_regiao, r.nome_regiao, cu.id as id_cultura , cu.nome_cultura, avg(p.quantidade_produzida) as media_producao FROM Cultura cu, Producao p, Agricultor a, Comunidade c, Regiao r WHERE year(p.data_plantio) = %d and cu.id = p.id_cultura and p.id_agricultor = a.id and a.id_comunidade = c.id and c.id_regiao = r.id and p.quantidade_produzida > 0 group by r.id,r.nome_regiao, cu.id, cu.nome_cultura order by r.id, cu.id" % ano) rows = cursor.fetchall() cnxn.close() col = [ "id_regiao", "nome_regiao", "id_cultura", "nome_cultura", "producao" ] return funcoesAux.montaJson(funcoesAux.montaListaJson(rows, col))
def agricultores(esta_logado): cnxn = create_connection() cursor = cnxn.cursor() if esta_logado: cursor.execute("SELECT a.id, a.nome_agricultor, a.id_comunidade, c.nome_comunidade, c.nome_cidade, c.id_regiao, r.nome_regiao FROM agricultor a, comunidade c, regiao r where a.id_comunidade = c.id and r.id = c.id_regiao order by id") col = ["certificacoes","id", "nome_agricultor","id_comunidade","nome_comunidade", "nome_cidade", "id_regiao", "nome_regiao"] else: cursor.execute("SELECT a.id, a.id_comunidade, c.nome_comunidade, c.nome_cidade, c.id_regiao, r.nome_regiao FROM agricultor a, comunidade c, regiao r where a.id_comunidade = c.id and r.id = c.id_regiao order by id") col = ["certificacoes","id", "id_comunidade","nome_comunidade", "nome_cidade", "id_regiao", "nome_regiao"] rowsAgricultor = cursor.fetchall() cnxn.close() return funcoesAux.montaJson(funcoesAux.montaListaJson(colocar_certificacoes(rowsAgricultor), col))
def regiao_produtoras(): cnxn = create_connection() cursor = cnxn.cursor() cursor.execute( "select r.id, r.nome_regiao " "from regiao r, comunidade c, agricultor a, producao p " "where r.id = c.id_regiao and c.id = a.id_comunidade and a.id = p.id_agricultor " "group by r.id, nome_regiao order by nome_regiao") rows = cursor.fetchall() cnxn.close() col = ["id", "regiao"] return funcoesAux.montaJson(funcoesAux.montaListaJson(rows, col))
def info_agricultor(id, ano, esta_logado): cnxn = create_connection() cursor = cnxn.cursor() if esta_logado: cursor.execute("SELECT distinct a.id, a.nome_agricultor, c.nome_comunidade, c.nome_cidade, r.nome_regiao, p.area_plantada FROM agricultor a, comunidade c, regiao r, producao p where a.id_comunidade = c.id and r.id = c.id_regiao and a.id = %d and year(p.data_plantio) = %d and a.id = p.id_agricultor" % (id, ano)) col = ["certificacoes","id", "nome_agricultor","nome_comunidade", "nome_cidade", "nome_regiao", "area"] else: cursor.execute("SELECT distinct a.id, c.nome_comunidade, c.nome_cidade, r.nome_regiao, p.area_plantada FROM agricultor a, comunidade c, regiao r, producao p where a.id_comunidade = c.id and r.id = c.id_regiao and a.id = %d and year(p.data_plantio) = %d and a.id = p.id_agricultor" % (id, ano)) col = ["certificacoes","id", "nome_comunidade", "nome_cidade", "nome_regiao", "area"] rowsAgricultor = cursor.fetchall() cnxn.close() return funcoesAux.montaJson(funcoesAux.montaListaJson(colocar_certificacoes(rowsAgricultor), col))
def agricultor_e(id_regiao): cnxn = create_connection() cursor = cnxn.cursor() cursor.execute( "SELECT a.id, a.nome_agricultor, a.sexo, a.ano_adesao, a.variedade_algodao, c.id FROM Agricultor a, Comunidade c WHERE a.id_comunidade = c.id and c.id_regiao=%d" % id_regiao) rows = cursor.fetchall() cnxn.close() col = [ "id", "nome_agricultor", "sexo", "ano_adesao", "variedade_algodao", "id_comunidade" ] return funcoesAux.montaJson(funcoesAux.montaListaJson(rows, col))
def custos_atividade_e(id_regiao, ano): cnxn = create_connection() cursor = cnxn.cursor() # valor default 2013 para coluna ano, resolver isso!!! cursor.execute( "SELECT c.id, c.id_atividade, c.quantidade, c.valor_unitario, c.area, c.ano FROM Custo_Regiao c WHERE c.id_regiao=%d and c.ano=%d" % (id_regiao, ano)) rows = cursor.fetchall() cnxn.close() col = [ "id", "id_atividade", "quantidade_atividade", "valor_unitario", "area", "ano" ] return funcoesAux.montaJson(funcoesAux.montaListaJson(rows, col))
def producao_agricultores(ano, esta_logado): cnxn = create_connection() cursor = cnxn.cursor() if esta_logado: cursor.execute("SELECT a.id as id_agricultor, c.nome_cultura, c.id as id_cultura, sum(p.quantidade_produzida), p.area_plantada as area, r.nome_regiao, a.nome_agricultor FROM Agricultor a, Producao p, Cultura c, Comunidade co, Regiao r where a.id = p.id_agricultor and c.id=p.id_cultura and year(p.data_plantio) = %d and p.id_agricultor = a.id and a.id_comunidade = co.id and co.id_regiao = r.id group by a.id, c.id, c.nome_cultura, p.area_plantada, r.nome_regiao, a.nome_agricultor order by a.id" % ano) col = ["id_agricultor", "nome_cultura","id_cultura","producao", "area_plantada", "nome_regiao", "nome_agricultor"] else: cursor.execute("SELECT a.id as id_agricultor, c.nome_cultura, c.id as id_cultura, sum(p.quantidade_produzida), p.area_plantada as area, r.nome_regiao FROM Agricultor a, Producao p, Cultura c, Comunidade co, Regiao r where a.id = p.id_agricultor and c.id=p.id_cultura and year(p.data_plantio) = %d and p.id_agricultor = a.id and a.id_comunidade = co.id and co.id_regiao = r.id group by a.id, c.id, c.nome_cultura, p.area_plantada, r.nome_regiao order by a.id" % ano) col = ["id_agricultor", "nome_cultura","id_cultura","producao", "area_plantada", "nome_regiao"] rows = cursor.fetchall() cnxn.close() return funcoesAux.montaJson(funcoesAux.montaListaJson(rows, col))
def produtores_algodao(esta_logado): cnxn = create_connection() cursor = cnxn.cursor() if esta_logado: cursor.execute("SELECT distinct a.id, a.nome_agricultor, a.id_comunidade, c.nome_comunidade, c.nome_cidade, c.id_regiao, r.nome_regiao FROM agricultor a, comunidade c, regiao r, Producao p where a.id_comunidade = c.id and r.id = c.id_regiao and p.id_agricultor=a.id and p.quantidade_produzida > 0 and p.id_cultura=1 order by id") col = ["certificacoes","id", "nome_agricultor","id_comunidade","nome_comunidade", "nome_cidade", "id_regiao", "nome_regiao"] else: cursor.execute("SELECT distinct a.id, a.id_comunidade, c.nome_comunidade, c.nome_cidade, c.id_regiao, r.nome_regiao FROM agricultor a, comunidade c, regiao r, Producao p where a.id_comunidade = c.id and r.id = c.id_regiao and p.id_agricultor=a.id and p.quantidade_produzida > 0 and p.id_cultura=1 order by id") col = ["certificacoes","id", "id_comunidade","nome_comunidade", "nome_cidade", "id_regiao", "nome_regiao"] rows = cursor.fetchall() cnxn.close() return funcoesAux.montaJson(funcoesAux.montaListaJson(colocar_certificacoes(rows), col))
def tecnica_agricultores(ano, esta_logado): cnxn = create_connection() cursor = cnxn.cursor() #Seleciona informacoes de agricultor e da produtividade if esta_logado: cursor.execute("SELECT a.id, a.nome_agricultor, r.id, r.nome_regiao, p.quantidade_produzida, p.area_plantada FROM Agricultor a, Comunidade co, Regiao r, Producao p where year(p.data_plantio) = %d and a.id_comunidade=co.id and co.id_regiao=r.id and p.id_agricultor = a.id and p.id_cultura=1" %ano) col = ["tecnicas","id_agricultor","nome_agricultor", "id_regiao", "nome_regiao", "produtividade"] posicaoQuantProduzida = 5 posicaoAreaPlantada = 6 else: cursor.execute("SELECT a.id, r.id, r.nome_regiao, p.quantidade_produzida, p.area_plantada FROM Agricultor a, Comunidade co, Regiao r, Producao p where year(p.data_plantio) = %d and a.id_comunidade=co.id and co.id_regiao=r.id and p.id_agricultor = a.id and p.id_cultura=1" %ano) col = ["tecnicas","id_agricultor", "id_regiao", "nome_regiao", "produtividade"] posicaoQuantProduzida = 4 posicaoAreaPlantada = 5 rowsAgricultor = cursor.fetchall() cursor2 = cnxn.cursor() #Seleciona informacoes das tecnicas cursor2.execute("SELECT a.id, t.id, t.nome_tecnica FROM Agricultor a, Tecnica t, Tecnica_Adotada ta where a.id = ta.id_agricultor and ta.id_tecnica=t.id and ta.ano = %d" %ano) rowsTecnicas = cursor2.fetchall() cnxn.close() lista_tuplas=[] tecnicas = {} for row in rowsTecnicas: id_agricultor = row[0] id_tecnica = row[1] tecnica = row[2] if(not tecnicas.has_key(id_agricultor)): tecnicas[id_agricultor] = [] tecnicas[id_agricultor].append({'id':id_tecnica,'tecnica':tecnica}) for row in rowsAgricultor: id_agricultor = row[0] if(tecnicas.has_key(id_agricultor)): tecnicasAgricultor = tecnicas[id_agricultor] lista_tuplas.append((tecnicasAgricultor,)+tuple(row)) else: lista_tuplas.append(([],)+tuple(row)) lista_tuplas_aux = [] for linhas in lista_tuplas: elemento = linhas[0:posicaoQuantProduzida]+(calculaProdutividade(linhas[posicaoQuantProduzida],(linhas[posicaoAreaPlantada])),) lista_tuplas_aux.append(elemento) return funcoesAux.montaJson(funcoesAux.montaListaJson(lista_tuplas_aux, col))
def tecnicas_e(id_agricultor,ano): cnxn = create_connection() cursor = cnxn.cursor() cursor.execute("select * from (select id, nome_agricultor from agricultor where id = %d) a, " "(select t.id as id_tecnica, t.nome_tecnica, ta.id_tecnica_adotada " "from tecnica t left outer join " "( select id as id_tecnica_adotada, id_tecnica " "from tecnica_adotada t where t.id_agricultor = %d and " "t.ano = %d ) ta ON t.id = ta.id_tecnica) c" % (id_agricultor,id_agricultor,ano)) rows = cursor.fetchall() cnxn.close() col = ["id_agricultor", "nome_agricultor", "id","nome_tecnica","id_tecnica_adotada"] lista = funcoesAux.montaListaJson(rows, col) for element in lista: element["utilizou"] = (not element["id_tecnica_adotada"] == None) return funcoesAux.montaJson(lista)
def certificados_e(id_agricultor,ano): cnxn = create_connection() cursor = cnxn.cursor() cursor.execute("select * from (select id, nome_agricultor from agricultor where id = %d) a, " "(select c.id as id_certificacao, c.nome_certificacao, ta.id_certificacao_adotada " "from Certificacao c left outer join " "( select id as id_certificacao_adotada, id_certificacao " "from Agricultor_Certificacao c where c.id_agricultor = %d and " "c.ano_producao = %d ) ta ON c.id = ta.id_certificacao) c" % (id_agricultor,id_agricultor,ano)) rows = cursor.fetchall() cnxn.close() col = ["id_agricultor", "nome_agricultor", "id","nome_certificacao","id_certificacao_adotada"] lista = funcoesAux.montaListaJson(rows, col) for element in lista: element["utilizou"] = (not element["id_certificacao_adotada"] == None) return funcoesAux.montaJson(lista)
def lucro_agricultor(ano, esta_logado): rec = receita_aux(ano, esta_logado) cust = dadosApiRestRegiao.custo_aux(ano) lista_tuplas = [] if esta_logado: for receitas in rec: for custos in cust: if (receitas[1] == custos[0]): lista_tuplas.append(receitas[0:3]+(round(receitas[3]-custos[1],2),)) col = ["id_agricultor","nome_regiao", "nome_agricultor", "lucro"] else: for receitas in rec: for custos in cust: if (receitas[1] == custos[0]): lista_tuplas.append(receitas[0:2]+(round(receitas[2]-custos[1],2),)) col = ["id_agricultor","nome_regiao", "lucro"] return funcoesAux.montaJson(funcoesAux.montaListaJson(lista_tuplas, col))
def culturas_por_agricultor(ano, esta_logado): cnxn = create_connection() cursor = cnxn.cursor() if esta_logado: cursor.execute( "SELECT a.id, a.nome_agricultor, p.quantidade_produzida, p.area_plantada FROM Producao p, Agricultor a where year(p.data_plantio)=%d and p.id_agricultor=a.id and p.id_cultura=1" % ano) col = [ "id_agricultor", "nome_agricultor", "producao", "produtividade", "area_plantada", "nome_cultura", "id_cultura" ] else: cursor.execute( "SELECT a.id, p.quantidade_produzida, p.area_plantada FROM Producao p, Agricultor a where year(p.data_plantio)=%d and p.id_agricultor=a.id and p.id_cultura=1" % ano) col = [ "id_agricultor", "producao", "produtividade", "area_plantada", "nome_cultura", "id_cultura" ] rows = cursor.fetchall() cursor2 = cnxn.cursor() cursor2.execute( "SELECT a.id, c.nome_cultura, c.id FROM Producao p, Agricultor a, Cultura c where year(p.data_plantio)=%d and p.id_agricultor=a.id and p.id_cultura=c.id and c.id !=1 and c.id !=15 and c.id !=3 and c.id != 7 and c.id!= 14 and c.id!=4" % ano) rows2 = cursor2.fetchall() cnxn.close() posicaoQuantProduzida = 2 posicaoAreaPlantada = 3 lista_tuplas = [] for linhas in rows: elemento = linhas[0:posicaoAreaPlantada] + (calculaProdutividade( linhas[posicaoQuantProduzida], linhas[posicaoAreaPlantada]), ) + (linhas[posicaoAreaPlantada], ) for linhas2 in rows2: elementoAux = elemento if (elemento[0] == linhas2[0]): elementoAux = elementoAux + linhas2[1:3] lista_tuplas.append(elementoAux) return funcoesAux.montaJson(funcoesAux.montaListaJson(lista_tuplas, col))
def anos(): cnxn = create_connection() cursor = cnxn.cursor() # visualizacao dos anos que temos informacoes: cursor.execute("SELECT * FROM Ano") anos_rows = cursor.fetchall() cursor2 = cnxn.cursor() # visualizacao dos anos que temos informacoes: cursor2.execute("SELECT distinct year(p.data_plantio) FROM Producao p") anos_producao = cursor2.fetchall() cnxn.close() lista_tuplas = [] for a in anos_rows: lista_tuplas.append(tuple(a) + (anos_producao.__contains__(a), )) col = ["id", "producao"] return funcoesAux.montaJson(funcoesAux.montaListaJson(lista_tuplas, col))
def anos(): cnxn = create_connection() cursor = cnxn.cursor() # visualizacao dos anos que temos informacoes: cursor.execute("SELECT * FROM Ano") anos_rows = cursor.fetchall() cursor2 = cnxn.cursor() # visualizacao dos anos que temos informacoes: cursor2.execute("SELECT distinct year(p.data_plantio) FROM Producao p") anos_producao = cursor2.fetchall() cnxn.close() lista_tuplas = [] for a in anos_rows: lista_tuplas.append(tuple(a)+ (anos_producao.__contains__(a),)); col = ["id", "producao"] return funcoesAux.montaJson(funcoesAux.montaListaJson(lista_tuplas, col))
def lucro_agricultor(ano, esta_logado): rec = receita_aux(ano, esta_logado) cust = dadosApiRestRegiao.custo_aux(ano) lista_tuplas = [] if esta_logado: for receitas in rec: for custos in cust: if (receitas[1] == custos[0]): lista_tuplas.append(receitas[0:3] + (round(receitas[3] - custos[1], 2), )) col = ["id_agricultor", "nome_regiao", "nome_agricultor", "lucro"] else: for receitas in rec: for custos in cust: if (receitas[1] == custos[0]): lista_tuplas.append(receitas[0:2] + (round(receitas[2] - custos[1], 2), )) col = ["id_agricultor", "nome_regiao", "lucro"] return funcoesAux.montaJson(funcoesAux.montaListaJson(lista_tuplas, col))
def agricultores(esta_logado): cnxn = create_connection() cursor = cnxn.cursor() if esta_logado: cursor.execute( "SELECT a.id, a.nome_agricultor, a.id_comunidade, c.nome_comunidade, c.nome_cidade, c.id_regiao, r.nome_regiao FROM agricultor a, comunidade c, regiao r where a.id_comunidade = c.id and r.id = c.id_regiao order by id" ) col = [ "certificacoes", "id", "nome_agricultor", "id_comunidade", "nome_comunidade", "nome_cidade", "id_regiao", "nome_regiao" ] else: cursor.execute( "SELECT a.id, a.id_comunidade, c.nome_comunidade, c.nome_cidade, c.id_regiao, r.nome_regiao FROM agricultor a, comunidade c, regiao r where a.id_comunidade = c.id and r.id = c.id_regiao order by id" ) col = [ "certificacoes", "id", "id_comunidade", "nome_comunidade", "nome_cidade", "id_regiao", "nome_regiao" ] rowsAgricultor = cursor.fetchall() cnxn.close() return funcoesAux.montaJson( funcoesAux.montaListaJson(colocar_certificacoes(rowsAgricultor), col))
def produtividade_agricultores(ano, esta_logado): cnxn = create_connection() cursor = cnxn.cursor() if esta_logado: cursor.execute("SELECT a.id, r.id, r.nome_regiao, a.nome_agricultor, p.quantidade_produzida, p.area_plantada FROM Regiao r, Producao p, Agricultor a, Comunidade c where year(p.data_plantio)=%d and a.id_comunidade=c.id and p.id_agricultor=a.id and c.id_regiao=r.id and p.id_cultura=1" % ano) col = ["id_agricultor","id_regiao","nome_regiao", "nome_agricultor", "produtividade", "area_plantada"] posicaoQuantProduzida = 4 posicaoAreaPlantada = 5 else: cursor.execute("SELECT a.id, r.id, r.nome_regiao, p.quantidade_produzida, p.area_plantada FROM Regiao r, Producao p, Agricultor a, Comunidade c where year(p.data_plantio)=%d and a.id_comunidade=c.id and p.id_agricultor=a.id and c.id_regiao=r.id and p.id_cultura=1" % ano) col = ["id_agricultor","id_regiao","nome_regiao", "produtividade", "area_plantada"] posicaoQuantProduzida = 3 posicaoAreaPlantada = 4 rows = cursor.fetchall() cnxn.close() lista_tuplas = [] for linhas in rows: elemento = linhas[0:posicaoQuantProduzida]+(calculaProdutividade(linhas[posicaoQuantProduzida],linhas[posicaoAreaPlantada]),) + (linhas[posicaoAreaPlantada],) lista_tuplas.append(elemento) return funcoesAux.montaJson(funcoesAux.montaListaJson(lista_tuplas, col))
def info_agricultor(id, ano, esta_logado): cnxn = create_connection() cursor = cnxn.cursor() if esta_logado: cursor.execute( "SELECT distinct a.id, a.nome_agricultor, c.nome_comunidade, c.nome_cidade, r.nome_regiao, p.area_plantada FROM agricultor a, comunidade c, regiao r, producao p where a.id_comunidade = c.id and r.id = c.id_regiao and a.id = %d and year(p.data_plantio) = %d and a.id = p.id_agricultor" % (id, ano)) col = [ "certificacoes", "id", "nome_agricultor", "nome_comunidade", "nome_cidade", "nome_regiao", "area" ] else: cursor.execute( "SELECT distinct a.id, c.nome_comunidade, c.nome_cidade, r.nome_regiao, p.area_plantada FROM agricultor a, comunidade c, regiao r, producao p where a.id_comunidade = c.id and r.id = c.id_regiao and a.id = %d and year(p.data_plantio) = %d and a.id = p.id_agricultor" % (id, ano)) col = [ "certificacoes", "id", "nome_comunidade", "nome_cidade", "nome_regiao", "area" ] rowsAgricultor = cursor.fetchall() cnxn.close() return funcoesAux.montaJson( funcoesAux.montaListaJson(colocar_certificacoes(rowsAgricultor), col))
def producao_agricultores(ano, esta_logado): cnxn = create_connection() cursor = cnxn.cursor() if esta_logado: cursor.execute( "SELECT a.id as id_agricultor, c.nome_cultura, c.id as id_cultura, sum(p.quantidade_produzida), p.area_plantada as area, r.nome_regiao, a.nome_agricultor FROM Agricultor a, Producao p, Cultura c, Comunidade co, Regiao r where a.id = p.id_agricultor and c.id=p.id_cultura and year(p.data_plantio) = %d and p.id_agricultor = a.id and a.id_comunidade = co.id and co.id_regiao = r.id group by a.id, c.id, c.nome_cultura, p.area_plantada, r.nome_regiao, a.nome_agricultor order by a.id" % ano) col = [ "id_agricultor", "nome_cultura", "id_cultura", "producao", "area_plantada", "nome_regiao", "nome_agricultor" ] else: cursor.execute( "SELECT a.id as id_agricultor, c.nome_cultura, c.id as id_cultura, sum(p.quantidade_produzida), p.area_plantada as area, r.nome_regiao FROM Agricultor a, Producao p, Cultura c, Comunidade co, Regiao r where a.id = p.id_agricultor and c.id=p.id_cultura and year(p.data_plantio) = %d and p.id_agricultor = a.id and a.id_comunidade = co.id and co.id_regiao = r.id group by a.id, c.id, c.nome_cultura, p.area_plantada, r.nome_regiao order by a.id" % ano) col = [ "id_agricultor", "nome_cultura", "id_cultura", "producao", "area_plantada", "nome_regiao" ] rows = cursor.fetchall() cnxn.close() return funcoesAux.montaJson(funcoesAux.montaListaJson(rows, col))
def custo_total_regiao(ano): col = ["nome_regiao", "total"] return '{"Regioes":' + funcoesAux.montaJson( funcoesAux.montaListaJson(custo_aux(ano), col)) + '}'
def tecnica_agricultores(ano, esta_logado): cnxn = create_connection() cursor = cnxn.cursor() #Seleciona informacoes de agricultor e da produtividade if esta_logado: cursor.execute( "SELECT a.id, a.nome_agricultor, r.id, r.nome_regiao, p.quantidade_produzida, p.area_plantada FROM Agricultor a, Comunidade co, Regiao r, Producao p where year(p.data_plantio) = %d and a.id_comunidade=co.id and co.id_regiao=r.id and p.id_agricultor = a.id and p.id_cultura=1" % ano) col = [ "tecnicas", "id_agricultor", "nome_agricultor", "id_regiao", "nome_regiao", "produtividade" ] posicaoQuantProduzida = 5 posicaoAreaPlantada = 6 else: cursor.execute( "SELECT a.id, r.id, r.nome_regiao, p.quantidade_produzida, p.area_plantada FROM Agricultor a, Comunidade co, Regiao r, Producao p where year(p.data_plantio) = %d and a.id_comunidade=co.id and co.id_regiao=r.id and p.id_agricultor = a.id and p.id_cultura=1" % ano) col = [ "tecnicas", "id_agricultor", "id_regiao", "nome_regiao", "produtividade" ] posicaoQuantProduzida = 4 posicaoAreaPlantada = 5 rowsAgricultor = cursor.fetchall() cursor2 = cnxn.cursor() #Seleciona informacoes das tecnicas cursor2.execute( "SELECT a.id, t.id, t.nome_tecnica FROM Agricultor a, Tecnica t, Tecnica_Adotada ta where a.id = ta.id_agricultor and ta.id_tecnica=t.id and ta.ano = %d" % ano) rowsTecnicas = cursor2.fetchall() cnxn.close() lista_tuplas = [] tecnicas = {} for row in rowsTecnicas: id_agricultor = row[0] id_tecnica = row[1] tecnica = row[2] if (not tecnicas.has_key(id_agricultor)): tecnicas[id_agricultor] = [] tecnicas[id_agricultor].append({'id': id_tecnica, 'tecnica': tecnica}) for row in rowsAgricultor: id_agricultor = row[0] if (tecnicas.has_key(id_agricultor)): tecnicasAgricultor = tecnicas[id_agricultor] lista_tuplas.append((tecnicasAgricultor, ) + tuple(row)) else: lista_tuplas.append(([], ) + tuple(row)) lista_tuplas_aux = [] for linhas in lista_tuplas: elemento = linhas[0:posicaoQuantProduzida] + (calculaProdutividade( linhas[posicaoQuantProduzida], (linhas[posicaoAreaPlantada])), ) lista_tuplas_aux.append(elemento) return funcoesAux.montaJson( funcoesAux.montaListaJson(lista_tuplas_aux, col))
def custo_total_regiao(ano): col = ["nome_regiao", "total"] return '{"Regioes":' + funcoesAux.montaJson(funcoesAux.montaListaJson(custo_aux(ano), col)) + '}'