Advertisement
Guest User

as

a guest
Jul 28th, 2014
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.91 KB | None | 0 0
  1. # -*- coding: cp1250 -*-
  2. from datetime import timedelta,date
  3. from random import randint
  4. import random
  5. from biblioteka import genCyf,genGrosze,genZlotowki,nazwaPlatnika,genWersjaDok,genEmail,genTerminalKeynumber,paybackNumber,aliasType,genLiczbyZDopelnieniemZera,genWartPkt
  6. from glob import glob
  7. import os
  8. import datetime
  9.  
  10.  
  11. Hliczba_rek = 1
  12.  
  13. Tliczba_rek = str(randint(1,0000000010))
  14. while len(Tliczba_rek) !=10:
  15.     Tliczba_rek = '0'+ Tliczba_rek
  16.  
  17.  
  18.  
  19.  
  20. print ('$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$')
  21. Rliczba_rek = 1
  22. Eliczba_rek = 1
  23.  
  24. data_ksieg = str(date.today())
  25.  
  26. #print date.today()
  27.  
  28. suma = 0.0
  29.  
  30. #print liczba_rek
  31.  
  32. zaw = ''
  33. T_zaw_rek =''
  34. R_zaw_rek =''
  35. E_zaw_rek =''
  36.  
  37. generatorCyfr = genCyf(6)
  38. dopelnienie_zera = genLiczbyZDopelnieniemZera()
  39.  
  40. ################################################ GENEROWANIE REKORDU T
  41. for i in range (1,int(Tliczba_rek)+1):
  42.  
  43.  
  44.     T_linia =''
  45.     R_linia =''
  46.     E_linia =''
  47.  
  48.     utc_datetime = datetime.datetime.utcnow()
  49.     czas_utc = utc_datetime.strftime("%Y-%m-%d%H:%M:%S")
  50.     czas_utc2 = str(czas_utc)
  51.    
  52.     dataWplaty = str(date.today() - timedelta(days=randint(1,10)))
  53.  
  54. #Constant 'T' (indicator of Transaction)
  55.  
  56.     T_a ='T'
  57.     T_linia+=T_a
  58.    
  59. #Filenumber;identification number of the job, assigned by the business partner; (see H6)
  60.  
  61.     T_b = generatorCyfr
  62.     T_linia+= T_b+ '    '
  63.    
  64. #Sequence number for transactions in this file, starting by 1
  65.  
  66.     T_c = 'sequence_number'
  67.     T_linia+=T_c
  68.    
  69. #Partnercode
  70.  
  71.     T_d = 'rea'
  72.     T_linia+=T_d
  73.  
  74. #BusinessUnitcode
  75.    
  76.     T_e = 'rea'
  77.     T_linia+=T_e
  78.  
  79. #Branchnumber where the transaction has taken place
  80.  
  81.     T_f = 'Branchnumber'
  82.     T_linia +=T_f
  83.  
  84. #Terminal keynumber
  85.  
  86.     T_g = 'ID'+genTerminalKeynumber(8)
  87.     T_linia+=T_g
  88.  
  89. #PAYBACK cardnumber:  16-digits
  90.  
  91.     T_h = paybackNumber(16)
  92.     T_linia+=T_h
  93.  
  94. #Alias_type
  95.  
  96.     T_i = aliasType()
  97.     T_linia+=T_i
  98.  
  99. #Effective date: Date of event creation at partner
  100.  
  101.     T_j = czas_utc
  102.     T_linia+=T_j
  103.  
  104. #Collect event type
  105.    
  106.     T_k = dopelnienie_zera[0]
  107.     T_linia+=T_k
  108.  
  109. #Channel that transferred the collect event
  110.  
  111.     T_l = dopelnienie_zera[1]
  112.     T_linia+=T_l+'\n'
  113.    
  114.     T_zaw_rek+=T_linia
  115.  
  116.    
  117. ################################################ GENEROWANIE REKORDU R
  118.  
  119.     R_a ='R'
  120.     R_linia+=R_a
  121.  
  122.     R_b = genCyf(4)
  123.     R_linia+= R_b+ '    '
  124.  
  125.     R_c = genCyf(8)
  126.     R_linia+=R_c+','
  127.  
  128.     R_d1 = genZlotowki()
  129.  
  130.     R_d = R_d1+'.'+genGrosze()
  131.     kwota = float(R_d)
  132.     suma += kwota
  133.     R_linia+=R_d+','
  134.  
  135.     R_e = genCyf(12)
  136.     R_linia+=R_e+ ','
  137.  
  138.     R_f = dataWplaty
  139.     R_linia +=R_f+','
  140.  
  141.     if len(str(R_d1))==2:
  142.             wart_pkt = str(randint(100,999))
  143.     elif len(str(R_d1))==3:
  144.             wart_pkt = str(randint(1000,9999))
  145.     else:
  146.             wart_pkt = str(10000)
  147.  
  148.  
  149.     R_g = '10.00.01,T/PKT '+wart_pkt+'/'+dataWplaty+'/Opłata za rachunek nr_'+genCyf(8)+','+wart_pkt+','
  150.     R_linia+=R_g+','
  151.  
  152.     R_h = nazwaPlatnika()
  153.     R_linia+=R_h+','
  154.  
  155.     R_j = 'PAYBACK,0.3'
  156.     R_linia+=R_j+'\n'
  157.    
  158.     R_zaw_rek+=R_linia
  159.  
  160. ################################################ GENEROWANIE REKORDU E
  161.  
  162.     E_a ='E'
  163.     E_linia+=E_a
  164.  
  165.     E_b = genCyf(4)
  166.     E_linia+= E_b+ '    '
  167.  
  168.     E_c = genCyf(8)
  169.     E_linia+=E_c+','
  170.  
  171.     E_d1 = genZlotowki()
  172.  
  173.     E_d = E_d1+'.'+genGrosze()
  174.     kwota = float(E_d)
  175.     suma += kwota
  176.     E_linia+=E_d+','
  177.  
  178.     E_e = genCyf(12)
  179.     E_linia+=E_e+ ','
  180.  
  181.     E_f = dataWplaty
  182.     E_linia +=E_f+','
  183.  
  184.     if len(str(E_d1))==2:
  185.             wart_pkt = str(randint(100,999))
  186.     elif len(str(E_d1))==3:
  187.             wart_pkt = str(randint(1000,9999))
  188.     else:
  189.             wart_pkt = str(10000)
  190.  
  191.  
  192.     E_g = '10.00.01,T/PKT '+wart_pkt+'/'+dataWplaty+'/Opłata za rachunek nr_'+genCyf(8)+','+wart_pkt+','
  193.     E_linia+=E_g+','
  194.  
  195.     E_h = nazwaPlatnika()
  196.     E_linia+=E_h+','
  197.  
  198.     E_j = 'PAYBACK,0.3'
  199.     E_linia+=E_j+'\n'
  200.    
  201.     E_zaw_rek+=E_linia
  202.  
  203.  
  204.  
  205.  
  206. nag = 'H'+genWersjaDok()+'   '+'trn'+'rea'+genCyf(4)+'    '+generatorCyfr+genEmail(10)+'@'+'wp.pl'+czas_utc+str(Tliczba_rek)+genWartPkt()+'TURNOVER_SUM'+'\n'
  207.  
  208. zaw=nag+T_zaw_rek+R_zaw_rek+E_zaw_rek
  209.  
  210. print zaw
  211.  
  212.  
  213. mies = data_ksieg[5:7]
  214.  
  215. dzien = data_ksieg[8:]
  216.  
  217.  
  218. search = glob(os.path.join(mies+dzien+'*'))
  219.              
  220. if search:
  221.   #jeżeli masz conajmniej jeden element w liście  
  222.               nrplik = len(search)+1 #zwraca 7 i żeby stworzyć nowy trzeba dodać nowy
  223.               nrplik1 = str(nrplik)
  224.  
  225.               if len(nrplik1) == 1:
  226.                   nrplik = '00' +nrplik1
  227.  
  228.               elif len(nrplik1) == 2:
  229.                   nrplik ='0' +nrplik1
  230.  
  231.               else:
  232.                   nrplik = nrplik1
  233.  
  234. else:
  235.     nrplik ='001'
  236.  
  237. nazwa_pliku = mies+dzien+str(nrplik)+'SOS.BMPB'
  238.  
  239. file1 = open(nazwa_pliku,'w')
  240. file1.write(zaw)
  241. file1.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement