log = open(base_url + "cronjob/python/Loan/log/importZACCF.txt", "a") logRun = open(base_url + "cronjob/python/Loan/log/runImportZACCF.txt", "a") now = datetime.now() subUserType = 'LO' collection = common.getSubUser(subUserType, 'ZACCF') try: modelColumns = [] modelConverters = {} modelPosition = {} modelFormat = {} updateKey = [] checkNullKey = [] ftpInfo = mongodb.getOne(MONGO_COLLECTION=common.getSubUser( subUserType, 'ftp_config'), WHERE={'collection': collection}) ftpConfig = config.ftp_config() ftpLocalUrl = common.getDownloadFolder() + ftpInfo['filename'] try: sys.argv[1] importLogId = str(sys.argv[1]) importLogInfo = mongodb.getOne(MONGO_COLLECTION=common.getSubUser( subUserType, 'Import'), WHERE={'_id': ObjectId(sys.argv[1])}) except Exception as SysArgvError: # ftp.connect(host=ftpConfig['host'], username=ftpConfig['username'], password=ftpConfig['password']) # ftp.downLoadFile(ftpLocalUrl, ftpInfo['filename']) # ftp.close()
MONGO_COLLECTION=common.getSubUser(subUserType, 'Report_off_sys')) listHoliday = map(lambda offDateRow: {offDateRow['off_date']}, holidayOfMonth) if todayTimeStamp in listHoliday: sys.exit() mongodb.remove_document(MONGO_COLLECTION=collection, WHERE={ 'createdAt': { '$gte': todayTimeStamp, '$lte': endTodayTimeStamp } }) debtGroup = _mongodb.getOne(MONGO_COLLECTION=jsonData_collection, WHERE={'tags': ['debt', 'group']}) dueDate = _mongodb.getOne(MONGO_COLLECTION=jsonData_collection, WHERE={'tags': ['debt', 'duedate']}) for group in debtGroup['data']: for duedate in dueDate['data']: listDebtGroup.append(group['text'] + duedate['text']) listDebtGroup = sorted(listDebtGroup) listGroupProductRaw = _mongodb.getOne( MONGO_COLLECTION=jsonData_collection, WHERE={'tags': ['group', 'debt', 'product']}) listGroupProduct = listGroupProductRaw['data'] for debtGroupCell in list(listDebtGroup):
"%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() mongodb.remove_document(MONGO_COLLECTION=collection, WHERE={ 'createdAt': { '$gte': todayTimeStamp, '$lte': endTodayTimeStamp } }) aggregate_blockcard = [{ "$group": { "_id": 'null',
total = 0 complete = 0 if day == 1: mongodb.create_db(DB_NAME=logDbName) mongodbresult = Mongodb(logDbName, wff_env) else: mongodbresult = Mongodb(logDbName, wff_env) ftpLocalUrl = common.getDownloadFolder() + fileName try: sys.argv[1] importLogId = str(sys.argv[1]) importLogInfo = mongodb.getOne(MONGO_COLLECTION=common.getSubUser( subUserType, 'Import'), WHERE={'_id': ObjectId(sys.argv[1])}) except Exception as SysArgvError: # ftp.connect(host=ftpConfig['host'], username=ftpConfig['username'], password=ftpConfig['password']) # ftp.downLoadFile(ftpLocalUrl, ftpInfo['filename']) # ftp.close() if not os.path.isfile(ftpLocalUrl): sys.exit() importLogInfo = { 'collection': collection, 'begin_import': time.time(), 'file_name': fileName, 'file_path': ftpLocalUrl, 'source': 'ftp',
ftp = Ftp() common = Common() base_url = config.base_url() log = open(base_url + "cronjob/python/Loan/log/importListOfAccountInCollection.txt","a") now = datetime.now() subUserType = 'LO' collection = common.getSubUser(subUserType, 'List_of_account_in_collection') try: modelColumns = [] modelConverters = {} modelFormat = {} insertData = [] updateData = [] ftpInfo = mongodb.getOne(MONGO_COLLECTION=common.getSubUser(subUserType, 'ftp_config'), WHERE={'collection': collection}) ftpConfig = config.ftp_config() ftpLocalUrl = base_url + ftpInfo['locallink'] + ftpInfo['filename'] try: sys.argv[1] importLogId = str(sys.argv[1]) importLogInfo = mongodb.getOne(MONGO_COLLECTION=common.getSubUser(subUserType, 'Import'), WHERE={'_id': ObjectId(sys.argv[1])}) except Exception as SysArgvError: ftp.connect(host=ftpConfig['host'], username=ftpConfig['username'], password=ftpConfig['password']) ftp.downLoadFile(ftpLocalUrl, ftpInfo['filename']) ftp.close() importLogInfo = { 'collection' : collection, 'begin_import' : time.time(),
"%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"))) checkDueDateAdd1 = mongodb.getOne( MONGO_COLLECTION=report_due_date_collection, WHERE={'due_date_add_1': todayTimeStamp}) if checkDueDateAdd1 == None: sys.exit() mongodb.remove_document(MONGO_COLLECTION=collection, WHERE={ 'created_at': { '$gte': todayTimeStamp, '$lte': endTodayTimeStamp } }) debtGroup = _mongodb.getOne(MONGO_COLLECTION=jsonData_collection, WHERE={'tags': ['debt', 'group']}) dueDate = _mongodb.getOne(MONGO_COLLECTION=jsonData_collection,
base_url = config.base_url() log = open(base_url + "cronjob/python/Loan/log/importLNJC05F.txt","a") now = datetime.now() subUserType = 'LO' collection = common.getSubUser(subUserType, 'LNJC05') try: modelColumns = [] modelConverters = {} modelPosition = {} modelFormat = {} updateKey = [] checkNullKey = [] ftpConfig = config.ftp_config() ftpInfo = mongodb.getOne(MONGO_COLLECTION=common.getSubUser(subUserType, 'ftp_config'), WHERE={'collection': collection}) ftpLocalUrl = base_url + ftpInfo['locallink'] + ftpInfo['filename'] # ftp.connect(host=ftpConfig['host'], username=ftpConfig['username'], password=ftpConfig['password']) # ftp.downLoadFile(ftpLocalUrl, ftpInfo['filename']) # ftp.close() importLogInfo = { 'collection' : collection, 'begin_import' : time.time(), 'file_name' : ftpInfo['filename'], 'file_path' : ftpLocalUrl, 'source' : 'ftp', 'status' : 2, 'command' : 'python3.6 ' + base_url + "cronjob/python/Loan/importLN3206F.py > /dev/null &", 'created_by' : 'system'
MONGO_COLLECTION=common.getSubUser(subUserType, 'Report_off_sys')) listHoliday = map(lambda offDateRow: {offDateRow['off_date']}, holidayOfMonth) if todayTimeStamp in listHoliday: sys.exit() mongodb.remove_document(MONGO_COLLECTION=collection, WHERE={ 'createdAt': { '$gte': todayTimeStamp, '$lte': endTodayTimeStamp } }) price = mongodb.getOne(MONGO_COLLECTION=config_collection, SELECT=['conditionDonotCall']) # SIBS aggregate_acc = [{ "$lookup": { "from": common.getSubUser(subUserType, 'ZACCF_report'), "localField": "account_number", "foreignField": "account_number", "as": "detail" } }, { "$match": { "detail.PRODGRP_ID": { '$in': ['103', '402', '502', '602', '702', '802', '902'] }, }
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'], SORT=([('_id', -1)]), SKIP=int(int(quotient) * 10000), TAKE=int(mod)) for idx, row in enumerate(result): data.append(row) for row in data: if 'account_number' in row.keys(): zaccf = mongodb.getOne( MONGO_COLLECTION=zaccf_collection, WHERE={'account_number': str(row['account_number'])}, SELECT=['name', 'rpy_prn', 'RPY_INT', 'RPY_FEE', 'PRODGRP_ID']) if zaccf != None: row['name'] = zaccf['name'] row['paid_principal'] = zaccf['rpy_prn'] row['paid_interest'] = zaccf['RPY_INT'] row['RPY_FEE'] = zaccf['RPY_FEE'] product = mongodb.getOne( MONGO_COLLECTION=product_collection, WHERE={'code': str(zaccf['PRODGRP_ID'])}, SELECT=['name']) if product != None: row['product_name'] = product['name'] else: row['product_name'] = '' # else:
cdr_collection = common.getSubUser(subUserType, 'worldfonepbxmanager') jsonData_collection = common.getSubUser(subUserType, 'Jsondata') user_collection = common.getSubUser(subUserType, 'User') wo_collection = common.getSubUser(subUserType, 'WO_monthly') action_code_collection = common.getSubUser(subUserType, 'Action_code') # log = open(base_url + "cronjob/python/Loan/log/DailyAssignment_log.txt","a") try: data = [] insertData = [] PaymentData = [] now = datetime.now() # log.write(now.strftime("%d/%m/%Y, %H:%M:%S") + ': Start Import' + '\n') lawsuit_fields = _mongodb.getOne(MONGO_COLLECTION=jsonData_collection, SELECT=['data'], WHERE={'name': 'lawsuit fields'}) raa_fields = _mongodb.getOne(MONGO_COLLECTION=jsonData_collection, SELECT=['data'], WHERE={'name': 'Raa fields'}) users = _mongodb.get(MONGO_COLLECTION=user_collection, SELECT=['extension', 'agentname'], WHERE={'active': 'true'}) i = 1 # LNJC05 aggregate_pipeline = [{ "$lookup": { "from": action_code_collection, "localField": "account_number", "foreignField": "account_number", "as": "detail"
{ "$project": { # col field "group_id": 1, "account_number": 1, "cus_name": 1, "overdue_amount_this_month": 1, 'installment_type': 1, 'advance_balance': 1, 'outstanding_principal': 1, } } ] price = mongodb.getOne(MONGO_COLLECTION=config_collection, SELECT=['conditionDonotCall']) data = mongodb.aggregate_pipeline(MONGO_COLLECTION=lnjc05_collection,aggregate_pipeline=aggregate_pipeline) count = 0 for row in data: if 'account_number' in row.keys(): condition = row['overdue_amount_this_month'] - row['advance_balance'] if condition <= price['conditionDonotCall']: zaccf = mongodb.getOne(MONGO_COLLECTION=zaccf_collection, WHERE={'account_number': str(row['account_number'])}, SELECT=['PRODGRP_ID']) if zaccf != None: if zaccf['PRODGRP_ID'] != "103" and zaccf['PRODGRP_ID'] != "402" and zaccf['PRODGRP_ID'] != "502" and zaccf['PRODGRP_ID'] != "602" and zaccf['PRODGRP_ID'] != "702" and zaccf['PRODGRP_ID'] != "802" and zaccf['PRODGRP_ID'] != "902": count +=1 temp = {} if row['installment_type'] =='n' and row['outstanding_principal'] == 0: temp['No'] = count
excel = Excel() config = Config() ftp = Ftp() common = Common() base_url = config.base_url() log = open(base_url + "cronjob/python/Telesales/importSCschedule.txt","a") now = datetime.now() subUserType = 'TS' collection = common.getSubUser(subUserType, 'Sibs') importLogId = sys.argv[1] sibsColumns = [] sibsConverters = {} try: importLogInfo = mongodb.getOne(MONGO_COLLECTION=common.getSubUser(subUserType, 'Import'), WHERE={'_id': ObjectId(importLogId)}) modelsSibs = _mongodb.get(MONGO_COLLECTION='Model', WHERE={'collection': collection}, SORT=[('index', 1)], SELECT=['index', 'collection', 'field', 'type']) for model in modelsSibs: sibsColumns.append(model['field']) if(model['type'] == 'string'): sibsConverters[model['field']] = str zaccfs = excel.getDataCSV(file_path=importLogInfo['file_path'], header=None, names=sibsColumns, usecols=[5, 6, 7, 116, 122], converters=sibsConverters) zaccfList = zaccfs.to_dict('records') insertData = [] updateData = [] errorData = [] temp = {}
'current_balance', 'due_date', 'address', 'officer_name' ], SORT=([('_id', -1)]), SKIP=int(int(quotient) * 10000), TAKE=int(mod)) for idx, row in enumerate(result): data.append(row) for row in data: if 'account_number' in row.keys(): zaccf = mongodb.getOne( MONGO_COLLECTION=zaccf_collection, WHERE={'account_number': str(row['account_number'])}, SELECT=[ 'BIR_DT8', 'CUS_ID', 'FRELD8', 'PRODGRP_ID', 'LIC_NO', 'APPROV_LMT', 'TERM_ID', 'RPY_PRD', 'F_PDT', 'DT_MAT', 'MOBILE_NO', 'WRK_REF', 'WRK_REF1', 'WRK_REF2', 'WRK_REF3', 'WRK_REF4', 'WRK_REF5', 'W_ORG', 'INT_RATE', 'OVER_DY' ]) if zaccf != None: row['BIR_DT8'] = str(zaccf['BIR_DT8']) row['CUS_ID'] = zaccf['CUS_ID'] row['FRELD8'] = zaccf['FRELD8'] row['LIC_NO'] = zaccf['LIC_NO'] row['APPROV_LMT'] = zaccf['APPROV_LMT'] row['TERM_ID'] = zaccf['TERM_ID'] row['RPY_PRD'] = zaccf['RPY_PRD'] row['F_PDT'] = str(zaccf['F_PDT']) row['DT_MAT'] = str(zaccf['DT_MAT']) row['MOBILE_NO'] = zaccf['MOBILE_NO']
_mongodb = Mongodb("_worldfone4xs", WFF_ENV=wff_env) excel = Excel() config = Config() base_url = config.base_url() subUserType = 'TS' collection = common.getSubUser(subUserType, 'Telesalelist') # log = open(base_url + "cronjob/python/Telesales/importTelesales.txt","a") now = datetime.now() # log.write(now.strftime("%d/%m/%Y, %H:%M:%S") + ': Start Import' + '\n') try: try: sys.argv[1] importLogId = str(sys.argv[1]) importLogInfo = mongodb.getOne(MONGO_COLLECTION=common.getSubUser( subUserType, 'Import'), WHERE={'_id': ObjectId(importLogId)}) except Exception as SysArgvError: ftpInfo = mongodb.getOne(MONGO_COLLECTION=common.getSubUser( subUserType, 'ftp_config'), WHERE={'collection': collection}) ftpConfig = config.ftp_config() ftpLocalUrl = common.getDownloadFolder() + ftpInfo['filename'] if path.exists(ftpLocalUrl) == False: sys.exit() importLogInfo = { 'collection': 'Telesalelist', 'begin_import': time.time(), 'file_name': ftpInfo['filename'],
WHERE={ 'contract_no': { '$in': accs }, 'overdue_indicator': 'A', 'kydue': report_day['debt_group'] })) len(list_acc_info) temp_card['no_delays'] = len(list_acc_info) # Update thong tin cho thang truoc lastMonthDueDate = mongodb.getOne( MONGO_COLLECTION=common.getSubUser(subUserType, 'Tendency_delinquent'), WHERE={ 'for_month': str(lastMonthMonth), 'for_year': str(lastMonthYear), 'debt_group': 'A' + report_day['debt_group'], 'prod_name': 'Bike/PL' }) if lastMonthDueDate != None: list_acc_due_date_sibs_temp = list( mongodb.get( MONGO_COLLECTION=common.getSubUser( subUserType, lnjc05_yesterday), WHERE={'group_id': 'A' + report_day['debt_group']}, SELECT=['account_number', 'group_id'])) list_acc_due_date_sibs = list( common.array_column(list_dict=list_acc_due_date_sibs_temp, value='account_number'))
# LN2306f aggregate_pipeline = [{ "$match": { "created_at": { '$gte': todayTimeStamp, '$lte': endTodayTimeStamp }, } }] data = mongodb.aggregate_pipeline(MONGO_COLLECTION=ln3206_collection, aggregate_pipeline=aggregate_pipeline) if data != None: for row in data: lnjc05Data = mongodb.getOne( MONGO_COLLECTION=lnjc05_collection, WHERE={'account_number': str(row['account_number'])}) if lnjc05Data != None: accountYes.append(row['account_number']) else: accountNo.append(row['account_number']) print(len(accountYes)) temp['coNoHayKhong'] = 'Y' mongodb.batch_update(MONGO_COLLECTION=ln3206_collection, WHERE={ 'account_number': { '$in': accountYes }, "created_at": { '$gte': todayTimeStamp,
holidayOfMonth = mongodb.get(MONGO_COLLECTION=common.getSubUser(subUserType, 'Report_off_sys')) listHoliday = map(lambda offDateRow: {offDateRow['off_date']}, holidayOfMonth) # if todayTimeStamp in listHoliday or (weekday == 5) or weekday == 6: # sys.exit() todayString = today.strftime("%d/%m/%Y") starttime = int(time.mktime(time.strptime(str(todayString + " 00:00:00"), "%d/%m/%Y %H:%M:%S"))) endtime = int(time.mktime(time.strptime(str(todayString + " 23:59:59"), "%d/%m/%Y %H:%M:%S"))) mainProduct = {} mainProductRaw = mongodb.get(MONGO_COLLECTION=common.getSubUser(subUserType, 'Product')) for prod in mainProductRaw: mainProduct[prod['code']] = prod['name'] debtGroup = _mongodb.getOne(MONGO_COLLECTION=common.getSubUser(subUserType, 'Jsondata'), WHERE={'tags': ['debt', 'group']}) dueDate = _mongodb.getOne(MONGO_COLLECTION=common.getSubUser(subUserType, 'Jsondata'), WHERE={'tags': ['debt', 'duedate']}) for group in debtGroup['data']: for duedate in dueDate['data']: listDebtGroup.append(group['text'] + duedate['text']) listDebtGroup = sorted(listDebtGroup) listGroupProductRaw = _mongodb.getOne(MONGO_COLLECTION=common.getSubUser(subUserType, 'Jsondata'), WHERE={'tags': ['group', 'debt', 'product']}) listGroupProduct = listGroupProductRaw['data'] for debtGroupCell in list(listDebtGroup): if debtGroupCell[0:1] is not 'F': dueDayOfMonth = mongodb.getOne(MONGO_COLLECTION=common.getSubUser(subUserType, 'Report_due_date'), WHERE={'for_month': str(month), 'debt_group': debtGroupCell[1:3]}) for groupProduct in list(listGroupProduct):
accountInfo = mongodb.get(MONGO_COLLECTION=account_collection,WHERE={'account_number': {'$in' : account_number_arr}}) if accountInfo != None: i = 1 for acc_row in accountInfo: temp = { 'index' : i, 'account_number' : acc_row['account_number'], 'name' : acc_row['cus_name'], 'block' : 'true', 'accl' : '', 'sibs' : '', 'group' : '', 'createdBy' : 'system', 'createdAt' : time.time() } groupInfo = mongodb.getOne(MONGO_COLLECTION=group_collection,WHERE={'account_number': acc_row['account_number']}) if groupInfo != None: group = groupInfo['group'] temp['accl'] = group insertData.append(temp) i += 1 # lnjc05 aggregate_lnjc05 = [ { "$match": { "group_id": {'$in' : ['B01','B02','B03']}, }
for key in month_in_year: worksheet.merge_range('A' + str(row) + ':A' + str(row + 8), month_in_year[key], add_format_cell({'border': 1})) count_due_date = 0 for due_date in due_date_in_month: worksheet.merge_range( 'B' + str(row + count_due_date * 3) + ':B' + str(row + count_due_date * 3 + 2), due_date, add_format_cell({'border': 1})) for product in products: data = mongodb.getOne(MONGO_COLLECTION=collection, WHERE={ 'for_month': key, 'for_year': str(year), 'debt_group': due_date, 'request_no': { '$ne': None }, 'prod_name': product }) worksheet.write('D' + str(row), product, add_format_cell({'border': 1})) worksheet.write( 'E' + str(row), data['request_no'] if data != None and 'request_no' in data.keys() else 0, add_format_cell({'align': 'right'})) worksheet.write( 'F' + str(row), data['no_delays'] if data != None and 'no_delays' in data.keys() else 0, add_format_cell({ 'align': 'right',
" 23:59:59"), "%d/%m/%Y %H:%M:%S"))) mongodb.remove_document(MONGO_COLLECTION=collection, WHERE={ 'createdAt': { '$gte': todayTimeStamp, '$lte': endTodayTimeStamp } }) i = 1 last_five_day = todayTimeStamp - (86400 * 5) dueDayOfMonth = mongodb.getOne(MONGO_COLLECTION=report_due_date_collection, WHERE={ 'for_month': str(month), 'due_date': last_five_day }) if dueDayOfMonth != None: due_date = datetime.fromtimestamp(dueDayOfMonth['due_date']) d2 = due_date.strftime('%d/%m/%Y') due_date = datetime.strptime(d2, "%d/%m/%Y").date() day = due_date.day if day >= 12 and day <= 15: dept_group = '01' if day >= 22 and day <= 25: dept_group = '02' if (day >= 28 and day <= 31) or (day >= 1 and day <= 5): dept_group = '03'
time.mktime( time.strptime(str(todayString + " 00:00:00"), "%d/%m/%Y %H:%M:%S"))) endtime = int( time.mktime( time.strptime(str(todayString + " 23:59:59"), "%d/%m/%Y %H:%M:%S"))) mainProduct = {} mainProductRaw = mongodb.get( MONGO_COLLECTION=common.getSubUser(subUserType, 'Product')) for prod in mainProductRaw: mainProduct[prod['code']] = prod['name'] debtGroup = _mongodb.getOne(MONGO_COLLECTION=common.getSubUser( subUserType, 'Jsondata'), WHERE={'tags': ['debt', 'group']}) dueDate = _mongodb.getOne(MONGO_COLLECTION=common.getSubUser( subUserType, 'Jsondata'), WHERE={'tags': ['debt', 'duedate']}) for group in debtGroup['data']: for duedate in dueDate['data']: listDebtGroup.append(group['text'] + duedate['text']) listDebtGroup = sorted(listDebtGroup) listGroupProductRaw = _mongodb.getOne( MONGO_COLLECTION=common.getSubUser(subUserType, 'Jsondata'), WHERE={'tags': ['group', 'debt', 'product']}) listGroupProduct = listGroupProductRaw['data']
'collection': common.getSubUser(subUserType, 'Telesalelist'), 'sub_type': { '$ne': None } }, SORT=[('index', 1)])) model_field = list(common.array_column(model, 'field')) model_field.insert(0, 'starttime_call') model_title = list(common.array_column(model, 'title')) model_title.insert(0, 'Nearest Call') try: sys.argv[1] exportLogId = str(sys.argv[1]) exportLogInfo = mongodb.getOne(MONGO_COLLECTION=common.getSubUser( subUserType, 'Export'), WHERE={'_id': ObjectId(exportLogId)}) if exportLogInfo['filter'] not in [None, [], "[]"]: filter_value = json.loads(exportLogInfo['filter']) report_data = list( mongodb.get(MONGO_COLLECTION=collection, WHERE=filter_value[0]['$match'])) else: report_data = list(mongodb.get(MONGO_COLLECTION=collection)) except Exception as SysArgvError: report_data = list(mongodb.get(MONGO_COLLECTION=collection)) workbook = xlsxwriter.Workbook(fileOutput) worksheet = workbook.add_worksheet() for header_key, header_value in enumerate(model_title):
for targetGroup in targetInfo: if targetGroup['show_B_plus_duedate_type'] == False: duedate_type = targetGroup['duedate_type'] else: duedate_type = targetGroup['B_plus_duedate_type'] if duedate_type[1:3] == '03': if month == 1: lastmonth = 12 else: lastmonth = month - 1 else: lastmonth = month dueDayOfMonth = mongodb.getOne( MONGO_COLLECTION=report_due_date_collection, WHERE={ 'for_month': str(lastmonth), 'debt_group': duedate_type[1:3] }) temp = { 'day': day, 'for_month': month, 'year': year, 'type': targetGroup['debt_type'], 'debt_group': duedate_type, 'target': targetGroup['target'], 'start_os_bl': 0, 'start_no': 0, 'target_of_col_os_bl': 0, 'target_of_col_no': 0, 'daily_os_bl': 0, 'daily_no': 0,
result = mongodb.get(MONGO_COLLECTION=account_collection, SELECT=[ 'phone', 'cus_name', 'overdue_amt', 'current_bal', 'account_number' ], SORT=([('_id', -1)]), SKIP=int(int(quotient) * 10000), TAKE=int(mod)) for idx, row in enumerate(result): PaymentData.append(row) for key, row in enumerate(PaymentData): temp = {} if 'account_number' in row.keys(): group = mongodb.getOne( MONGO_COLLECTION=group_collection, WHERE={'account_number': str(row['account_number'])}, SELECT=['group']) temp['type'] = 'card' temp['stt'] = key temp['account_number'] = row['account_number'] if group != None: temp['group'] = group['group'] else: temp['group'] = '' temp['phone'] = row['phone'] temp['name'] = row['cus_name'] temp['os'] = row['overdue_amt'] temp['amount'] = row['current_bal'] temp['sending_date'] = now.strftime("%d/%m/%Y") temp['createdAt'] = time.time() insertData.append(temp)
try: importLogId = sys.argv[1] random = sys.argv[2] extensions = sys.argv[3] insertData = [] resultData = [] errorData = [] randoms = random.split(',') extensions = extensions.split(',') # log.write(str(extensions)) now = datetime.now() log.write(now.strftime("%d/%m/%Y, %H:%M:%S") + ': Start Log' + '\n') mongodb.update(MONGO_COLLECTION='TS_Import', WHERE={'_id': ObjectId(importLogId)}, VALUE={'assign': int(-1)}) assign_log = mongodb.getOne(MONGO_COLLECTION='TS_Assign_log') if assign_log == None: users = _mongodb.get(MONGO_COLLECTION='TS_User', WHERE=None, SELECT=['extension', 'agentname'], SORT=([('id', 1)])) users = list(users) # log.write(str(users)) arrayCMND = {} assign_log = {} for user in users: arrayCMND[user['extension']] = [] assign_log[user['extension']] = [] assign_log['_id'] = mongodb.insert('TS_Assign_log', arrayCMND) array_cmnd = [] for u,extension in enumerate(extensions): user = _mongodb.getOne(MONGO_COLLECTION='TS_User', WHERE={'extension': str(extension)}, SELECT=['extension', 'agentname']) assign_name = user['agentname']
if yesterdayTimeStamp not in listHoliday and ( yesterday.weekday() != 5) and yesterday.weekday() != 6: checkYesterday = True days += 1 dueDayOfMonth = mongodb.get(MONGO_COLLECTION=common.getSubUser( subUserType, 'Report_due_date'), WHERE={'for_month': str(month)}) listDueDate = {} listDueDateAddOne = {} for dueDate in dueDayOfMonth: listDueDate[dueDate['debt_group']] = dueDate['due_date'] listDueDateAddOne[dueDate['debt_group']] = dueDate['due_date_add_1'] debtGroup = _mongodb.getOne(MONGO_COLLECTION=common.getSubUser( subUserType, 'Jsondata'), WHERE={'tags': ["debt", "duedate"]}) debtDueDate = _mongodb.getOne(MONGO_COLLECTION=common.getSubUser( subUserType, 'Jsondata'), WHERE={'tags': ["debt", "group"]}) for group in debtGroup['data']: for dueDate in debtDueDate['data']: listDebtGroup.append(dueDate['text'] + group['text']) mongodbaggregate.set_collection( collection=common.getSubUser(subUserType, 'LNJC05')) aggregate_pipeline = [{ '$match': { 'createdAt': { '$gte': starttime, '$lte': endtime
todayString = today.strftime("%d/%m/%Y") todayTimeStamp = int(time.mktime(time.strptime(str(todayString + " 00:00:00"), "%d/%m/%Y %H:%M:%S"))) endTodayTimeStamp = int(time.mktime(time.strptime(str(todayString + " 23:59:59"), "%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.get(MONGO_COLLECTION=common.getSubUser(subUserType, 'Report_off_sys')) listHoliday = map(lambda offDateRow: {offDateRow['off_date']}, holidayOfMonth) if todayTimeStamp in listHoliday: sys.exit() lawsuit_fields = _mongodb.getOne(MONGO_COLLECTION=jsonData_collection,SELECT=['data'],WHERE={'tags': ['LAWSUIT', 'fields']}) raa_fields = _mongodb.getOne(MONGO_COLLECTION=jsonData_collection,SELECT=['data'],WHERE={'tags': ['RAA', 'fields']}) users = _mongodb.get(MONGO_COLLECTION=user_collection,SELECT=['extension','agentname'],WHERE={'active': 'true'}) i = 1 # LNJC05 aggregate_pipeline = [ { "$match": { "starttime" : {'$gte' : todayTimeStamp,'$lte' : endTodayTimeStamp}, "direction" : 'outbound', # "userextension": '4022' } }
ftpLocalUrl = common.getDownloadFolder() + fileName try: sys.argv[1] importLogId = str(sys.argv[1]) mongodb.update(MONGO_COLLECTION=common.getSubUser( subUserType, 'Import'), WHERE={'_id': ObjectId(sys.argv[1])}, VALUE={ 'command': '/usr/local/bin/python3.6 ' + base_url + "cronjob/python/Loan/importAppointment_cron.py " + importLogId + " > /dev/null &" }) importLogInfo = mongodb.getOne(MONGO_COLLECTION=common.getSubUser( subUserType, 'Import'), WHERE={'_id': ObjectId(sys.argv[1])}) except Exception as SysArgvError: if not os.path.isfile(ftpLocalUrl): sys.exit() importLogInfo = { 'collection': collection, 'begin_import': time.time(), 'file_name': fileName, 'file_path': ftpLocalUrl, 'source': 'ftp', 'status': 2, 'command': '/usr/local/bin/python3.6 ' + base_url + "cronjob/python/Telesales/importAppointment_cron.py > /dev/null &", 'created_by': 'system'
sep = ';' logDbName = "LO_Input_result_" + str(year) + str(month) if day == 1: mongodb.create_db(DB_NAME=logDbName) mongodbresult = Mongodb(logDbName, WFF_ENV=wff_env) else: mongodbresult = Mongodb(logDbName, WFF_ENV=wff_env) ftpLocalUrl = common.getDownloadFolder() + fileName try: sys.argv[1] importLogId = str(sys.argv[1]) importLogInfo = mongodb.getOne(MONGO_COLLECTION=common.getSubUser( subUserType, 'Import'), WHERE={'_id': ObjectId(sys.argv[1])}) except Exception as SysArgvError: if not os.path.isfile(ftpLocalUrl): sys.exit() importLogInfo = { 'collection': collection, 'begin_import': time.time(), 'file_name': fileName, 'file_path': ftpLocalUrl, 'source': 'ftp', 'status': 2, 'command': '/usr/local/bin/python3.6 ' + base_url + "cronjob/python/Loan/importLawsuit.py > /dev/null &", 'created_by': 'system'
'ngaytienve_tkkh_dot1': 1, 'ngaytrutien_dethanhtoanquahan': 1, 'ngaytienve_tkkh_dotcuoi': 1, 'ngay_trutien_giamdunogoc': 1, 'ngayyeucau_itxoabill': 1, 'sotien_kybill_cuoicung': 1, 'ngaydenhan_kybill_cuoicung': 1 } }] data = mongodb.aggregate_pipeline(MONGO_COLLECTION=action_collection, aggregate_pipeline=aggregate_pipeline) count = 0 for row in data: if 'account_number' in row.keys() and row['action_code'] == "RAA": zaccf = mongodb.getOne( MONGO_COLLECTION=zaccf_collection, WHERE={'account_number': str(row['account_number'])}, SELECT=['name', 'ODIND_FG', 'PRODGRP_ID']) if zaccf != None: invest = mongodb.getOne( MONGO_COLLECTION=investigation_collection, WHERE={'contract_no': str(row['account_number'])}, SELECT=['brand', 'license_plates_no']) product = mongodb.getOne( MONGO_COLLECTION=product_collection, WHERE={'code': str(zaccf['PRODGRP_ID'])}, SELECT=['name']) if invest != None and product != None: count += 1 temp = {} temp['no'] = count