|
|
@@ -7,6 +7,7 @@ use app\common\model\master_worker\MasterWorker;
|
|
|
use app\common\model\master_worker\MasterWorkerRetentionMoneyLog;
|
|
|
use app\common\model\works\ServiceWork;
|
|
|
use think\facade\Db;
|
|
|
+use think\facade\Log;
|
|
|
|
|
|
class RetentionMoneyLogic extends BaseLogic
|
|
|
{
|
|
|
@@ -22,24 +23,26 @@ class RetentionMoneyLogic extends BaseLogic
|
|
|
throw new \Exception('工单不存在');
|
|
|
}
|
|
|
}
|
|
|
+ Log::info('RetentionMoneyLogic-params:'.json_encode($params));
|
|
|
+ // $params['worker_id']
|
|
|
+ $masterWorkerInfo = MasterWorker::where('id', $params['worker_id'])->findOrEmpty();
|
|
|
+ $earnest_money_usable = (float)$masterWorkerInfo->earnest_money_usable + (float)$params['amount'];
|
|
|
+ if($earnest_money_usable > (float)$masterWorkerInfo->earnest_money){
|
|
|
+ $surplus_money = $earnest_money_usable - (float)$masterWorkerInfo->earnest_money;
|
|
|
+ $params['remark'] .= "\n原质保金:{$masterWorkerInfo->earnest_money},原可用质保金:{$masterWorkerInfo->earnest_money_usable},缴纳多余:{$surplus_money},实际缴纳:".((float)$params['amount']-$surplus_money);
|
|
|
+ $masterWorkerInfo->earnest_money_usable += ((float)$params['amount']-$surplus_money);
|
|
|
+ }
|
|
|
+ $masterWorkerInfo->save();
|
|
|
+
|
|
|
MasterWorkerRetentionMoneyLog::create([
|
|
|
'sn' => generate_sn(MasterWorkerRetentionMoneyLog::class,'sn'),
|
|
|
'worker_id' => $params['worker_id'],
|
|
|
'action' => $params['action'],
|
|
|
- 'amount' => $params['amount'],
|
|
|
+ 'amount' => ((float)$params['amount']-$surplus_money),
|
|
|
'work_id' => $params['work_id'],
|
|
|
'remark' => $params['remark'],
|
|
|
]);
|
|
|
|
|
|
- // $params['worker_id']
|
|
|
- $masterWorkerInfo = MasterWorker::where('id', $params['worker_id'])->findOrEmpty();
|
|
|
- $masterWorkerInfo->earnest_money_usable += $params['earnest_money_usable'];
|
|
|
- if($masterWorkerInfo->earnest_money_usable > $masterWorkerInfo->earnest_money){
|
|
|
- $surplus_money = $masterWorkerInfo->earnest_money_usable - $masterWorkerInfo->earnest_money;
|
|
|
- $masterWorkerInfo->earnest_money_usable += ($params['earnest_money_usable']-$surplus_money);
|
|
|
- }
|
|
|
- $masterWorkerInfo->save();
|
|
|
-
|
|
|
Db::commit();
|
|
|
return $surplus_money;
|
|
|
} catch (\Exception $e) {
|