|
|
@@ -174,7 +174,8 @@ class RetentionMoneyLogic extends BaseLogic
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 扣除质保金可用额 (包括工单退款、冻结)
|
|
|
+ // 扣除质保金可用额 (包括工单直接退款、冻结)
|
|
|
+ // source remark issue_work_id work_id amount worker_id to_freeze
|
|
|
public static function refundRetention($params,$to_freeze = true)
|
|
|
{
|
|
|
Db::startTrans();
|
|
|
@@ -191,17 +192,16 @@ class RetentionMoneyLogic extends BaseLogic
|
|
|
$to_freeze && $masterWorkerInfo->earnest_money_freeze += $params['amount'];
|
|
|
$masterWorkerInfo->save();
|
|
|
|
|
|
- MasterWorkerRetentionMoneyLog::create([
|
|
|
+ $retentionMoneyLog = MasterWorkerRetentionMoneyLog::create([
|
|
|
'sn' => generate_sn(MasterWorkerRetentionMoneyLog::class,'sn'),
|
|
|
'worker_id' => $params['worker_id'],
|
|
|
'action' => WorkerAccountLogEnum::DEC,
|
|
|
'amount' => $params['amount'],
|
|
|
'work_id' => $params['work_id'],
|
|
|
'remark' => $params['remark'],
|
|
|
- 'source' => $params['source'],
|
|
|
'to_freeze' => isset($params['to_freeze'])?$params['to_freeze']:0,
|
|
|
- 'return_work_id' => isset($params['return_work_id'])?$params['return_work_id']:0,
|
|
|
]);
|
|
|
+ $retention_money_log_id = $retentionMoneyLog->id;
|
|
|
// 记录冻结金额日志 - 增加
|
|
|
if($to_freeze){
|
|
|
MasterWorkerFreezeAmountLog::create([
|
|
|
@@ -211,7 +211,7 @@ class RetentionMoneyLogic extends BaseLogic
|
|
|
'amount' => $params['amount'],
|
|
|
'work_id' => $params['work_id'],
|
|
|
'issue_work_id' => isset($params['issue_work_id'])?$params['issue_work_id']:0,
|
|
|
- 'return_work_id' => isset($params['return_work_id'])?$params['return_work_id']:0,
|
|
|
+ 'retention_money_log_id' => $retention_money_log_id?:0,
|
|
|
'remark' => $params['remark'],
|
|
|
'source' => $params['source']
|
|
|
]);
|
|
|
@@ -228,7 +228,7 @@ class RetentionMoneyLogic extends BaseLogic
|
|
|
|
|
|
|
|
|
// 冻结投诉冻结质保金
|
|
|
- public static function warrantyDepositFreeze($issueWork,$return_work_id = 0)
|
|
|
+ public static function warrantyDepositFreeze($issueWork)
|
|
|
{
|
|
|
Db::startTrans();
|
|
|
try {
|
|
|
@@ -247,12 +247,15 @@ class RetentionMoneyLogic extends BaseLogic
|
|
|
|
|
|
// 总金额 = 退款金额 + 退质保金
|
|
|
$totalAmount = ($change_amount?:0) + ($retentionAmount?:0);
|
|
|
- $remark = '工单号:'.$issueWork->work_sn.($return_work_id?',返修单号:'.$return_work_id:'').',退款总金额:'.$totalAmount.
|
|
|
+ $remark = '工单号:'.$issueWork->work_sn.',退款总金额:'.$totalAmount.
|
|
|
',应退余额:'.($change_amount?:0).
|
|
|
',应退质保金:'.($retentionAmount?:0).
|
|
|
- ',退款原因:返修冻结';
|
|
|
- self::refundRetention(['work_id'=>$issueWork->service_work_id,'worker_id'=>$issueWork->master_worker_id,
|
|
|
- 'amount'=>$totalAmount,'remark'=>$remark,'return_work_id'=>$return_work_id,'to_freeze'=>1
|
|
|
+ ',退款原因:投诉冻结';
|
|
|
+ self::refundRetention([
|
|
|
+ 'source'=>1,'remark'=>$remark,
|
|
|
+ 'issue_work_id' => $issueWork->id?:0,
|
|
|
+ 'work_id'=>$issueWork->service_work_id,'worker_id'=>$issueWork->master_worker_id,
|
|
|
+ 'amount'=>$totalAmount,'to_freeze'=>1
|
|
|
]);
|
|
|
}
|
|
|
|
|
|
@@ -268,36 +271,34 @@ class RetentionMoneyLogic extends BaseLogic
|
|
|
|
|
|
|
|
|
// 解冻投诉冻结质保金
|
|
|
- /*FreezeAmount source remark return_work_id issue_work_id work_id amount worker_id retention_money_log_id
|
|
|
- RetentionMoney to_freeze return_work_id source remark work_id amount worker_id*/
|
|
|
+ /* to_freeze source remark work_id amount worker_id issue_work_id */
|
|
|
public static function warrantyDepositRelease($params,$is_zero = false)
|
|
|
{
|
|
|
Db::startTrans();
|
|
|
try {
|
|
|
// $params['worker_id']
|
|
|
$masterWorkerInfo = MasterWorker::where('id', $params['worker_id'])->findOrEmpty();
|
|
|
-
|
|
|
$masterWorkerInfo->earnest_money_freeze -= $params['amount'];
|
|
|
if($is_zero){
|
|
|
- $retention_money_log_id = MasterWorkerFreezeAmountLog::where([
|
|
|
+ /*$retention_money_log_id = MasterWorkerFreezeAmountLog::where([
|
|
|
'action'=>WorkerAccountLogEnum::INC,
|
|
|
'issue_work_id'=>$params['issue_work_id'],'master_worker_id'=>$params['worker_id']])->value('retention_money_log_id');
|
|
|
- MasterWorkerRetentionMoneyLog::where('id',$retention_money_log_id)->update(['to_freeze'=>2]);
|
|
|
+ MasterWorkerRetentionMoneyLog::where('id',$retention_money_log_id)->update(['to_freeze'=>2]);*/
|
|
|
+ $params['amount'] = 0;
|
|
|
}else{
|
|
|
$masterWorkerInfo->earnest_money_usable += $params['amount'];
|
|
|
- MasterWorkerRetentionMoneyLog::create([
|
|
|
- 'sn' => generate_sn(MasterWorkerRetentionMoneyLog::class,'sn'),
|
|
|
- 'worker_id' => $params['worker_id'],
|
|
|
- 'action' => WorkerAccountLogEnum::INC,
|
|
|
- 'amount' => $params['amount'],
|
|
|
- 'work_id' => $params['work_id'],
|
|
|
- 'remark' => $params['remark'],
|
|
|
- 'source' => $params['source'],
|
|
|
- 'to_freeze' => isset($params['to_freeze'])?$params['to_freeze']:0,
|
|
|
- 'return_work_id' => isset($params['return_work_id'])?$params['return_work_id']:0,
|
|
|
- ]);
|
|
|
}
|
|
|
-
|
|
|
+ $retentionMoneyLog = MasterWorkerRetentionMoneyLog::create([
|
|
|
+ 'sn' => generate_sn(MasterWorkerRetentionMoneyLog::class,'sn'),
|
|
|
+ 'worker_id' => $params['worker_id'],
|
|
|
+ 'action' => WorkerAccountLogEnum::INC,
|
|
|
+ 'amount' => $params['amount'],
|
|
|
+ 'work_id' => $params['work_id'],
|
|
|
+ 'remark' => $params['remark'],
|
|
|
+ 'source' => $params['source'],
|
|
|
+ 'to_freeze' => 2,
|
|
|
+ ]);
|
|
|
+ $retention_money_log_id = $retentionMoneyLog->id;
|
|
|
// 记录冻结金额日志 - 扣减
|
|
|
MasterWorkerFreezeAmountLog::create([
|
|
|
'sn' => generate_sn(MasterWorkerFreezeAmountLog::class,'sn'),
|
|
|
@@ -305,9 +306,8 @@ class RetentionMoneyLogic extends BaseLogic
|
|
|
'action' => WorkerAccountLogEnum::DEC,
|
|
|
'amount' => $params['amount'],
|
|
|
'work_id' => $params['work_id'],
|
|
|
- 'retention_money_log_id' => isset($params['retention_money_log_id'])?$params['retention_money_log_id']:0,
|
|
|
+ 'retention_money_log_id' => $retention_money_log_id?:0,
|
|
|
'issue_work_id' => isset($params['issue_work_id'])?$params['issue_work_id']:0,
|
|
|
- 'return_work_id' => isset($params['return_work_id'])?$params['return_work_id']:0,
|
|
|
'remark' => $params['remark'],
|
|
|
'source' => $params['source']
|
|
|
]);
|