Advertisement
webmanix

Untitled

Sep 25th, 2017
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.84 KB | None | 0 0
  1. import psycopg2
  2. import termcolor
  3. import sys
  4.  
  5. if len(sys.argv) > 1:
  6. option = sys.argv[1]
  7. else:
  8. print("1 - Resumo\n2 - Cigarros em falta/acabando\n3 - Reposicao")
  9. option = raw_input()
  10.  
  11. conn = psycopg2.connect('dbname=cigarro host=10.40.140.25 user=postgres password=postgres')
  12. cur = conn.cursor()
  13.  
  14. connmatriz = psycopg2.connect('dbname=matrizpitstop host=10.40.140.25 user=postgres password=postgres')
  15. curmatriz = connmatriz.cursor()
  16.  
  17. curmatriz.execute("SELECT codigo_barra, nome, preco_unit, grid FROM produto WHERE grupo = 12912 "
  18. " order by nome")
  19.  
  20. table_produto = {}
  21.  
  22. for a in curmatriz:
  23. table_produto[a[0]] = a[1:]
  24.  
  25. cur.execute('SELECT produto, estoque, quant, '
  26. ' last_turn, '
  27. ' (select empresa from estoque where estoque = id) '
  28. 'FROM saldos '
  29. 'WHERE estoque > 99')
  30.  
  31. table_saldos = {}
  32.  
  33. for a in cur:
  34. table_saldos[a[0]] = a[1:]
  35.  
  36. for produto in table_saldos.items():
  37. curmatriz.execute("SELECT quantidade FROM lancto WHERE "
  38. " hora > '%s' and operacao in ('C', 'V', 'DF') and "
  39. " produto = %d " %
  40. (produto[1][2], table_produto[produto[0]][2]))
  41.  
  42. lbuffer = curmatriz.fetchone()
  43.  
  44. if lbuffer is None:
  45. venda = 0
  46. else:
  47. venda = lbuffer[0]
  48.  
  49. saldo = produto[1][1] - venda
  50.  
  51. if produto[0] in table_produto:
  52. nome_produto = table_produto[produto[0]][0]
  53. else:
  54. nome_produto = "Produto invalido"
  55.  
  56. outp = "(%s @ %d) %s\tAnterior = %d\tVendas = %d\tAtual = %d" % \
  57. (produto[0].ljust(8), produto[1][0], nome_produto.ljust(60), produto[1][1], venda, saldo)
  58.  
  59. if option == '1':
  60. if saldo < 5:
  61. outp = termcolor.colored(outp, 'red')
  62.  
  63. print(outp)
  64.  
  65. if option == '2':
  66. if saldo < 10:
  67. print(outp)
  68.  
  69.  
  70. if option == '3':
  71. if saldo < 10:
  72. cur.execute("SELECT quant FROM saldos WHERE "
  73. " produto = '%s' and estoque = %d" %
  74. (produto[0], table_saldos[produto[0]][0] / 100))
  75.  
  76. lbuffer = cur.fetchone()
  77.  
  78. if lbuffer is not None:
  79. outp += termcolor.colored("/%d" % lbuffer[0], 'yellow')
  80. else:
  81. outp += termcolor.colored("/?", 'red')
  82.  
  83. curmatriz.execute("SELECT sum(quantidade) FROM lancto WHERE "
  84. " produto = (select grid from produto where codigo_barra = '%s') "
  85. " AND data >= current_timestamp - interval '15' day "
  86. " AND operacao in ('C', 'V', 'DF') " % (produto[0]))
  87.  
  88. lbuffer = curmatriz.fetchone()
  89.  
  90. outp += termcolor.colored("\t%.1f/dia" % (float(lbuffer[0]) / 15), 'green')
  91.  
  92. print(outp)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement