lazer_yazici.py 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. from mysqlmak import *
  2. import os
  3. import sys
  4. import datetime
  5. import platform
  6. yazdir_komut="yazdir.bat"
  7. yazdir_komut2="yazdir2.bat"
  8. dosya="lzrfis.prn"
  9. if platform.system()=='Linux':
  10. yazdir_komut="./yazdir.sh "+dosya
  11. yazdir_komut2="./yazdir2.sh "+dosya
  12. aralik=22
  13. font="2"
  14. printstr=""
  15. mak=mysqlmak()
  16. #fisno="w00000000000002"
  17. #fattip="dat"
  18. ftip=sys.argv[1]
  19. fkod=sys.argv[2]
  20. yazici=sys.argv[3]
  21. if ftip=='f':
  22. fatura=mak.fatura_yukle(fkod)
  23. stharsay=len(mak.sthlar_al(fkod))
  24. print "stharsay:",stharsay
  25. stharuz=stharsay*aralik
  26. etkuz=stharuz+(12*aralik)
  27. #etkuz=600
  28. print "etkuz:",etkuz
  29. tarih=str(mak.tarih_turk(fatura.tarih))
  30. hedef=fatura.hedef
  31. fno=fatura.fno
  32. stharlar=mak.sthlar_al(fkod)
  33. else:
  34. stharsay=len(mak.stk_al(fkod))
  35. print "stharsay:",stharsay
  36. stharuz=stharsay*aralik
  37. etkuz=stharuz+(12*aralik)
  38. print "etkuz:",etkuz
  39. tarih=str(datetime.datetime.now()).split()[0]
  40. hedef=fkod
  41. fno=fkod
  42. stharlar=mak.stk_al(fkod)
  43. printstr+="I8,A,001"+"\n"
  44. printstr+="D3"+"\n"
  45. printstr+="R0,0"+"\n"
  46. printstr+="Q"+str(etkuz)+"\n"
  47. printstr+="q600"+"\n"
  48. printstr+="I8,E,001"+"\n"
  49. printstr+="N"+"\n"
  50. inceayar=10
  51. if mak.cari(hedef):
  52. cisim=mak.cari(hedef).isim
  53. else:
  54. cisim=""
  55. printstr+="A600,"+str(etkuz-aralik)+",2,"+font+",1,1,N,"+'"'+"--"+'"'+"\n"
  56. printstr+="A600,"+str(etkuz-(aralik*2)-inceayar)+",2,"+font+",1,1,N,"+'"'+"tarih:"+'"'+"\n"
  57. printstr+="A530,"+str(etkuz-(aralik*2)-inceayar)+",2,"+font+",1,1,N,"+'"'+tarih+'"'+"\n"
  58. printstr+="A360,"+str(etkuz-(aralik*2)-inceayar)+",2,"+font+",1,1,N,"+'"'+hedef+'"'+"\n"
  59. printstr+="A285,"+str(etkuz-(aralik*2)-inceayar)+",2,"+font+",1,1,N,"+'"'+" fisno:"+'"'+"\n"
  60. printstr+="A200,"+str(etkuz-(aralik*2)-inceayar)+",2,"+font+",1,1,N,"+'"'+fno+'"'+"\n"
  61. printstr+="A600,"+str(etkuz-(aralik*4))+",2,"+font+",1,1,N,"+'"'+cisim.decode('latin5')+'"'+"\n"
  62. printstr+="A600,"+str(etkuz-(aralik*5))+",2,"+font+",1,1,N,"+'"'+"--------------------------------------------------"+'"'+"\n"
  63. printstr+="A550,"+str(etkuz-(aralik*6))+",2,"+font+",1,1,N,"+'"'+"MALZEME"+'"'+"\n"
  64. printstr+="A280,"+str(etkuz-(aralik*6))+",2,"+font+",1,1,N,"+'"'+"MIKTAR"+'"'+"\n"
  65. printstr+="A190,"+str(etkuz-(aralik*6))+",2,"+font+",1,1,N,"+'"'+"FIYAT"+'"'+"\n"
  66. printstr+="A100,"+str(etkuz-(aralik*6))+",2,"+font+",1,1,N,"+'"'+"TUTAR"+'"'+"\n"
  67. printstr+="A600,"+str(etkuz-(aralik*7))+",2,"+font+",1,1,N,"+'"'+"--------------------------------------------------"+'"'+"\n"
  68. sthara=8 #sthar aralik katsayisi
  69. inceayar=5
  70. meblag=0
  71. topmik=0
  72. for sthar in stharlar:
  73. if ftip=='f':
  74. malzeme=(sthar[2])[0:26]
  75. miktar=float(sthar[3])
  76. fiyat=round(float(sthar[6]),2)
  77. tutar=round(sthar[7],2)
  78. else:
  79. malzeme=(sthar[2])[0:26]
  80. miktar=float(sthar[3])
  81. fiyat=round(float(sthar[4]),2)
  82. tutar=round(sthar[5],2)
  83. tutar=float(tutar)
  84. topmik+=miktar
  85. meblag+=tutar
  86. printstr+="A600,"+str(etkuz-(aralik*sthara)-inceayar)+",2,"+font+",1,1,N,"+'"'+malzeme+'"'+"\n"
  87. printstr+="A280,"+str(etkuz-(aralik*sthara)-inceayar)+",2,"+font+",1,1,N,"+'"'+str(miktar)+'"'+"\n"
  88. printstr+="A190,"+str(etkuz-(aralik*sthara)-inceayar)+",2,"+font+",1,1,N,"+'"'+str(fiyat)+'"'+"\n"
  89. printstr+="A100,"+str(etkuz-(aralik*sthara)-inceayar)+",2,"+font+",1,1,N,"+'"'+str(tutar)+'"'+"\n"
  90. sthara+=1
  91. sthara+=1
  92. printstr+="A220,"+str(etkuz-(aralik*sthara)-inceayar)+",2,"+font+",1,1,N,"+'"'+"TOPLAM"+'"'+"\n"
  93. printstr+="A110,"+str(etkuz-(aralik*sthara)-inceayar)+",2,"+font+",1,1,N,"+'"'+str(float(meblag))+'"'+"\n"
  94. printstr+="A600,"+str(etkuz-(aralik*sthara)-inceayar)+",2,"+font+",1,1,N,"+'"'+"TOPMIK"+'"'+"\n"
  95. printstr+="A480,"+str(etkuz-(aralik*sthara)-inceayar)+",2,"+font+",1,1,N,"+'"'+str(float(topmik))+'"'+"\n"
  96. sthara+=2
  97. font="2"
  98. printstr+="A525,"+str(etkuz-(aralik*sthara)-inceayar)+",2,"+font+",1,1,N,"+'"'+"GIOM SISTEMI"+'"'+"\n"
  99. printstr+="P1"+"\n"
  100. codecs.open("lzrfis.prn", "w","latin5").write(printstr)
  101. #open("lzrfis.prn","w").write(printstr)
  102. #os.system("copy ppzbr.prn lpt2")
  103. if yazici=="1":
  104. os.system(yazdir_komut)
  105. log=open("yazdir.log","r").read()
  106. print "yazdirma log-->",log
  107. if "failed" in str(log):
  108. print "tekrar deneniyor"
  109. os.system(yazdir_komut)
  110. else:
  111. os.system(yazdir_komut2)