Przeglądaj źródła

add - 工程师新结算规则

liugc 1 rok temu
rodzic
commit
ca45ab5872
1 zmienionych plików z 11 dodań i 3 usunięć
  1. 11 3
      app/api/logic/PerformanceLogic.php

+ 11 - 3
app/api/logic/PerformanceLogic.php

@@ -58,7 +58,9 @@ class PerformanceLogic extends BaseLogic
                     break;
                 case 1://按照结算金额结算
                     $worker_price = $work->work_amount;
-                    $settlement_amount = bcmul($worker_price, $rule['rate'],2);
+                    //$settlement_amount = bcmul($worker_price, $rule['rate'],2);
+                    // 运营新定 - 配件费不包进总工单金额扣除
+                    $settlement_amount = bcmul(bcsub($worker_price - $work->spare_total) , $rule['rate'],2);
                     break;
                 case 2://按照服务总费用结算
                     //搜索所有优惠券
@@ -129,6 +131,9 @@ class PerformanceLogic extends BaseLogic
             //工程师可提现金额,汇总了加单金额
             $settlement_amount += (float)$work->add_work_amount;
 
+            //工程师可提现金额,汇总 配件总金额
+            $settlement_amount += (float)$work->spare_total;
+
             Log::info('工单'.$work->id.',总服务费:'.$worker_price.'可提现金额:'.$settlement_amount.',加单金额:'.$work->add_work_amount.',缴纳质保金:'.$work->earnest_money.',系统回收金额:'.$work->system_amount.',门店总金额(包含工程师):'.$work->tenant_all_amount . ',门店实际金额:'.$work->tenant_amount);
 
             WorkerAccountLogLogic::addAccountLog($work,$settlement_amount,WorkerAccountLogEnum::UM_INC_ADMIN,WorkerAccountLogEnum::INC);
@@ -155,7 +160,9 @@ class PerformanceLogic extends BaseLogic
             //工程师金额结算
             //$coupon_price = RechargeOrder::where('work_id',$work->id)->sum('coupon_price');
             $work->worker_price = $work->work_total;
-            $settlement_amount = bcmul($work->work_total, $ratio,2);
+            //$settlement_amount = bcmul($work->work_total, $ratio,2);
+            // 运营新定 - 配件费不包进总工单金额扣除
+            $settlement_amount = bcmul(bcsub($work->work_total - $work->spare_total), $ratio,2);
             // 缴纳质保金
             $masterWorkerInfo = MasterWorker::where('id', $work->master_worker_id)->where('retention_money_status', 1)->findOrEmpty()->toArray();
             Log::info('缴纳质保金工程师信息:'.json_encode($masterWorkerInfo));
@@ -210,7 +217,8 @@ class PerformanceLogic extends BaseLogic
             }
             //工程师可提现金额,汇总了加单金额
             $settlement_amount += (float)$work->add_work_amount;
-
+            //工程师可提现金额,汇总 配件总金额
+            $settlement_amount += (float)$work->spare_total;
             Log::info('calculatePerformanceCommission:工单'.$work->id.',总服务费:'.$work->worker_price.'可提现金额:'.$settlement_amount.',加单金额:'.$work->add_work_amount.',缴纳质保金:'.$work->earnest_money.',系统回收金额:'.$work->system_amount.',门店总金额(包含工程师):'.$work->tenant_all_amount . ',门店实际金额:'.$work->tenant_amount);
 
             WorkerAccountLogLogic::addAccountLog($work,$settlement_amount,WorkerAccountLogEnum::UM_INC_ADMIN,WorkerAccountLogEnum::INC);