Exemplo n.º 1
0
      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')
Exemplo n.º 2
0
            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},
                  }
Exemplo n.º 4
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']
Exemplo n.º 5
0
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'] }
            }
        },{
Exemplo n.º 7
0
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):
Exemplo n.º 8
0
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
Exemplo n.º 10
0
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)
Exemplo n.º 11
0
   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'])