|
@@ -25,6 +25,7 @@ use app\common\logic\BaseLogic;
|
|
|
use app\common\model\works\ReturnWork;
|
|
use app\common\model\works\ReturnWork;
|
|
|
use app\common\model\works\ServiceWork;
|
|
use app\common\model\works\ServiceWork;
|
|
|
use think\facade\Db;
|
|
use think\facade\Db;
|
|
|
|
|
+use think\facade\Log;
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -85,10 +86,11 @@ class IssueWorkLogic extends BaseLogic
|
|
|
//查询是否完成返修
|
|
//查询是否完成返修
|
|
|
$returnModel = ReturnWork::where('issue_work_id', $params['id'])->findOrEmpty();
|
|
$returnModel = ReturnWork::where('issue_work_id', $params['id'])->findOrEmpty();
|
|
|
if($params['issue_approval'] == 4) {
|
|
if($params['issue_approval'] == 4) {
|
|
|
- if(!$returnModel->isEmpty() && $returnModel->return_work_status != 2){
|
|
|
|
|
|
|
+ if(!$returnModel->isEmpty() && $returnModel->return_work_status != 4){
|
|
|
throw new \Exception("返修工单编号:".$returnModel->work_sn.'未返修完成');
|
|
throw new \Exception("返修工单编号:".$returnModel->work_sn.'未返修完成');
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ $issueWork = IssueWork::where('id', $params['id'])->findOrEmpty();
|
|
|
IssueWork::where('id', $params['id'])->update([
|
|
IssueWork::where('id', $params['id'])->update([
|
|
|
'work_sn' => $params['work_sn'],
|
|
'work_sn' => $params['work_sn'],
|
|
|
'service_work_id' => $params['service_work_id'],
|
|
'service_work_id' => $params['service_work_id'],
|
|
@@ -102,9 +104,10 @@ class IssueWorkLogic extends BaseLogic
|
|
|
'approval_admin_id' =>$params['approval_admin_id'],
|
|
'approval_admin_id' =>$params['approval_admin_id'],
|
|
|
'approval_time' => time(),
|
|
'approval_time' => time(),
|
|
|
]);
|
|
]);
|
|
|
- $issueWork = IssueWork::where('id', $params['id'])->findOrEmpty();
|
|
|
|
|
|
|
+
|
|
|
|
|
+ Log::info('IssueWorkLogic-edit-error:'.$issueWork);
|
|
|
// 投诉- 非完成状态时工程师的质保金可用金额 被冻结
|
|
// 投诉- 非完成状态时工程师的质保金可用金额 被冻结
|
|
|
- if($issueWork->is_refunded_payment == 0 && !in_array($issueWork->issue_approval,[5,4])){
|
|
|
|
|
|
|
+ if(!in_array($issueWork->issue_approval,[5,4]) && $issueWork->is_refunded_payment == 0 && !in_array($params['issue_approval'],[5,4])){
|
|
|
if(RetentionMoneyLogic::warrantyDepositFreeze($issueWork)){
|
|
if(RetentionMoneyLogic::warrantyDepositFreeze($issueWork)){
|
|
|
// 原工程师返修收成款是否被冻结 is_refunded_payment
|
|
// 原工程师返修收成款是否被冻结 is_refunded_payment
|
|
|
$issueWork->is_refunded_payment = 1;
|
|
$issueWork->is_refunded_payment = 1;
|
|
@@ -113,7 +116,7 @@ class IssueWorkLogic extends BaseLogic
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 投诉完成-质保金可用金额 解冻
|
|
// 投诉完成-质保金可用金额 解冻
|
|
|
- if($issueWork->is_refunded_payment == 1 && $issueWork->issue_approval == 4){
|
|
|
|
|
|
|
+ if($issueWork->issue_approval != 4 && $issueWork->is_refunded_payment == 1 && $params['issue_approval'] == 4){
|
|
|
$serviceWork = ServiceWork::where('id',$issueWork->service_work_id)->findOrEmpty();
|
|
$serviceWork = ServiceWork::where('id',$issueWork->service_work_id)->findOrEmpty();
|
|
|
if(!$serviceWork->isEmpty()){
|
|
if(!$serviceWork->isEmpty()){
|
|
|
$is_zero = false;
|
|
$is_zero = false;
|
|
@@ -135,7 +138,7 @@ class IssueWorkLogic extends BaseLogic
|
|
|
// 存在则按返修工单中的最新师傅 计算收益
|
|
// 存在则按返修工单中的最新师傅 计算收益
|
|
|
$extra['ReturnWorkInfo'] = ['id'=>$work->id,'master_worker_id'=>$work->master_worker_id,'service_work_id'=>$work->service_work_id,'issue_work_id'=>$work->issue_work_id];
|
|
$extra['ReturnWorkInfo'] = ['id'=>$work->id,'master_worker_id'=>$work->master_worker_id,'service_work_id'=>$work->service_work_id,'issue_work_id'=>$work->issue_work_id];
|
|
|
$remark = '工单号:'.$issueWork->work_sn.',返修单号:'.$work->work_sn.',收益金额:'.$change_amount.',原因:返修工单新工程师收益';
|
|
$remark = '工单号:'.$issueWork->work_sn.',返修单号:'.$work->work_sn.',收益金额:'.$change_amount.',原因:返修工单新工程师收益';
|
|
|
- WorkerAccountLogLogic::addAccountLog($serviceWork,$change_amount,WorkerAccountLogEnum::UM_INC_ADMIN,WorkerAccountLogEnum::INC,$remark,$extra);
|
|
|
|
|
|
|
+ WorkerAccountLogLogic::addAccountLog($serviceWork,$change_amount,WorkerAccountLogEnum::UM_INC_ADMIN,WorkerAccountLogEnum::INC,$remark,$extra,$work->master_worker_id);
|
|
|
$is_zero = true;
|
|
$is_zero = true;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -157,6 +160,7 @@ class IssueWorkLogic extends BaseLogic
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
Db::rollback();
|
|
Db::rollback();
|
|
|
self::setError($e->getMessage());
|
|
self::setError($e->getMessage());
|
|
|
|
|
+ Log::info('IssueWorkLogic-edit-error:'.$e->getMessage());
|
|
|
return false;
|
|
return false;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|