Ejemplo n.º 1
0
def query_alllimit(user_data):
    print("load limit history table ==> wait...")
    data_limitValue = []
    data_transaction = 0
    db = connect_db.connectMongoDB()
    if db.userlist.count_documents({'username': user_data[1]}) == 1:
        get_data = db.userlist.find({'username': user_data[1]})
        get_data_transaction = db.transaction_list.find(
            {'username': user_data[1]})
        for data in get_data:

            for date_query in data['limit_value_temp']:
                print('Limit value {} ==> {}'.format(
                    date_query['date_create'], date_query['limit_value']))
                dateend_c = datetime.datetime.strptime(
                    date_query['date_create'], '%d-%b-%Y').strftime('%b-%Y')
                for query_transaction in get_data_transaction:
                    datestart_c = datetime.datetime.strptime(
                        query_transaction['date'],
                        '%d-%b-%Y').strftime('%b-%Y')
                    if datestart_c == dateend_c:
                        data_transaction = data_transaction + query_transaction[
                            'spend']
                used_value = date_query['limit_value'] - data_transaction
                print('used in {} ==> {}'.format(date_query['date_create'],
                                                 used_value))
                result = {
                    'date_create': date_query['date_create'],
                    'limit_value': date_query['limit_value'],
                    'used': used_value
                }
                data_limitValue.append(result)
        print("load limit history table ==> Success")
    return (data_limitValue)
Ejemplo n.º 2
0
def query_limitValue(user_data):
    print("load limit value ==> wait...")
    data_limitValue = []
    db = connect_db.connectMongoDB()
    if db.userlist.count_documents({'username': user_data[1]}) == 1:
        data_limitValue.append("PASS")
        get_data = db.userlist.find({'username': user_data[1]})

        for data in get_data:
            all_limitValue = data

        if 'limit_value_temp' not in all_limitValue:
            print("This user not have limit value data.")
            data_limitValue.append(0)
        else:
            temp_value = all_limitValue['limit_value_temp'][-1]
            data_limitValue.append(temp_value['limit_value'])

        print('Info ==> {}'.format(data_limitValue))
        print("load limit value ==> Success")

    else:
        data_limitValue.append("FAIL")
        print("load limit value ==> Error")
    return (data_limitValue)
Ejemplo n.º 3
0
def insertRegister_to_Db(datainput):
    status = False
    db = connect_db.connectMongoDB()
    result = db.userlist.insert_one(datainput)
    if result.inserted_id != "":
        status = True
    return (status)
Ejemplo n.º 4
0
def checkDeleteLedger(id):
    print('Delete transaction id : {}'.format(id))
    print('Delete transaction ==> wait...')
    db = connect_db.connectMongoDB()
    check_delete = db.transaction_list.delete_one({'_id': ObjectId(id)})
    print(check_delete)
    print('Delete transaction ==> success')
Ejemplo n.º 5
0
def checkRegis(user):
    checkduplicate = False
    db = connect_db.connectMongoDB()
    if db.userlist.count_documents({'username': user }) != 0:
        checkduplicate = True
        print("Username is Same")
    else:
        print("Username Not Same")
    return (checkduplicate)
Ejemplo n.º 6
0
def query_data(user_data, day):
    print("load user data {} | {} ==> wait...".format(day, user_data[1]))
    day_c = datetime.datetime.strptime(day, '%b-%Y').strftime('%b-%Y')
    data_transaction = []
    income_sum = 0
    spend_sum = 0
    db = connect_db.connectMongoDB()
    if db.transaction_list.count_documents({'username': user_data[1]}) > 0:
        get_data = db.transaction_list.find({'username': user_data[1]})

        for data in get_data:
            day_data_c = datetime.datetime.strptime(
                data['date'], '%d-%b-%Y').strftime('%b-%Y')
            print('{} | {}'.format(day_c, day_data_c))
            if day_c == day_data_c:
                print(data)
                transaction_data = data

                income_sum = income_sum + transaction_data['income']
                spend_sum = spend_sum + transaction_data['spend']

        get_Userdata = db.userlist.find({'username': user_data[1]})
        for data in get_Userdata:
            user_data_result = data

        print("Sum income ==> {} Bath.".format(income_sum))
        print("Sum spend ==> {} Bath.".format(spend_sum))
        print("load user data ==> success")
        print('-' * 30)
        if 'limit_value_temp' in user_data_result:
            data_transaction = {
                'income_sum':
                income_sum,
                'spend_sum':
                spend_sum,
                'limit_value':
                user_data_result['limit_value_temp'][-1]['limit_value']
            }
        else:
            data_transaction = {
                'income_sum': income_sum,
                'spend_sum': spend_sum,
                'limit_value': 0
            }

    else:
        print("This user not have transaction data.")
        data_transaction = {
            'income_sum': income_sum,
            'spend_sum': spend_sum,
            'limit_value': 0
        }

    return (data_transaction)
Ejemplo n.º 7
0
def checkAddLedger(datainput):
    print(datainput)
    print("adding new data ==> wait...")
    db = connect_db.connectMongoDB()
    check_added = db.transaction_list.insert_one(datainput)
    if (check_added != ""):
        print("adding new data ==> success")
        check_added_bool = True
    else:
        print("adding new data ==> Error")
        check_added_bool = False

    return (check_added_bool)
Ejemplo n.º 8
0
def checkAddlimitValue(datainput, user_data):
    print(datainput)
    print("Save limit value ==> wait...")
    db = connect_db.connectMongoDB()
    check_added = db.userlist.update_one(
        {'username': user_data[1]}, {'$push': {
            'limit_value_temp': datainput
        }})
    if (check_added.matched_count > 0):
        print("Save limit value ==> success")
        check_added_bool = True
    else:
        print("Save limit value ==> Error")
        check_added_bool = False
    return (check_added_bool)
Ejemplo n.º 9
0
def checkLogin(datainput):
    datalogin = []
    db = connect_db.connectMongoDB()
    if db.userlist.count_documents({'username': datainput['username'] ,'password' : datainput['password']}) == 1:
        datalogin.append("PASS")
        get_data = db.userlist.find({'username': datainput['username']})
        for data in get_data:
            datalogin.append(data['username'])
            datalogin.append(data['Fname'])
            datalogin.append(data['Lname'])
        print('Info ==> {}'.format(datalogin))
        print('-'*30)
    else:
        datalogin.append("FAIL")
    return (datalogin)
Ejemplo n.º 10
0
def checkEditLedger(datainput, user_data, old_data):
    print("Editing data ==> wait...")
    print("Old data ==> {}".format(old_data))
    print("Old data ==> {}".format(datainput))
    db = connect_db.connectMongoDB()
    check_added = db.transaction_list.update_one({'_id': old_data['_id']},
                                                 {'$set': datainput})
    if (check_added.matched_count > 0):
        print("Editing data ==> success")
        check_added_bool = True
    else:
        print("Editing data ==> Error")
        check_added_bool = False

    return (check_added_bool)
Ejemplo n.º 11
0
def query_table(user_data):
    print("Load Table ==> wait...")
    data_table = []
    db = connect_db.connectMongoDB()
    if db.transaction_list.count_documents({'username': user_data[1]}) > 0:
        get_data = db.transaction_list.find({'username': user_data[1]})

        for data in get_data:
            data_table.append(data)

        print(data_table)
        print("Load Table ==> success")

    else:
        print("This user not have transaction data.")

    return (data_table)
Ejemplo n.º 12
0
def query_tableByDay(user_data, startdate, enddate):
    print("Load Table by Day ==> wait...")
    data_table = []
    datestart_c = datetime.datetime.strptime(startdate, '%d-%b-%Y')
    dateend_c = datetime.datetime.strptime(enddate, '%d-%b-%Y')
    db = connect_db.connectMongoDB()
    if db.transaction_list.count_documents({'username': user_data[1]}) > 0:
        get_data = db.transaction_list.find({'username': user_data[1]})

        for data in get_data:
            data_date_c = datetime.datetime.strptime(data['date'], '%d-%b-%Y')
            if datestart_c <= data_date_c <= dateend_c:
                data_table.append(data)

        print(data_table)
        print("Load Table by Day ==> success")

    else:
        print("This user not have transaction data.")

    return (data_table)
Ejemplo n.º 13
0
def query_analyze(user_data):
    print("load data for analyze ==> wait...")
    data_analyze = []

    normal_spend = 0
    essential_spend = 0
    transport_spend = 0
    online_spend = 0
    food_spend = 0
    normal_income = 0
    salary_income = 0

    income_sum = 0
    spend_sum = 0
    db = connect_db.connectMongoDB()
    if db.transaction_list.count_documents({'username': user_data[1]}) > 0:
        get_data = db.transaction_list.find({'username': user_data[1]})

        for data in get_data:
            income_sum = income_sum + data['income']
            spend_sum = spend_sum + data['spend']

            if data['type'] == "ค่าอาหาร":
                food_spend = food_spend + data['spend']
            elif data['type'] == "ค่าเดินทาง":
                transport_spend = transport_spend + data['spend']
            elif data['type'] == "ค่าใช้จ่ายทั่วไป":
                normal_spend = normal_spend + data['spend']
            elif data['type'] == "ค่าใช้จ่ายออนไลน์":
                online_spend = online_spend + data['spend']
            elif data['type'] == "ค่าใช้จ่ายของใช้ที่จำเป็น":
                essential_spend = essential_spend + data['spend']
            elif data['type'] == "รายรับทั่วไป":
                normal_income = normal_income + data['income']
            elif data['type'] == "รายรับเงินเดือน":
                salary_income = salary_income + data['income']

        print("load data for analyze ==> Calculate Percent...")
        if spend_sum == 0:
            normal_pt_spend = 0
            essential_pt_spend = 0
            transport_pt_spend = 0
            online_pt_spend = 0
            food_pt_spend = 0
        else:
            normal_pt_spend = round((normal_spend * 100) / spend_sum, 2)
            essential_pt_spend = round((essential_spend * 100) / spend_sum, 2)
            transport_pt_spend = round((transport_spend * 100) / spend_sum, 2)
            online_pt_spend = round((online_spend * 100) / spend_sum, 2)
            food_pt_spend = round((food_spend * 100) / spend_sum, 2)
            
        if income_sum == 0:
            normal_pt_income = 0
            salary_pt_income = 0
        else:
            normal_pt_income = (normal_income * 100) / income_sum
            salary_pt_income = (salary_income * 100) / income_sum

        print("Sum income ==> {} Bath.".format(income_sum))
        print("Sum spend ==> {} Bath.".format(spend_sum))
        print("Food spend ==> {} Bath. | {} %".format(food_spend, food_pt_spend))
        print("Transport spend ==> {} Bath. | {} %".format(transport_spend, transport_pt_spend))
        print("Normal spend ==> {} Bath. | {} %".format(normal_spend, normal_pt_spend))
        print("Online spend ==> {} Bath. | {} %".format(online_spend, online_pt_spend))
        print("Essentail spend ==> {} Bath. | {} %".format(essential_spend, essential_pt_spend))
        print("Normal spend ==> {} Bath. | {} %".format(normal_income, normal_pt_income))
        print("Salary spend ==> {} Bath. | {} %".format(salary_income, salary_pt_income))

        data_analyze = {'income_sum': income_sum,
                        'spend_sum': spend_sum,
                        'food_spend': food_spend,
                        'transport_spend': transport_spend,
                        'normal_spend': normal_spend,
                        'online_spend': online_spend,
                        'essential_spend': essential_spend,
                        'normal_income': normal_income,
                        'salary_income': salary_income,
                        'food_spend_pt': food_pt_spend,
                        'transport_spend_pt': transport_pt_spend,
                        'normal_spend_pt': normal_pt_spend,
                        'online_spend_pt': online_pt_spend,
                        'essential_spend_pt': essential_pt_spend,
                        'normal_income_pt': normal_pt_income,
                        'salary_income_pt': salary_pt_income
                        }
        print("load data for analyze ==> success")

    else:
        print("This user not have transaction.")
        normal_pt_spend = 0
        essential_pt_spend = 0
        transport_pt_spend = 0
        online_pt_spend = 0
        food_pt_spend = 0
        normal_pt_income = 0
        salary_pt_income = 0
        data_analyze = {'income_sum': income_sum,
                        'spend_sum': spend_sum,
                        'food_spend': food_spend,
                        'transport_spend': transport_spend,
                        'normal_spend': normal_spend,
                        'online_spend': online_spend,
                        'essential_spend': essential_spend,
                        'normal_income': normal_income,
                        'salary_income': salary_income,
                        'food_spend_pt': food_pt_spend,
                        'transport_spend_pt': transport_pt_spend,
                        'normal_spend_pt': normal_pt_spend,
                        'online_spend_pt': online_pt_spend,
                        'essential_spend_pt': essential_pt_spend,
                        'normal_income_pt': normal_pt_income,
                        'salary_income_pt': salary_pt_income
                        }
        print("load data for analyze ==> success")

    print("-"*30)
    return (data_analyze)