def QADBF(serialNumber,partNumber, line): ##line = GEN3,FIVES or REPACK
from java.util import Date
from java.util import Calendar
import datetime
import system
import time
time.sleep(2)
#VERIFY THE LETTERS WHICH ARE ALLOWED AND WHICH ARE ILLEGAL AND UPDATE THIS ARRAY
alphabet = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
now = datetime.datetime.now()
creation = str(now)
userName = 'SYSTEM'
if line.upper() == 'REPACK':
curIndx = system.db.runPrepQuery("SELECT TOP 1 QADINDEX FROM QADBFGEN3 WHERE QADINDEX like 'INR%' ORDER BY indx DESC",[],'OST_USERDEF')
count = len(curIndx)
if count < 1:
QADINDEX = 'INRA0001'
elif curIndx[0][0] == 'INRZ9999':
QADINDEX = 'INRA0001'
else:
for i in range(len(alphabet)):
if str(curIndx[count-1][0][3]) == str(alphabet[i]):
if int(curIndx[count-1][0][4:])==9999:
QADINDEX='INR'+ str(alphabet[i+1])+'0001'
break
else:
QADINDEX='INR'+ str(alphabet[i])+str(int(curIndx[count-1][0][4:])+1).zfill(4)
break
else:
typsql = "select * from Label_Attr where pn = ?"
typ = system.db.runPrepQuery(typsql,[partNumber],'OST_USERDEF')
prefix = 'INB'
if typ.getRowCount()<>0:
if (typ[0][0] == '12V40') or (line == 'GEN3'):
prefix = 'ING'
indexsql = "SELECT TOP 1 QADINDEX FROM QADBFGEN3 WHERE QADINDEX like '"+ prefix +"%' ORDER BY indx DESC"
curIndx = system.db.runPrepQuery(indexsql,[],'OST_USERDEF')
count = len(curIndx)
if count < 1:
QADINDEX = prefix + 'A0001'
elif curIndx[0][0] == prefix + 'Z9999':
QADINDEX = prefix + 'A0001'
else:
for i in range(len(alphabet)):
if str(curIndx[count-1][0][3]) == str(alphabet[i]):
if int(curIndx[count-1][0][4:])==9999:
QADINDEX=prefix+ str(alphabet[i+1])+'0001'
break
else:
QADINDEX=prefix + str(alphabet[i])+str(int(curIndx[count-1][0][4:])+1).zfill(4)
break
#backflush_datastream for flat file creation for delivery for QAD Backflush
backflush_data= "rfrebkflo.p,"
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+="MES,"
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+="STARTFG,"
backflush_data+= serialNumber +","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+= partNumber + ","
backflush_data+=line + ","
backflush_data+=","
backflush_data+="1,"
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+= QADINDEX +","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+= line + ","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","#backflush_data+="ITZEBRA,"
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+=","
backflush_data+="\n"
oldserver = "qvara12ldb01"
newserver = "sfr0eg6xdb01"
server = "qxxxxxxxxb01"
share = "prodshare"
filePath = "ea******queue/" + QADINDEX
domain = "o****d"
user = "od*****mba"
pwd = "**********"
system.net.writeFile(server,share,filePath,domain,user,pwd,backflush_data,1)
system.db.runPrepUpdate("INSERT INTO QADBFGEN3 (QADINDEX,SERIAL,MODEL,CREATED,DATE,USERNAME,SAMPLEFILE,T_STAMP) VALUES(?,?,?,?,?,?,?,?)", [QADINDEX,serialNumber,partNumber,creation,datetime.datetime.now(),userName,backflush_data,datetime.datetime.now()],'OST_USERDEF')