import mysql.connector
import insertTM3
import os

BATH_PATH = '/data/file/Rx/DAT-update2-import'
INSERT_TABLE_DATIDS = '''
replace into DATIDS (DATIDS_TID,DATIDS_TSUBSYN,DATIDS_TUNIPROT,DATIDS_TPDB) VALUES(%s,%s,%s,%s)
'''
INSERT_TABLE_DAT = '''
replace into DAT(DAT_ID,DAT_citation,DAT_CIT,DAT_CID,DAT_CTYPE,DAT_MRN,DAT_MNAME,DAT_MROUTE,DAT_MREGIM,DAT_MDOSE,DAT_CLPHASE,DAT_SRN,DAT_SNAME,DAT_SDOSE,DAT_MID,DAT_VTYPE,DAT_VLIMIT,DAT_AID,DAT_ANAME,DAT_AFTYPE,DAT_CATEG,DAT_MODEL,DAT_PATHO,DAT_ACTTRG,DAT_ADESC,DAT_EFFECT,DAT_BID,DAT_BCELL,DAT_BPART,DAT_BTISSUE,DAT_BSTATE,DAT_BSPECIE,DAT_TID,DAT_TNAME,DAT_TSUBUNIT,DAT_TSPECIE,DAT_TNATURE,DAT_TDETAILS,DAT_TKEY,DAT_TSKEY,DAT_TROLE,DAT_TTRANSFECT,DAT_ASPECIE,DAT_CTL,DAT_CFLAG,DAT_TEXT,DAT_EXACT,DAT_VALUE,DAT_DEV,DAT_UNIT,DAT_PAUREUS,DAT_PAUORIG,DAT_SIGNIF,DAT_PVALUE,DAT_MCOUNT,DAT_ED,DAT_BIND,DAT_PVD,DAT_UPD,DAT_SRC) 
VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)
'''
TARGET_NAME = 'dpitem'

ID_KEY = 'DAT.ID'
KEY_NAME = ['DAT.citation','DAT.CIT','DAT.CID','DAT.CTYPE','DAT.MRN','DAT.MNAME','DAT.MROUTE','DAT.MREGIM','DAT.MDOSE','DAT.CLPHASE','DAT.SRN','DAT.SNAME','DAT.SDOSE','DAT.MID','DAT.VTYPE','DAT.VLIMIT','DAT.AID','DAT.ANAME','DAT.AFTYPE','DAT.CATEG','DAT.MODEL','DAT.PATHO','DAT.ACTTRG','DAT.ADESC','DAT.EFFECT','DAT.BID','DAT.BCELL','DAT.BPART','DAT.BTISSUE','DAT.BSTATE','DAT.BSPECIE','DAT.TID','DAT.TNAME','DAT.TSUBUNIT','DAT.TSPECIE','DAT.TNATURE','DAT.TDETAILS','DAT.TKEY','DAT.TSKEY','DAT.TROLE','DAT.TTRANSFECT','DAT.ASPECIE','DAT.CTL','DAT.CFLAG','DAT.TEXT','DAT.EXACT','DAT.VALUE','DAT.DEV','DAT.UNIT','DAT.PAUREUS','DAT.PAUORIG','DAT.SIGNIF','DAT.PVALUE','DAT.MCOUNT','DAT.ED','DAT.BIND','DAT.PVD','DAT.UPD','DAT.SRC']

ID_KEY_S = 'DATIDS.TID'
KEY_NAME_S = ['DATIDS.TSUBSYN','DATIDS.TUNIPROT','DATIDS.TPDB']


def dealXML(fileName):
    insertTM3.setBasicValue(BATH_PATH,TARGET_NAME)
    xmlTree = insertTM3._getTree(fileName)
    insertTM3.setSqlValue(ID_KEY, INSERT_TABLE_DAT, KEY_NAME)
    insertTM3.dealXMLByTree(xmlTree)
    insertTM3.setSqlValue(ID_KEY_S, INSERT_TABLE_DATIDS, KEY_NAME_S)
    insertTM3.dealXMLByTree(xmlTree)
    os.remove(os.path.join(BATH_PATH,fileName))
    print(fileName,'success')

if __name__ == '__main__':
    dirList = os.listdir(BATH_PATH)
    for fileName in dirList:
        dealXML(fileName)
    
