|
|
@@ -9,9 +9,12 @@ from django_response import response
|
9
|
9
|
from paginator import pagination
|
10
|
10
|
from TimeConvert import TimeConvert as tc
|
11
|
11
|
from django.db.models import Sum
|
|
12
|
+from datetime import datetime
|
12
|
13
|
|
13
|
|
-from mch.models import AdministratorInfo, ConsumeInfoSubmitLogInfo, SaleclerkInfo
|
|
14
|
+from mch.models import AdministratorInfo, ConsumeInfoSubmitLogInfo, SaleclerkInfo, ModelInfo
|
14
|
15
|
from statistic.models import ConsumeModelSaleStatisticInfo, ConsumeSaleStatisticInfo, ConsumeUserStatisticInfo, ModelSaleStatisticInfo
|
|
16
|
+from integral.models import SaleclerkSubmitLogInfo
|
|
17
|
+from logs.models import MchInfoEncryptLogInfo
|
15
|
18
|
from account.models import UserInfo
|
16
|
19
|
from utils.error.errno_utils import (AdministratorStatusCode, ProductBrandStatusCode, ProductCouponStatusCode,
|
17
|
20
|
ProductMachineStatusCode, UserStatusCode)
|
|
|
@@ -356,3 +359,45 @@ def statistic_distributor(request):
|
356
|
359
|
'model_logs': model_logs,
|
357
|
360
|
'distributor_logs': distributor_logs
|
358
|
361
|
})
|
|
362
|
+
|
|
363
|
+def statistic_deep_analyze(request):
|
|
364
|
+ start_time = request.POST.get('start_time', '')
|
|
365
|
+ end_time = request.POST.get('end_time', '')
|
|
366
|
+
|
|
367
|
+ start_date = datetime.strptime(start_time + ' 00:00:00', '%Y-%m-%d %H:%M:%S')
|
|
368
|
+ end_date = datetime.strptime(end_time + ' 23:59:59', '%Y-%m-%d %H:%M:%S')
|
|
369
|
+ logs = ConsumeInfoSubmitLogInfo.objects.filter(created_at__range=(start_date, end_date), dupload=False, test_user=False)
|
|
370
|
+ res = []
|
|
371
|
+
|
|
372
|
+ for log in logs:
|
|
373
|
+ modelInfo = ModelInfo.objects.get(model_id=log.model_id)
|
|
374
|
+ item = {'user_id': log.user_id, 'model_name': log.model_name, 'serialNo': log.serialNo}
|
|
375
|
+ try:
|
|
376
|
+ sale_log = SaleclerkSubmitLogInfo.objects.get(model_name=modelInfo.model_name, code=log.serialNo)
|
|
377
|
+ item['distributor_name'] = sale_log.distributor_name
|
|
378
|
+ item['outbound_time'] = sale_log.created_at
|
|
379
|
+ except:
|
|
380
|
+ item['distributor_name'] = ''
|
|
381
|
+ item['outbound_time'] = ''
|
|
382
|
+
|
|
383
|
+
|
|
384
|
+ date = datetime.strptime('2020-01-14 00:00:00', '%Y-%m-%d %H:%M:%S')
|
|
385
|
+ encryptLog = MchInfoEncryptLogInfo.objects.filter(created_at__gte=date, sn=log.serialNo, model_pk=modelInfo.pk)
|
|
386
|
+ if not encryptLog:
|
|
387
|
+ item['is_new_code'] = False
|
|
388
|
+ item['is_complement'] = False
|
|
389
|
+ elif encryptLog.all()[0].operator_id == 'ZCQebtBiQHT8XRKpmbUotD':
|
|
390
|
+ item['is_complement'] = True
|
|
391
|
+ item['is_new_code'] = False
|
|
392
|
+ elif encryptLog.all()[0].operator_id == '5qX3KWXZ8iKaip4AdxwtKF':
|
|
393
|
+ item['is_new_code'] = True
|
|
394
|
+ item['is_complement'] = False
|
|
395
|
+
|
|
396
|
+ if encryptLog:
|
|
397
|
+ item['outbound_time'] = encryptLog.all()[0].created_at
|
|
398
|
+ else:
|
|
399
|
+ item['outbound_time'] = ''
|
|
400
|
+
|
|
401
|
+ res.append(item)
|
|
402
|
+
|
|
403
|
+ return response(data=res)
|