|
|
@@ -20,6 +20,7 @@ use app\common\model\recharge\OrderGoods;
|
|
|
use app\common\logic\RetentionMoneyLogic;
|
|
|
use app\common\model\works\ServiceWork;
|
|
|
use app\common\model\works\ServiceWorkLog;
|
|
|
+use app\common\model\works\ServiceWorkSpare;
|
|
|
use think\facade\Db;
|
|
|
use think\facade\Log;
|
|
|
|
|
|
@@ -133,7 +134,21 @@ class PerformanceLogic extends BaseLogic
|
|
|
$settlement_amount += (float)$work->add_work_amount;
|
|
|
|
|
|
//工程师可提现金额,汇总 配件总金额
|
|
|
- $settlement_amount += (float)$work->spare_total;
|
|
|
+ $offering_price = ServiceWorkSpare::where("service_work_id", $work->id)->where('status', 1)->sum('offering_price')??0;
|
|
|
+ $freezeMoney = $work->spare_total - $offering_price;
|
|
|
+ if($freezeMoney > 0){
|
|
|
+ // work_id
|
|
|
+ $retentionMoneyLog = MasterWorkerRetentionMoneyLog::create([
|
|
|
+ 'sn' => generate_sn(MasterWorkerRetentionMoneyLog::class,'sn'),
|
|
|
+ 'worker_id' => $work->master_worker_id,
|
|
|
+ 'action' => WorkerAccountLogEnum::DEC,
|
|
|
+ 'amount' => (float)$freezeMoney,
|
|
|
+ 'work_id' => $work->id,
|
|
|
+ 'remark' => '配件费超时审核冻结',
|
|
|
+ ])->getData();
|
|
|
+ Log::info('配件费超时审核冻结:'.$work->master_worker_id.',工单Id:'.$work->id);
|
|
|
+ }
|
|
|
+ $settlement_amount += (float)$offering_price;
|
|
|
|
|
|
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);
|
|
|
|
|
|
@@ -219,7 +234,22 @@ class PerformanceLogic extends BaseLogic
|
|
|
//工程师可提现金额,汇总了加单金额
|
|
|
$settlement_amount += (float)$work->add_work_amount;
|
|
|
//工程师可提现金额,汇总 配件总金额
|
|
|
- $settlement_amount += (float)$work->spare_total;
|
|
|
+ $offering_price = ServiceWorkSpare::where("service_work_id", $work->id)->where('status', 1)->sum('offering_price')??0;
|
|
|
+ $freezeMoney = $work->spare_total - $offering_price;
|
|
|
+ if($freezeMoney > 0){
|
|
|
+ // work_id
|
|
|
+ $retentionMoneyLog = MasterWorkerRetentionMoneyLog::create([
|
|
|
+ 'sn' => generate_sn(MasterWorkerRetentionMoneyLog::class,'sn'),
|
|
|
+ 'worker_id' => $work->master_worker_id,
|
|
|
+ 'action' => WorkerAccountLogEnum::DEC,
|
|
|
+ 'amount' => (float)$freezeMoney,
|
|
|
+ 'work_id' => $work->id,
|
|
|
+ 'remark' => '配件费超时审核冻结',
|
|
|
+ ])->getData();
|
|
|
+ Log::info('配件费超时审核冻结:'.$work->master_worker_id.',工单Id:'.$work->id);
|
|
|
+ }
|
|
|
+ $settlement_amount += (float)$offering_price;
|
|
|
+
|
|
|
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);
|