if extension in assign_log.keys(): array_cmnd = assign_log[extension] else: array_cmnd = [] quotient = int(random)/10000 mod = int(random)%10000 dem = 0 if quotient != 0: for x in range(int(quotient)): users = mongodb.get(MONGO_COLLECTION='TS_Telesalelist', WHERE={'id_import': importLogId,'assign': '','id_no': {'$nin' :array_cmnd}},SELECT=['_id', 'id_no'], SORT=([('id', 1)]),SKIP=0, TAKE=int(10000)) for idx,user in enumerate(users): mongodb.update(MONGO_COLLECTION='TS_Telesalelist', WHERE={'_id': ObjectId(user['_id'])}, VALUE={'updatedAt': int(time.time()),'assign': extension,'assign_name': assign_name,'createdBy': 'BySystemRandom'}) array_cmnd.append(user['id_no']) if int(mod) > 0: users = mongodb.get(MONGO_COLLECTION='TS_Telesalelist', WHERE={'id_import': importLogId,'assign': '','id_no': {'$nin' :array_cmnd}},SELECT=['_id', 'id_no'], SORT=([('id', 1)]),SKIP=0, TAKE=int(mod)) for idx,user in enumerate(users): mongodb.update(MONGO_COLLECTION='TS_Telesalelist', WHERE={'_id': ObjectId(user['_id'])}, VALUE={'updatedAt': int(time.time()),'assign': extension,'assign_name': assign_name,'createdBy': 'BySystemRandom'}) array_cmnd.append(user['id_no']) mongodb.update(MONGO_COLLECTION='TS_Assign_log', WHERE={'_id': ObjectId(assign_log['_id'])}, VALUE={extension: array_cmnd}) count = mongodb.count(MONGO_COLLECTION='TS_Telesalelist', WHERE={'id_import': importLogId,'assign': extension,'createdBy': 'BySystemRandom'}) mongodb.update(MONGO_COLLECTION='TS_Import', WHERE={'_id': ObjectId(importLogId)}, VALUE={'random.'+extension: int(count), 'assign': 0}) now_end = datetime.now() log.write(now_end.strftime("%d/%m/%Y, %H:%M:%S") + ': End Log' + '\n') print(count) except Exception as e: # pprint(e) log.write(now.strftime("%d/%m/%Y, %H:%M:%S") + ': ' + str(e) + '\n')
for detail in row['detailSBV']: acc = detail['contract_no'] # print(acc) temp = { 'index': i, 'account_number': acc, 'customer_name': row['cus_name'], 'block': 'true', 'acll': '', 'sibs': row['group_id'], 'group_3_over_other_bank': '', 'createdBy': 'system', 'report_date': todayTimeStamp, 'createdAt': todayTimeStamp } count = mongodb.count(MONGO_COLLECTION=collection, WHERE={'account_number': str(acc)}) if count <= 0: checkSIBS = 0 for row_ins in insertData: if acc == row_ins['account_number']: row_ins['sibs'] = row['group_id'] checkSIBS = 1 if checkSIBS == 0: insertData.append(temp) i += 1 # k2019 aggregate_k2019 = [ { "$match": { "nhom_cao_nhat_tai_tctd_khac": {
start_day_of_month = yesterday.replace(day=1) startDayString = start_day_of_month.strftime("%d/%m/%Y") startDayTimeStamp = int(time.mktime(time.strptime(str(startDayString + " 00:00:00"), "%d/%m/%Y %H:%M:%S"))) else: lastMonth = month firstDayOfMonth = datetime(year, lastMonth, 1, 0, 0) # TẠO ROW CHO TỪNG PARTNER NẾU CHƯA TỒN TẠI partner_lists = mongodb.getDistinct(MONGO_COLLECTION=collection , SELECT="COMPANY") if partner_lists != None: for row_partner in partner_lists: pprint(row_partner) exists_amount = mongodb.count(MONGO_COLLECTION=collection_amount_report,WHERE={'partner':row_partner, 'year' : {'$eq' : str(year)} }) if exists_amount == 0 : mongodb.insert(MONGO_COLLECTION=collection_amount_report, insert_data={ 'partner': row_partner, 'outsoucing' : { 'account' : { 'before' : { 'l30' : { 'T1':0,'T2':0,'T3':0,'T4':0,'T5':0,'T6':0,'T7':0,'T8':0,'T9':0,'T10':0,'T11':0,'T12':0}, 'p30' : { 'T1':0,'T2':0,'T3':0,'T4':0,'T5':0,'T6':0,'T7':0,'T8':0,'T9':0,'T10':0,'T11':0,'T12':0}, 'p60' : { 'T1':0,'T2':0,'T3':0,'T4':0,'T5':0,'T6':0,'T7':0,'T8':0,'T9':0,'T10':0,'T11':0,'T12':0}, 'p90' : { 'T1':0,'T2':0,'T3':0,'T4':0,'T5':0,'T6':0,'T7':0,'T8':0,'T9':0,'T10':0,'T11':0,'T12':0}, 'p180' : { 'T1':0,'T2':0,'T3':0,'T4':0,'T5':0,'T6':0,'T7':0,'T8':0,'T9':0,'T10':0,'T11':0,'T12':0}, 'subtotal':{ 'T1':0,'T2':0,'T3':0,'T4':0,'T5':0,'T6':0,'T7':0,'T8':0,'T9':0,'T10':0,'T11':0,'T12':0}, }, 'writeof':{ 'p360':{ 'T1':0,'T2':0,'T3':0,'T4':0,'T5':0,'T6':0,'T7':0,'T8':0,'T9':0,'T10':0,'T11':0,'T12':0}, }
1000000) # temp_final['final_no'] = row['count_data'] temp['target_of_col_os_bl'] = round(temp['start_os_bl'] * targetGroup['target'] / 100) temp['target_of_col_no'] = round(temp['start_no'] * targetGroup['target'] / 100) temp['daily_os_bl'] = temp['start_os_bl'] temp['daily_no'] = temp['start_no'] checkYesterDay = mongodb.count(MONGO_COLLECTION=collection, WHERE={ 'createdAt': dueDayOfMonth['due_date'], 'debt_group': duedate_type, 'type': targetGroup['debt_type'] }) if len(temp_final) > 0: mongodb.update(MONGO_COLLECTION=collection, WHERE={ 'createdAt': dueDayOfMonth['due_date'], 'debt_group': duedate_type, 'type': targetGroup['debt_type'] }, VALUE=temp_final) # if todayTimeStamp > dueDayOfMonth['due_date_add_1']: # temp['due_date'] = dueDayOfMonth['due_date']
wff_env = common.wff_env(base_url) mongodb = Mongodb(MONGODB="worldfone4xs", WFF_ENV=wff_env) _mongodb = Mongodb(MONGODB="_worldfone4xs", WFF_ENV=wff_env) now = datetime.now() subUserType = 'LO' collection = common.getSubUser(subUserType, 'Master_data_report') log = open(base_url + "cronjob/python/Loan/log/exportMasterData_log.txt", "a") fileOutput = base_url + 'upload/loan/export/MasterData.xlsx' try: data = [] insertData = [] resultData = [] errorData = [] count = mongodb.count(MONGO_COLLECTION=collection) quotient = int(count) / 10000 mod = int(count) % 10000 dem = 0 if quotient != 0: for x in range(int(quotient)): result = mongodb.get(MONGO_COLLECTION=collection, SORT=([('_id', -1)]), SKIP=int(x * 10000), TAKE=int(10000)) for idx, row in enumerate(result): # if row['due_date'] != '': # due_date = datetime.fromtimestamp(row['due_date']) # row['due_date'] = due_date.strftime("%d-%m-%Y") data.append(row)
amt_today = 0 ob_principal_today = 0 incidenceInfo = mongodb.get(MONGO_COLLECTION=common.getSubUser(subUserType, 'Due_date_next_date'), WHERE={'for_month': str(month), 'debt_group': 'F','product':'WO'}) acc_arr = [] if incidenceInfo is not None: for inc in incidenceInfo: temp['inci'] += inc['debt_acc_no'] temp['inci_amt'] += inc['current_balance_total'] temp['inci_ob_principal'] += inc['ob_principal_total'] temp['due_date'] = inc['due_date'] acc_arr_1 = inc['acc_arr'] if 'acc_arr' in inc.keys() else [] acc_arr += acc_arr_1 count_wo = mongodb.count(MONGO_COLLECTION=common.getSubUser(subUserType, 'WO_monthly')) arr_acc_payment = [] aggregate_payment = [ { "$match": { "created_at": {'$gte': temp['due_date']}, # "account_number": {'$in': acc_arr} } },{ '$project': { 'account_number' : 1, 'pay_payment': {'$sum' : [ '$pay_9711', '$pay_9712' ,'$late_charge_9713'] } } },{
lnjc05_collection = common.getSubUser(subUserType, 'LNJC05') group_collection = common.getSubUser(subUserType, 'Group_card') account_collection = common.getSubUser(subUserType, 'List_of_account_in_collection') log = open(base_url + "cronjob/python/Loan/log/SMSDaily_log.txt", "a") try: data = [] insertData = [] PaymentData = [] now = datetime.now() # log.write(now.strftime("%d/%m/%Y, %H:%M:%S") + ': Start Import' + '\n') # SIBS count = mongodb.count(MONGO_COLLECTION=lnjc05_collection) quotient = int(count) / 10000 mod = int(count) % 10000 if quotient != 0: for x in range(int(quotient)): result = mongodb.get(MONGO_COLLECTION=lnjc05_collection, SELECT=[ 'overdue_amount_this_month', 'advance_balance', 'installment_type', 'group_id', 'account_number', 'mobile_num', 'cus_name' ], SORT=([('_id', -1)]), SKIP=int(x * 10000), TAKE=int(10000)) for idx, row in enumerate(result):
group_collection = common.getSubUser(subUserType, 'Group_card') account_collection = common.getSubUser(subUserType, 'List_of_account_in_collection') payment_of_card_collection = common.getSubUser(subUserType, 'Report_input_payment_of_card') # log = open(base_url + "cronjob/python/Loan/log/DailyPayment_log.txt","a") try: data = [] insertData = [] PaymentData = [] now = datetime.now() # log.write(now.strftime("%d/%m/%Y, %H:%M:%S") + ': Start Import' + '\n') # LN3206F count = mongodb.count(MONGO_COLLECTION=ln3206_collection) quotient = int(count) / 10000 mod = int(count) % 10000 if quotient != 0: for x in range(int(quotient)): result = mongodb.get(MONGO_COLLECTION=ln3206_collection, SELECT=['account_number', 'amt', 'date'], SORT=([('_id', -1)]), SKIP=int(x * 10000), TAKE=int(10000)) for idx, row in enumerate(result): data.append(row) if int(mod) > 0: result = mongodb.get(MONGO_COLLECTION=ln3206_collection, SELECT=['account_number', 'amt', 'date'],
temp['payment_person'] = detail['payment_person'] if 'channel' in detail.keys(): temp['channel'] = detail['channel'] if 'promised_person_phone' in detail.keys(): temp['promised_person_phone'] = detail['promised_person_phone'] if 'fc_name' in detail.keys(): temp['fc_name'] = detail['fc_name'] if 'report_date' in detail.keys(): temp['report_date'] = detail['report_date'] for field_raa in list(raa_fields['data']): if field_raa['field'] in detail.keys(): temp[field_raa['field']] = detail[field_raa['field']] # print(x['field']) temp['contacted'] = mongodb.count( MONGO_COLLECTION=cdr_collection, WHERE={'customernumber': str(row['mobile_num'])}) zaccf = mongodb.getOne( MONGO_COLLECTION=zaccf_collection, WHERE={'account_number': str(row['account_number'])}, SELECT=['PRODGRP_ID']) if zaccf != None: temp['product_id'] = zaccf['PRODGRP_ID'] temp['createdAt'] = time.time() temp['createdBy'] = 'system' insertData.append(temp) i = i + 1 # break
log = open(base_url + "cronjob/python/Loan/log/MasterData_log.txt", "a") try: data = [] cardData = [] insertData = [] resultData = [] errorData = [] users = _mongodb.get(MONGO_COLLECTION=user_collection, SELECT=['extension', 'agentname'], SORT=([('_id', -1)]), SKIP=0, TAKE=200) # SIBS count = mongodb.count(MONGO_COLLECTION=lnjc05_collection) quotient = int(count) / 10000 mod = int(count) % 10000 if quotient != 0: for x in range(int(quotient)): result = mongodb.get(MONGO_COLLECTION=lnjc05_collection, SELECT=[ 'account_number', 'cus_name', 'current_balance', 'due_date', 'address', 'officer_name' ], SORT=([('_id', -1)]), SKIP=int(x * 10000), TAKE=int(10000)) for idx, row in enumerate(result): data.append(row)
lastDayOfMonth = calendar.monthrange(year, month)[1] todayString = today.strftime("%d/%m/%Y") todayTimeStamp = int(time.mktime(time.strptime(str(todayString + " 00:00:00"), "%d/%m/%Y %H:%M:%S"))) startMonth = int(time.mktime(time.strptime(str('01/' + str(month) + '/' + str(year) + " 00:00:00"), "%d/%m/%Y %H:%M:%S"))) endMonth = int(time.mktime(time.strptime(str(str(lastDayOfMonth) + '/' + str(month) + '/' + str(year) + " 23:59:59"), "%d/%m/%Y %H:%M:%S"))) holidayOfMonth = mongodb.getOne(MONGO_COLLECTION=common.getSubUser(subUserType, 'Report_off_sys'), WHERE={'off_date': todayTimeStamp}) if holidayOfMonth != None: sys.exit() dayStamp = common.convertTimestamp(value=today.strftime("%d/%m/%Y")) result_due_date = mongodb.getOne(MONGO_COLLECTION=due_date_collection,WHERE={'due_date_add_1':todayTimeStamp}) count = mongodb.count(MONGO_COLLECTION=account_collection) limit = 10000 quotient = int(count)/limit mod = int(count)%limit checkGroup = mongodb.count(MONGO_COLLECTION=collection) if checkGroup <= 0: for x in range(int(quotient)): result = mongodb.get(MONGO_COLLECTION=account_collection, SELECT=['account_number','overdue_date','due_date'],SORT=([('_id', -1)]),SKIP=int(x*limit), TAKE=int(limit)) for idx,row in enumerate(result): temp = {} tempSbv = {} group = '' debt_group = '' # if row['overdue_date'] != 0: # date_time = datetime.fromtimestamp(row['overdue_date'])