| 
                
               | 
              
                
               | 
              
                @@ -14,7 +14,8 @@ from account.models import SaleclerkInfo, UserInfo 
               | 
            
            
            
              | 
                14
               | 
              
                14
               | 
              
                 from integral.models import SaleclerkIntegralIncomeExpensesInfo, SaleclerkSubmitLogInfo 
               | 
            
            
            
              | 
                15
               | 
              
                15
               | 
              
                 from mch.models import DistributorInfo, ModelInfo 
               | 
            
            
            
              | 
                16
               | 
              
                16
               | 
              
                 from product.models import ProductModelInfo 
               | 
            
            
            
              | 
                17
               | 
              
                
               | 
              
                -from statistic.models import DistributorSaleStatisticInfo, ModelSaleStatisticInfo, SaleStatisticInfo 
               | 
            
            
            
              | 
                
               | 
              
                17
               | 
              
                +from statistic.models import (DistributorSaleStatisticInfo, ModelSaleStatisticInfo, ProvinceSaleStatisticInfo, 
               | 
            
            
            
              | 
                
               | 
              
                18
               | 
              
                +                              SaleStatisticInfo) 
               | 
            
            
            
              | 
                18
               | 
              
                19
               | 
              
                 from utils.error.errno_utils import ProductDistributorStatusCode, ProductModelStatusCode, SaleclerkStatusCode 
               | 
            
            
            
              | 
                19
               | 
              
                20
               | 
              
                  
               | 
            
            
            
              | 
                20
               | 
              
                21
               | 
              
                  
               | 
            
            
            
            
            
              | 
                
               | 
              
                
               | 
              
                @@ -135,6 +136,7 @@ def clerk_sale_submit_api(request): 
               | 
            
            
            
              | 
                135
               | 
              
                136
               | 
              
                         test_user=clerk.test_user, 
               | 
            
            
            
              | 
                136
               | 
              
                137
               | 
              
                     ) 
               | 
            
            
            
              | 
                137
               | 
              
                138
               | 
              
                  
               | 
            
            
            
              | 
                
               | 
              
                139
               | 
              
                +    # TODO: Make statistic async 
               | 
            
            
            
              | 
                138
               | 
              
                140
               | 
              
                     if not sci: 
               | 
            
            
            
              | 
                139
               | 
              
                141
               | 
              
                         ymd = int(tc.local_string(format='%Y%m%d')) 
               | 
            
            
            
              | 
                140
               | 
              
                142
               | 
              
                  
               | 
            
            
            
            
            
              | 
                
               | 
              
                
               | 
              
                @@ -147,7 +149,7 @@ def clerk_sale_submit_api(request): 
               | 
            
            
            
              | 
                147
               | 
              
                149
               | 
              
                  
               | 
            
            
            
              | 
                148
               | 
              
                150
               | 
              
                         # 型号销量统计 
               | 
            
            
            
              | 
                149
               | 
              
                151
               | 
              
                         mssi, _ = ModelSaleStatisticInfo.objects.select_for_update().get_or_create( 
               | 
            
            
            
              | 
                150
               | 
              
                
               | 
              
                -            model_id=modelID, 
               | 
            
            
            
              | 
                
               | 
              
                152
               | 
              
                +            model_id=model.model_id, 
               | 
            
            
            
              | 
                151
               | 
              
                153
               | 
              
                             ymd=ymd, 
               | 
            
            
            
              | 
                152
               | 
              
                154
               | 
              
                         ) 
               | 
            
            
            
              | 
                153
               | 
              
                155
               | 
              
                         mssi.model_name = model.model_name 
               | 
            
            
            
            
            
              | 
                
               | 
              
                
               | 
              
                @@ -155,7 +157,7 @@ def clerk_sale_submit_api(request): 
               | 
            
            
            
              | 
                155
               | 
              
                157
               | 
              
                         mssi.save() 
               | 
            
            
            
              | 
                156
               | 
              
                158
               | 
              
                  
               | 
            
            
            
              | 
                157
               | 
              
                159
               | 
              
                         mssi2, _ = ModelSaleStatisticInfo.objects.select_for_update().get_or_create( 
               | 
            
            
            
              | 
                158
               | 
              
                
               | 
              
                -            model_id=modelID, 
               | 
            
            
            
              | 
                
               | 
              
                160
               | 
              
                +            model_id=model.model_id, 
               | 
            
            
            
              | 
                159
               | 
              
                161
               | 
              
                             ymd=0, 
               | 
            
            
            
              | 
                160
               | 
              
                162
               | 
              
                         ) 
               | 
            
            
            
              | 
                161
               | 
              
                163
               | 
              
                         mssi2.model_name = model.model_name 
               | 
            
            
            
            
            
              | 
                
               | 
              
                
               | 
              
                @@ -164,7 +166,7 @@ def clerk_sale_submit_api(request): 
               | 
            
            
            
              | 
                164
               | 
              
                166
               | 
              
                  
               | 
            
            
            
              | 
                165
               | 
              
                167
               | 
              
                         # 经销商销量统计 
               | 
            
            
            
              | 
                166
               | 
              
                168
               | 
              
                         dssi, _ = DistributorSaleStatisticInfo.objects.select_for_update().get_or_create( 
               | 
            
            
            
              | 
                167
               | 
              
                
               | 
              
                -            distributor_id=distributorID, 
               | 
            
            
            
              | 
                
               | 
              
                169
               | 
              
                +            distributor_id=distributor.distributor_id, 
               | 
            
            
            
              | 
                168
               | 
              
                170
               | 
              
                             ymd=ymd, 
               | 
            
            
            
              | 
                169
               | 
              
                171
               | 
              
                         ) 
               | 
            
            
            
              | 
                170
               | 
              
                172
               | 
              
                         dssi.distributor_name = distributor.distributor_name 
               | 
            
            
            
            
            
              | 
                
               | 
              
                
               | 
              
                @@ -172,13 +174,30 @@ def clerk_sale_submit_api(request): 
               | 
            
            
            
              | 
                172
               | 
              
                174
               | 
              
                         dssi.save() 
               | 
            
            
            
              | 
                173
               | 
              
                175
               | 
              
                  
               | 
            
            
            
              | 
                174
               | 
              
                176
               | 
              
                         dssi2, _ = DistributorSaleStatisticInfo.objects.select_for_update().get_or_create( 
               | 
            
            
            
              | 
                175
               | 
              
                
               | 
              
                -            distributor_id=distributorID, 
               | 
            
            
            
              | 
                
               | 
              
                177
               | 
              
                +            distributor_id=distributor.distributor_id, 
               | 
            
            
            
              | 
                176
               | 
              
                178
               | 
              
                             ymd=0, 
               | 
            
            
            
              | 
                177
               | 
              
                179
               | 
              
                         ) 
               | 
            
            
            
              | 
                178
               | 
              
                180
               | 
              
                         dssi2.distributor_name = distributor.distributor_name 
               | 
            
            
            
              | 
                179
               | 
              
                181
               | 
              
                         dssi2.num += 1 
               | 
            
            
            
              | 
                180
               | 
              
                182
               | 
              
                         dssi2.save() 
               | 
            
            
            
              | 
                181
               | 
              
                183
               | 
              
                  
               | 
            
            
            
              | 
                
               | 
              
                184
               | 
              
                +        # 省份销量统计 
               | 
            
            
            
              | 
                
               | 
              
                185
               | 
              
                +        pssi, _ = ProvinceSaleStatisticInfo.objects.select_for_update().get_or_create( 
               | 
            
            
            
              | 
                
               | 
              
                186
               | 
              
                +            province_code=distributor.distributor_province_code, 
               | 
            
            
            
              | 
                
               | 
              
                187
               | 
              
                +            ymd=ymd, 
               | 
            
            
            
              | 
                
               | 
              
                188
               | 
              
                +        ) 
               | 
            
            
            
              | 
                
               | 
              
                189
               | 
              
                +        pssi.province_name = distributor.distributor_province_name 
               | 
            
            
            
              | 
                
               | 
              
                190
               | 
              
                +        pssi.num += 1 
               | 
            
            
            
              | 
                
               | 
              
                191
               | 
              
                +        pssi.save() 
               | 
            
            
            
              | 
                
               | 
              
                192
               | 
              
                + 
               | 
            
            
            
              | 
                
               | 
              
                193
               | 
              
                +        pssi2, _ = ProvinceSaleStatisticInfo.objects.select_for_update().get_or_create( 
               | 
            
            
            
              | 
                
               | 
              
                194
               | 
              
                +            province_code=distributor.distributor_province_code, 
               | 
            
            
            
              | 
                
               | 
              
                195
               | 
              
                +            ymd=0, 
               | 
            
            
            
              | 
                
               | 
              
                196
               | 
              
                +        ) 
               | 
            
            
            
              | 
                
               | 
              
                197
               | 
              
                +        pssi2.province_name = distributor.distributor_province_name 
               | 
            
            
            
              | 
                
               | 
              
                198
               | 
              
                +        pssi2.num += 1 
               | 
            
            
            
              | 
                
               | 
              
                199
               | 
              
                +        pssi2.save() 
               | 
            
            
            
              | 
                
               | 
              
                200
               | 
              
                + 
               | 
            
            
            
              | 
                182
               | 
              
                201
               | 
              
                     return response(200, data={
               | 
            
            
            
              | 
                183
               | 
              
                202
               | 
              
                         'integral': integral, 
               | 
            
            
            
              | 
                184
               | 
              
                203
               | 
              
                         'total_integral': clerk.integral, 
               |