genelfonks.py 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. # -*- coding: utf-8 -*-
  2. import sqlite3 as lite
  3. import sys
  4. import datetime
  5. import os
  6. import decimal
  7. import time
  8. import codecs
  9. from logcu import *
  10. import random
  11. import re
  12. import sqlite3 as lite
  13. import sys
  14. import urllib2, urllib
  15. import MultipartPostHandler
  16. from random import randint
  17. import datetime
  18. from mysqlmak import *
  19. from cari import *
  20. from stok import *
  21. from fatura import *
  22. from htmlrapor import *
  23. from stdnum import ean
  24. import ctypes
  25. class Arge:
  26. def coklu_topla(self,miktar):
  27. if '+' in str(miktar):
  28. miktarlar=miktar.split('+')
  29. topmik=0
  30. for mik in miktarlar:
  31. if mik.find(",") > 0 :
  32. mik=mik.replace(',','.')
  33. mik=float(mik)
  34. topmik+=mik
  35. miktar=topmik
  36. miktar=str(miktar)
  37. if '*' in str(miktar):
  38. miktarlar=miktar.split('*')
  39. topmik=1
  40. for mik in miktarlar:
  41. if mik.find(",") > 0 :
  42. mik=mik.replace(',','.')
  43. mik=float(mik)
  44. topmik*=mik
  45. miktar=topmik
  46. miktar=str(miktar)
  47. if '/' in str(miktar):
  48. miktarlar=miktar.split('/')
  49. bolnn=miktarlar[0]
  50. bol=miktarlar[1]
  51. if bolnn.find(",") > 0 :
  52. bolnn=bolnn.replace(',','.')
  53. if bol.find(",") > 0 :
  54. bol=bol.replace(',','.')
  55. miktar=float(bolnn)/float(bol)
  56. else:
  57. return miktar
  58. return str(round(float(miktar),3))
  59. def saat_al(self):
  60. saatstr=""
  61. now = datetime.datetime.now()
  62. saatstr=now.strftime("%H:%M:%S")
  63. return saatstr
  64. def tyazi_cevir(self,tutar):
  65. yaziyla1=""
  66. yaziyla2=""
  67. if(tutar.find(",") != -1):
  68. tumtutar = tutar.split(",")
  69. yaziyla1 = cevir(tumtutar[0]) + "TL"
  70. yaziyla2 = cevir(tumtutar[1]) + "KRStur"
  71. elif(tutar.find(".") != -1):
  72. tumtutar = tutar.split(".")
  73. yaziyla1 = cevir(tumtutar[0]) + "TL."
  74. yaziyla2 = cevir(tumtutar[1]) + "KRStur"
  75. else:
  76. yaziyla1 = cevir(tutar) + "TLdir"
  77. yaziyla2 = ""
  78. return [yaziyla1,yaziyla2]
  79. def barkod_tamamla(self,barkode):
  80. ek=ean.calc_check_digit(str(barkode))
  81. return str(barkode)+ek
  82. def dosyaYdizi(self,dosya):
  83. icerik=codecs.open(dosya, "r","latin5")
  84. stoklar=[]
  85. for satir in icerik:
  86. sat=satir.split("\n")[0]
  87. sat=sat.split("\r")[0]
  88. stoklar.append([sat])
  89. return stoklar
  90. def servisler_al(self,dosya="servisler.ayar"):
  91. icerik=codecs.open(dosya, "r","latin5")
  92. servisler=[]
  93. for satir in icerik:
  94. sat=satir.split("\n")[0]
  95. sat=sat.split("\r")[0]
  96. servisler.append(sat)
  97. return servisler
  98. def z_rapor_analiz(self,dosya):
  99. anahtar="SIGNATURE=GNDZDETAILS.GDF"
  100. zrap=[]
  101. with open(dosya,'r') as f:
  102. for satir in f:
  103. rap=[]
  104. satlar=satir.split()
  105. if satlar[0]==anahtar or anahtar=="tm":
  106. if anahtar=="tm":
  107. fisno=satlar[1]
  108. tarih=satlar[4]
  109. rap.append(tarih)
  110. rap.append(fisno)
  111. for x in range(0,10):
  112. rap.append(satlar[24+x])
  113. gentop=satlar[8]
  114. rap.append(gentop)
  115. anahtar="tm"
  116. if len(rap)>0:
  117. zrap.append(rap)
  118. #print zrap
  119. rapor=statikrapor()
  120. sutunlar=["TARIH","FISNO","KONTOR","TEMEL GIDA","MUHTELIF","UN-EKMEK","TEMIZLIK","GAZETE","SIGARA","MANAV","ET","OZ URETIM","TOPLAM"]
  121. return rapor.diziYhtml(zrap,sutunlar)
  122. open("zrapo.html","w").write(rapor.diziYhtml(zrap,sutunlar))
  123. def termal_yazdir(self,sablon="kasa"):
  124. if sablon == "kasa":
  125. saat=self.saat_al()
  126. if('makbuznot' in request.form and 'makbuznot3' in request.form):
  127. makbuznot=request.form["makbuznot"]
  128. makbuznot2=request.form["makbuznot"]
  129. makbuznot3=request.form["makbuznot3"]
  130. else:
  131. makbuznot="---"
  132. makbuznot2="---"
  133. makbuznot3="-"
  134. fistip=""
  135. tutarf=tutar
  136. if(tutar!=""):
  137. if(tutar[0] != "-" ): ## sayi negatif degilse , yani para girisi oluyorsa
  138. fistip=("TAHSILAT").decode('utf-8')
  139. makbuznot2=makbuznot
  140. makbuznot=makbuznot3
  141. else: ## sayi negatif ise , yani para ciktisi oluyorsa
  142. fistip=("TEDİYE").decode('utf-8')
  143. tutarf=tutar
  144. tutar = tutar[1:]
  145. makbuznot2=makbuznot3
  146. tyazi=self.tyazi_cevir(tutar)
  147. if(guncislem=="CARI" and secim!=""):
  148. fishedef=secim.split('@')[0]
  149. fishedef=fishedef[0:31]
  150. else:
  151. fishedef=secim.split('@')[1]
  152. fishedef=fishedef[0:31]
  153. with codecs.open("kasacikti.prn", "w","latin5") as out:
  154. for line in codecs.open("sablon.prn",'r',"latin5"):
  155. line=line.replace("xnushanot","ikinci".decode('utf-8'))
  156. line=line.replace("xtarih", str(tarih))
  157. line=line.replace("xsaat",str(saat))
  158. line=line.replace("xfistip",fistip)
  159. line=line.replace("xfisno",str(session['ksira']))
  160. line=line.replace("xtutar",tutar.encode('iso8859-9'))
  161. line=line.replace("xyaziyla1",tyazi[0].encode('iso8859-9'))
  162. line=line.replace("xyaziyla2",tyazi[1].encode('iso8859-9'))
  163. line=line.replace("xhedef",fishedef)
  164. line=line.replace("xmakbuzack",kasaack)
  165. line=line.replace("xteslimeden",makbuznot2)
  166. line=line.replace("xteslimalan",makbuznot)
  167. out.write(line)
  168. with codecs.open("kasacikti2.prn", "w","latin5") as out:
  169. for line in codecs.open("sablon.prn",'r',"latin5"):
  170. line=line.replace("xnushanot","birinci".decode('utf-8'))
  171. line=line.replace("xtarih", str(tarih))
  172. line=line.replace("xsaat",str(saat))
  173. line=line.replace("xfistip",fistip)
  174. line=line.replace("xfisno",str(session['ksira']))
  175. line=line.replace("xtutar",tutar.encode('iso8859-9'))
  176. line=line.replace("xyaziyla1",tyazi[0].encode('iso8859-9'))
  177. line=line.replace("xyaziyla2",tyazi[1].encode('iso8859-9'))
  178. line=line.replace("xhedef",fishedef)
  179. line=line.replace("xmakbuzack",kasaack)
  180. line=line.replace("xteslimeden",makbuznot2)
  181. line=line.replace("xteslimalan",makbuznot)
  182. out.write(line)
  183. os.system("yazdir1.bat")
  184. os.system("yazdir2.bat")