예제 #1
0
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))
예제 #2
0
def producao_tecnica_agricultor(id_regiao, ano):
    cnxn = create_connection()
    cursor = cnxn.cursor()
    cursor.execute("SELECT DISTINCT a.id AS id FROM Agricultor a, Comunidade c, Regiao r, Producao p WHERE a.id_comunidade=c.id AND c.id_regiao=%d AND a.id=p.id_agricultor AND YEAR(p.data_plantio)=%d ORDER BY id" %(id_regiao, ano))
    rowsComProducao = cursor.fetchall()
    cnxn.close()

    cnxn = create_connection()
    cursor = cnxn.cursor()
    cursor.execute("SELECT DISTINCT a.id AS id FROM Agricultor a, Comunidade c, Regiao r, Tecnica_Adotada t WHERE a.id_comunidade=c.id AND c.id_regiao=%d AND a.id=t.id_agricultor AND t.ano=%d ORDER BY id" %(id_regiao, ano))
    rowsComTecnicas = cursor.fetchall()
    cnxn.close()

    cnxn = create_connection()
    cursor = cnxn.cursor()
    cursor.execute("SELECT DISTINCT a.id AS id, a.nome_agricultor AS nome, FALSE AS teve_producao, FALSE AS teve_tecnicas, a.id_comunidade AS id_comunidade FROM Agricultor a, Comunidade c, Regiao r WHERE a.id_comunidade=c.id AND c.id_regiao=%d ORDER BY id" %(id_regiao))
    rowsTodosOsAgricultoresRegiao = cursor.fetchall()
    rows = rowsTodosOsAgricultoresRegiao
    cnxn.close()
    col = ["id", "nome", "teve_producao", "teve_tecnicas", "id_comunidade"]

    todosOsAgricultores = funcoesAux.montaDict(rowsTodosOsAgricultoresRegiao, col, 0)
    
    for idComProducao in rowsComProducao:
        todosOsAgricultores[idComProducao[0]]['teve_producao'] = True

    for idComTecnicas in rowsComTecnicas:
        todosOsAgricultores[idComTecnicas[0]]['teve_tecnicas'] = True

    return funcoesAux.montaJson(todosOsAgricultores.values())
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))
예제 #4
0
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 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))
예제 #6
0
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))
예제 #8
0
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))
예제 #9
0
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))
예제 #10
0
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))
예제 #11
0
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))
예제 #12
0
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))
예제 #13
0
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))
예제 #14
0
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))
예제 #15
0
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))
예제 #16
0
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))
예제 #17
0
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))
예제 #18
0
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))
예제 #19
0
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))
예제 #20
0
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))
예제 #21
0
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))
예제 #22
0
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))
예제 #23
0
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))
예제 #24
0
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))
예제 #25
0
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))
예제 #26
0
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))
예제 #27
0
def regiao_e():
    cnxn = create_connection()
    cursor = cnxn.cursor()
    cursor.execute("SELECT nome_regiao, id FROM Regiao")
    rows = cursor.fetchall()
    cnxn.close()

    lista_tuplas = []
    for row in rows:
        lista_tuplas.append(list(row))

    return funcoesAux.montaJson({"regiao": lista_tuplas})
예제 #28
0
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))
예제 #29
0
def regiao_e():
    cnxn = create_connection()
    cursor = cnxn.cursor()
    cursor.execute("SELECT nome_regiao, id FROM Regiao")
    rows = cursor.fetchall()
    cnxn.close()

    lista_tuplas = []
    for row in rows:
      lista_tuplas.append(list(row))

    return funcoesAux.montaJson({"regiao": lista_tuplas})
예제 #30
0
def atividade_e():
    cnxn = create_connection()
    cursor = cnxn.cursor()
    cursor.execute("SELECT atividade, id FROM Atividade")
    rows = cursor.fetchall()
    cnxn.close()

    lista_tuplas = []
    for row in rows:
        lista_tuplas.append(list(row))

    return funcoesAux.montaJson({"atividade": lista_tuplas})
예제 #31
0
def comunidades_e(id_regiao):
    cnxn = create_connection()
    cursor = cnxn.cursor()
    cursor.execute("SELECT nome_comunidade, id FROM Comunidade WHERE id_regiao=%d" %id_regiao)
    rows = cursor.fetchall()
    cnxn.close()

    lista_tuplas = []
    for row in rows:
      lista_tuplas.append(list(row))

    return funcoesAux.montaJson({"comunidade": lista_tuplas})
예제 #32
0
def atividade_e():
    cnxn = create_connection()
    cursor = cnxn.cursor()
    cursor.execute("SELECT atividade, id FROM Atividade")
    rows = cursor.fetchall()
    cnxn.close()

    lista_tuplas = []
    for row in rows:
      lista_tuplas.append(list(row))

    return funcoesAux.montaJson({"atividade": lista_tuplas})
예제 #33
0
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))
예제 #34
0
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))
예제 #35
0
def lista_ano_e():
    cnxn = create_connection()
    cursor = cnxn.cursor()
    #cursor.execute("SELECT ano_producao, ano_producao AS id FROM Ano")
    cursor.execute("SELECT ano_producao, ano_producao AS id FROM Ano")
    rows = cursor.fetchall()
    cnxn.close()

    lista_tuplas = []
    for row in rows:
        lista_tuplas.append(list(row))

    return funcoesAux.montaJson({"ano": lista_tuplas})
예제 #36
0
def producao_regiao(ano):
    cnxn = create_connection()
    cursor = cnxn.cursor()
    # visualizacao da producao de uma regiao, exibidas as seguintes informacoes no grafico:
    # area total de plantio de cada cultura, as quantidades produzidas, o nome das culturas, data plantio

    cursor.execute("SELECT r.nome_regiao, cu.nome_cultura, cu.id,  sum(p.quantidade_produzida) FROM Producao p, Agricultor a, Comunidade c, "
                   "Regiao r, Cultura cu WHERE p.id_agricultor=a.id and a.id_comunidade=c.id and  cu.id=p.id_cultura and r.id=c.id_regiao "
                   "and year(p.data_plantio)=%d group by r.nome_regiao, cu.nome_cultura, cu.id order by r.nome_regiao" % ano)
    regiao_rows = cursor.fetchall()
    cnxn.close()

    return funcoesAux.montaJson(montaListaJsonRegiao(regiao_rows),True)
예제 #37
0
def lista_ano_e():
    cnxn = create_connection()
    cursor = cnxn.cursor()
    #cursor.execute("SELECT ano_producao, ano_producao AS id FROM Ano")
    cursor.execute("SELECT ano_producao, ano_producao AS id FROM Ano")
    rows = cursor.fetchall()
    cnxn.close()

    lista_tuplas = []
    for row in rows:
        lista_tuplas.append(list(row))

    return funcoesAux.montaJson({"ano": lista_tuplas})
예제 #38
0
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))
예제 #39
0
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))
예제 #40
0
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))
예제 #41
0
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))
예제 #42
0
def comunidades_e(id_regiao):
    cnxn = create_connection()
    cursor = cnxn.cursor()
    cursor.execute(
        "SELECT nome_comunidade, id FROM Comunidade WHERE id_regiao=%d" %
        id_regiao)
    rows = cursor.fetchall()
    cnxn.close()

    lista_tuplas = []
    for row in rows:
        lista_tuplas.append(list(row))

    return funcoesAux.montaJson({"comunidade": lista_tuplas})
예제 #43
0
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))
예제 #44
0
def producao_regiao(ano):
    cnxn = create_connection()
    cursor = cnxn.cursor()
    # visualizacao da producao de uma regiao, exibidas as seguintes informacoes no grafico:
    # area total de plantio de cada cultura, as quantidades produzidas, o nome das culturas, data plantio

    cursor.execute(
        "SELECT r.nome_regiao, cu.nome_cultura, cu.id,  sum(p.quantidade_produzida) FROM Producao p, Agricultor a, Comunidade c, "
        "Regiao r, Cultura cu WHERE p.id_agricultor=a.id and a.id_comunidade=c.id and  cu.id=p.id_cultura and r.id=c.id_regiao "
        "and year(p.data_plantio)=%d group by r.nome_regiao, cu.nome_cultura, cu.id order by r.nome_regiao"
        % ano)
    regiao_rows = cursor.fetchall()
    cnxn.close()

    return funcoesAux.montaJson(montaListaJsonRegiao(regiao_rows), True)
예제 #45
0
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))
예제 #46
0
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)
예제 #47
0
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)
예제 #48
0
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))
예제 #49
0
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))
예제 #50
0
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))
예제 #51
0
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))
예제 #52
0
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))
예제 #53
0
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))
예제 #54
0
def producao_tecnica_agricultor(id_regiao, ano):
    cnxn = create_connection()
    cursor = cnxn.cursor()
    cursor.execute(
        "SELECT DISTINCT a.id AS id FROM Agricultor a, Comunidade c, Regiao r, Producao p WHERE a.id_comunidade=c.id AND c.id_regiao=%d AND a.id=p.id_agricultor AND YEAR(p.data_plantio)=%d ORDER BY id"
        % (id_regiao, ano))
    rowsComProducao = cursor.fetchall()
    cnxn.close()

    cnxn = create_connection()
    cursor = cnxn.cursor()
    cursor.execute(
        "SELECT DISTINCT a.id AS id FROM Agricultor a, Comunidade c, Regiao r, Tecnica_Adotada t WHERE a.id_comunidade=c.id AND c.id_regiao=%d AND a.id=t.id_agricultor AND t.ano=%d ORDER BY id"
        % (id_regiao, ano))
    rowsComTecnicas = cursor.fetchall()
    cnxn.close()

    cnxn = create_connection()
    cursor = cnxn.cursor()
    cursor.execute(
        "SELECT DISTINCT a.id AS id, a.nome_agricultor AS nome, FALSE AS teve_producao, FALSE AS teve_tecnicas, a.id_comunidade AS id_comunidade FROM Agricultor a, Comunidade c, Regiao r WHERE a.id_comunidade=c.id AND c.id_regiao=%d ORDER BY id"
        % (id_regiao))
    rowsTodosOsAgricultoresRegiao = cursor.fetchall()
    rows = rowsTodosOsAgricultoresRegiao
    cnxn.close()
    col = ["id", "nome", "teve_producao", "teve_tecnicas", "id_comunidade"]

    todosOsAgricultores = funcoesAux.montaDict(rowsTodosOsAgricultoresRegiao,
                                               col, 0)

    for idComProducao in rowsComProducao:
        todosOsAgricultores[idComProducao[0]]['teve_producao'] = True

    for idComTecnicas in rowsComTecnicas:
        todosOsAgricultores[idComTecnicas[0]]['teve_tecnicas'] = True

    return funcoesAux.montaJson(todosOsAgricultores.values())
예제 #55
0
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))
예제 #56
0
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))