Issues 0 Pull Requests 0 Commits 1034 Releases 0

No Description

sale.py 4.3KB

    # -*- coding: utf-8 -*- import logging from django.db.models import Sum from django_six import CompatibilityBaseCommand, close_old_connections from TimeConvert import TimeConvert as tc from integral.models import SaleclerkSubmitLogInfo from mch.models import BrandInfo, DistributorInfo, ModelInfo, SaleclerkInfo from sales.models import (SalesResponsibilityInfo, SalesResponsibilityInfoModelsSaleStatisticInfo, SuperSalesResponsibilityInfoModelsSaleStatisticInfo) logger = logging.getLogger('console') class Command(CompatibilityBaseCommand): def handle(self, *args, **options): logger.info('Sales is dealing') close_old_connections() # year = tc.local_string(format='%Y') month = tc.local_string(format='%Y%m') day = tc.local_string(format='%Y%m%d') # lastyear = tc.local_string(tc.several_time_ago(years=1), format='%Y') lastmonth = tc.local_string(tc.several_time_ago(months=1), format='%Y%m') lastday = tc.local_string(tc.several_time_ago(days=1), format='%Y%m%d') brands = BrandInfo.objects.filter(status=True) for b in brands: SalesResponsibilityInfoModelsSaleStatisticInfo.objects.filter(brand_id=b.brand_id, ymd=day).delete() SuperSalesResponsibilityInfoModelsSaleStatisticInfo.objects.filter(brand_id=b.brand_id, ymd=day).delete() distributors = DistributorInfo.objects.filter(brand_id=b.brand_id, status=True) models = ModelInfo.objects.filter(brand_id=b.brand_id, status=True) for m in models: logs = SaleclerkSubmitLogInfo.objects.filter(model_pk=m.pk, dupload=False, test_sn=False, ym__gte=lastmonth, status=True) for d in distributors: yesterday_num = 0 current_month = 0 last_month = 0 if logs.count() != 0: saleclerks = SaleclerkInfo.objects.filter(brand_id=b.brand_id, distributor_id=d.distributor_id, status=True) for saleclerk in saleclerks: log = logs.filter(clerk_id=saleclerk.clerk_id) yesterday_num += log.filter(ymd=lastday).count() current_month += log.filter(ym=month).count() last_month += log.filter(ym=lastmonth).count() if m.is_important or (yesterday_num or current_month or last_month): sale, _ = SalesResponsibilityInfoModelsSaleStatisticInfo.objects.get_or_create( brand_id=b.brand_id, sr_id=d.sr_id, distributor_id=d.distributor_id, model_name=m.model_uni_name, ymd=day, ) sale.distributor_name = d.distributor_name sale.model_id = m.model_id sale.is_important = m.is_important sale.yesterday_num += yesterday_num sale.current_month += current_month sale.last_month += last_month sale.save() srs = SalesResponsibilityInfo.objects.filter(brand_id=b.brand_id, status=True) for s in srs: if s.is_super: continue sums = SalesResponsibilityInfoModelsSaleStatisticInfo.objects.filter( sr_id=s.sr_id, ymd=day, status=True ).aggregate( Sum('yesterday_num'), Sum('current_month'), Sum('last_month'), ) yesterday_num = sums.get('yesterday_num__sum', 0) or 0 current_month = sums.get('current_month__sum', 0) or 0 last_month = sums.get('last_month__sum', 0) or 0 SuperSalesResponsibilityInfoModelsSaleStatisticInfo.objects.create( brand_id=b.brand_id, sr_id=s.sr_id, sr_name=s.name, sr_avatar=s.avatar, ymd=day, yesterday_num=yesterday_num, current_month=current_month, last_month=last_month, ) close_old_connections()
kodo - Gogs: Go Git Service

Brak opisu

Brightcells: c3e3681541 Create user in api get_userinfo_api for weapp 9 lat temu
..
0001_initial.py 4defb80fdc gogs first init 11 lat temu
0002_auto_20151202_2251.py 434468279f add api of lesman login & update other api 10 lat temu
0003_auto_20151202_2313.py 434468279f add api of lesman login & update other api 10 lat temu
0004_auto_20151207_1811.py 4a8b4f8819 add watermark 10 lat temu
0005_auto_20151209_1638.py 3454610bb7 add api of user signup/login 10 lat temu
0006_auto_20151223_1533.py 5ef425fee7 add api wx_authorize_api 10 lat temu
0007_auto_20160120_1830.py a121b75ff2 add db_index=True for status field 10 lat temu
0008_userinfo_unionid.py 8aeca53563 record unionid for wx_authorize user 10 lat temu
0009_auto_20160428_1410.py 269576f8b9 add guest user 10 lat temu
0010_userinfo_uuid.py 63eaee0951 modify guest_login_api 10 lat temu
0011_auto_20160627_1411.py 6d6c8485ce bind LensmanInfo and UserInfo 10 lat temu
0012_auto_20160627_1419.py 6d6c8485ce bind LensmanInfo and UserInfo 10 lat temu
0013_auto_20160711_1436.py d0affd4b01 add lensman_oauth page 10 lat temu
0014_lensmaninfo_refused_reason.py 30d24179d9 add refused relative 10 lat temu
0015_auto_20160713_1646.py 30d24179d9 add refused relative 10 lat temu
0016_auto_20160718_1258.py c7071ae7f1 wx_uid to openid 10 lat temu
0017_auto_20160908_1053.py 4fdd237863 add api price_fix 10 lat temu
0018_auto_20161020_1844.py e249360c0c Add freeze_balance for lensman/user 10 lat temu
0019_auto_20161024_1235.py c7abce172a Rename field name 10 lat temu
0020_tourguideinfo.py 8a213207ea Add tour guide oauth 9 lat temu
0021_auto_20161213_1639.py 8a213207ea Add tour guide oauth 9 lat temu
0022_auto_20170212_2153.py c3e3681541 Create user in api get_userinfo_api for weapp 9 lat temu
__init__.py 4defb80fdc gogs first init 11 lat temu