# Charging Updates

import sys
import os
import mysql.connector
import datetime
import time

import default_setting

def updateHaulier (cnx):
    try:
    # connection
        cursor = cnx.cursor(dictionary=True)
        dataQuery = "SELECT transaction_history.id AS id,part.part_number AS part_number, vendor.vendor_reference_code AS vendor_code FROM transaction_history JOIN part ON transaction_history.part_number=part.part_number JOIN vendor on part.vendor_id=vendor.id WHERE vendor_code IS null"
        cursor.execute(dataQuery)
        data = cursor.fetchall()
        for row in data:
            try:
                id = row['id']
                vendorCode = row['vendor_code']
                partNumber = row['part_number']
#                print ("TEST-",id,partNumber,vendorCode)
                dataUpdQuery = "UPDATE transaction_history SET vendor_code='"+str(vendorCode)+"' WHERE id="+str(id)+" LIMIT 1"
                cursor.execute(dataUpdQuery)
                cnx.commit()
            except Exception as Err:
                print("FAIL-",str(Err),dataUpdQuery)
    except Exception as Err:
        print("FAIL-",str(Err),dataQuery)
    finally:
        cursor.close()

    return "OK  -updateVendor"

def main():
	# Default Connection / System Settings
	defaults = default_setting.defaultSettings()
	# mySql Connector
	cnx = mysql.connector.connect(user=defaults['dbuser'], password=defaults['dbpwd'],host=defaults['dbhost'],database=defaults['dbase'])

	response = updateHaulier(cnx)
	sys.stdout.write("\r")
	sys.stdout.flush()
	sys.stdout.write(response)
	sys.stdout.flush()
	
if __name__ == '__main__':
	main()