add statistic_deep_analyze

FFIB %!s(int64=5) %!d(string=hace) años
padre
commit
ba2c80d9ea
Se han modificado 2 ficheros con 49 adiciones y 1 borrados
  1. 46 1
      api/admin_views.py
  2. 3 0
      api/urls.py

+ 46 - 1
api/admin_views.py

@@ -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)

+ 3 - 0
api/urls.py

@@ -301,6 +301,9 @@ urlpatterns += [
301 301
     url(r'^admin/statistic/consumer/model$', admin_views.statistic_model, name='statistic_model'),
302 302
 
303 303
     url(r'^admin/statistic/distributor$', admin_views.statistic_distributor, name='statistic_distributor'),
304
+
305
+    url(r'^admin/statistic/deep/analyze$', admin_views.statistic_deep_analyze, name='statistic_deep_analyze'),
306
+
304 307
 ]
305 308
 
306 309
 urlpatterns += [