Esempio n. 1
0
 def repeat_count(self):
     from django.db.models import Q
     from utils.DateFormatUtil import get_today
     from customers.models import FormCustomer
     toA = BackUpWork.objects.filter(~Q(user_id=self.user_id), create_time=str(get_today()))
     toB = BackUpWork.objects.filter(create_time=str(get_today()), user_id=self.user_id)
     string = ''
     if toA and toB:
         B = toB[0]
         yy = FormCustomer.objects.raw(B.sql_str)
         B_company = []
         for y in yy:
             B_company.append(y.company_name)
         for A in toA:
             A_company = []
             tt = FormCustomer.objects.raw(A.sql_str)
             for t in tt:
                 A_company.append(t.company_name)
             compare_company = B_company + A_company
             set_company = set(compare_company)
             count = len(compare_company) - len(set_company)
             if count > 0:
                 string = string + '与用户' + str(A.user_name) + '重复' + str(count) + '条数据;'
     if string:
         return string
     else:
         return '【账号间无重复】'
Esempio n. 2
0
def get_sale_time():
    handleMonth = getConstantsVale('handleMonth')
    if handleMonth is None:
        handleMonth = 7
    date_from_two = str(
        true_month_handle(datetime.datetime.now(), int(handleMonth)))
    date_to_two = get_today()
    date_from = getConstantsVale('dateForm')
    if date_from is None:
        date_from = '2017-01-01 00:00:00'
    date_to = get_today()
    return date_from, date_to, date_from_two, date_to_two
Esempio n. 3
0
 def get(self, request):
     user = request.user
     if user == AnonymousUser():
         return JsonResponse({"msg": "请登录后重试!!"})
     today_str = str(get_today())
     BackUpWork.objects.filter(create_time=today_str).delete()
     return JsonResponse({"msg": "当天任务备份清空成功!!"})
Esempio n. 4
0
def work_two(frcData, saleUser, date_from, date_to, date_from_two, date_to_two,
             SalecountNum, count):
    city = frcData.name
    city_list = getHandleCityList()
    # 将销售人员的id存在list
    s_user_id = []
    if saleUser.exists():
        for s_user in saleUser:
            # if s_user.city.name == city:
            if s_user.city.name in city_list:
                s_user_id.append(s_user.id)
    # 进行复杂的Q对象查询
    q_query = FormCustomer.objects.filter(
        Q(city__in=city_list),
        Q(discover_time__range=(date_from_two, date_to_two)),
        Q(create_time__range=(date_from, date_to))
        | Q(create_time__isnull=True),
        sem_status=0,
        aike_status=0).order_by('randid')
    # print(q_query.query)
    if q_query.exists():
        frcDataByCityCount = q_query.count()
        if frcDataByCityCount > SalecountNum:
            frcDataByCityCount = frcDataByCityCount - SalecountNum
        if len(s_user_id) > 0:
            for i in range(0, len(s_user_id)):
                result = SalecountNum * (i + count) % frcDataByCityCount
                new_reslut = result - 1
                if new_reslut <= 0:
                    result = 1
                # print("===============result:"+str(result)+"=============city:"+city)
                q_randid = FormCustomer.objects.filter(
                    Q(city__in=city_list),
                    Q(discover_time__range=(date_from_two, date_to_two)),
                    Q(create_time__range=(date_from, date_to))
                    | Q(create_time__isnull=True),
                    sem_status=0,
                    aike_status=0).order_by('randid')[(result - 1):result]
                # print(q_randid.query)
                if q_randid.exists():
                    q_randid_id = q_randid[0].randid
                    create_time_now = str(get_today())
                    user_id_now = s_user_id[i]
                    query_cc = customerUser.objects.filter(
                        user_id=user_id_now, create_time=create_time_now)
                    # print(query_cc.query)
                    if query_cc.exists():
                        query_c = query_cc[0]
                        id_now = query_c.id
                        customerUser.objects.filter(id=id_now).update(
                            customer_id=q_randid_id)
                    else:
                        customerUser.objects.create(
                            user_id=user_id_now,
                            customer_id=q_randid_id,
                            create_time=create_time_now)
Esempio n. 5
0
def back_up_work(user_id, user_name, sql_str):
    now_time = str(get_today())
    buw = BackUpWork.objects.filter(user_id=user_id, create_time=now_time)
    if buw.exists():
        BackUpWork.objects.filter(user_id=user_id, create_time=now_time).\
            update(sql_str=sql_str, update_time=datetime.datetime.now(), user_name=user_name)
    else:
        BackUpWork.objects.create(user_id=user_id,
                                  create_time=now_time,
                                  sql_str=sql_str,
                                  user_name=user_name)
Esempio n. 6
0
def get_new_customer_data_to_admin():
    new_customer_data_list = []
    date_from = str(get_before_oneweek())
    date_to = str(get_today())
    q_query = FormCustomer.objects.filter(Q(create_time__range=(date_from,
                                                                date_to)),
                                          sem_status=0,
                                          aike_status=0).order_by('randid')
    if q_query.exists():
        for qc in q_query:
            new_customer_data_list.append(qc.randid)
    return new_customer_data_list
Esempio n. 7
0
def get_real_data_three(user_id, city_name, handle_time):
    check_time = str(get_today())
    BW = BackUpWork.objects.filter(user_id=user_id, create_time=check_time)
    if BW.exists():
        randid_list = []
        bw = BW[0]
        yy = FormCustomer.objects.raw(bw.sql_str)
        for y in yy:
            randid_list.append(y.randid)
        return randid_list
    else:
        date_from, date_to, date_from_two, date_to_two = handle_time
        SalecountNum_three_str = getConstantsVale('smsRemoteNum')
        if SalecountNum_three_str is None:
            SalecountNum_three_str = 250
        sem_info_num = int(SalecountNum_three_str)
        now_time = str(get_today())
        user_work = customerUser.objects.filter(user_id=user_id,
                                                create_time=now_time)
        randid_list = []
        city_list = getFilterCityList()
        need_city = Utils.getDutyArea(city_list)
        yesterdayRandIdList_two = getYesterdayRandIdList(user_id)
        if user_work.exists():
            q_randid = user_work[0].customer_id
            q_randid_list_data = FormCustomer.objects.filter(
                Q(randid__gte=q_randid),
                ~Q(randid__in=yesterdayRandIdList_two),
                Q(city__in=need_city),
                Q(discover_time__range=(date_from_two, date_to_two)),
                Q(create_time__range=(date_from, date_to))
                | Q(create_time__isnull=True),
                sem_status=0,
                aike_status=0).order_by('randid')[0:sem_info_num]
            # print(q_randid_list_data.query)
            if q_randid_list_data.exists():
                for qd in q_randid_list_data:
                    randid_list.append(qd.randid)
        return randid_list
Esempio n. 8
0
def get_init_today_data():
    today = str(get_today())
    start_today = today+" 00:00:00"
    end_today = today+" 23:59:59"
    q_new_find = FormCount.objects.filter(Q(create_time__range=(start_today, end_today))).values_list('user', 'depart').annotate(Count('hit_url')).order_by()
    if q_new_find.exists():
        for q_f in q_new_find:
            user_id = q_f[0]
            depart_id = q_f[1]
            url_count = q_f[2]
            user = UserProfile.objects.get(id=user_id)
            xs_name = user.last_name+user.first_name
            depart = TSDepart.objects.get(id=depart_id)
            text = str(get_today())
            new_date = datetime.strptime(text, '%Y-%m-%d')
            query_data = FormCountTotal.objects.filter(user=user, create_time=new_date, depart=depart)
            if query_data.exists():
                qdata = query_data[0]
                ft = FormCountTotal.objects.get(id=qdata.id)
                ft.url_count = url_count
                ft.save()
            else:
                FormCountTotal.objects.create(user=user, create_time=new_date, depart=depart, xs_name=xs_name, url_count=url_count)
Esempio n. 9
0
def get_real_data(user_id, city_name, handle_time):
    check_time = str(get_today())
    BW = BackUpWork.objects.filter(user_id=user_id, create_time=check_time)
    if BW.exists():
        randid_list = []
        bw = BW[0]
        yy = FormCustomer.objects.raw(bw.sql_str)
        for y in yy:
            randid_list.append(y.randid)
        return randid_list
    else:
        sem_info_num_str = getConstantsVale('smsNum')
        if sem_info_num_str is None:
            sem_info_num_str = str(250)
        sem_info_num = int(sem_info_num_str)
        date_from, date_to, date_from_two, date_to_two = handle_time
        now_time = str(get_today())
        user_work = customerUser.objects.filter(user_id=user_id,
                                                create_time=now_time)
        randid_list_yes = getYesterdayRandIdList(user_id)
        randid_list = []
        if user_work.exists():
            q_randid = user_work[0].customer_id
            q_randid_list_data = FormCustomer.objects.filter(
                Q(randid__gte=q_randid),
                ~Q(randid__in=randid_list_yes),
                Q(city=city_name),
                Q(discover_time__range=(date_from_two, date_to_two)),
                Q(create_time__range=(date_from, date_to))
                | Q(create_time__isnull=True),
                sem_status=0,
                aike_status=0).order_by('randid')[0:sem_info_num]
            # print(q_randid_list_data.query)
            if q_randid_list_data.exists():
                for qd in q_randid_list_data:
                    randid_list.append(qd.randid)
        return randid_list
Esempio n. 10
0
 def queryset(self):
     qs = super(BackUpWorkRepeatAdmin, self).queryset()
     return qs.filter(create_time=str(get_today()))