liugc 1 год назад
Родитель
Сommit
ced3fb35c7

+ 24 - 14
app/adminapi/logic/works/ServiceWorkLogic.php

@@ -1102,21 +1102,31 @@ class ServiceWorkLogic extends BaseLogic
             if($serviceWork->isEmpty()){
                 throw new \Exception('该工单状态不可执行结束服务');
             }
-            $paid_amount = RechargeOrder::where('work_id', $params['id'])->where('payment_type', 1)->value('paid_amount');
-            if($paid_amount > 0){
-                // 存在上门费给工程师
-                Log::info('终止结束服务工单'.$serviceWork->id.',上门费:'.$paid_amount);
-                WorkerAccountLogLogic::addAccountLog($serviceWork,$paid_amount,WorkerAccountLogEnum::UM_INC_ADMIN,WorkerAccountLogEnum::INC);
+
+            if($params['isearnest'] == 1){
+                ServiceWork::where('id', $params['id'])->update([
+                    'work_status' => 7,
+                    'user_confirm_status' => 5,
+                    'work_pay_status' => 1,
+                    'remark' => ($serviceWork->remark?:'')." | 终止结束服务:常规流程"
+                ]);
+            }else{
+                $paid_amount = RechargeOrder::where('work_id', $params['id'])->where('payment_type', 1)->value('paid_amount');
+                if($paid_amount > 0){
+                    // 存在上门费给工程师
+                    Log::info('终止结束服务工单'.$serviceWork->id.',上门费:'.$paid_amount);
+                    WorkerAccountLogLogic::addAccountLog($serviceWork,$paid_amount,WorkerAccountLogEnum::UM_INC_ADMIN,WorkerAccountLogEnum::INC);
+                }
+                ServiceWork::where('id', $params['id'])->update([
+                    'work_status' => 7,
+                    'user_confirm_status' => 5,
+                    'service_status' => 3,
+                    'work_pay_status' => 2, // 已结算则不执行 onAfterUpdate
+                    'settlement_amount' => $paid_amount??0,
+                    'worker_price' => $paid_amount??0,
+                    'remark' => ($serviceWork->remark?:'')." | 终止结束服务:上门费-{$paid_amount}"
+                ]);
             }
-            ServiceWork::where('id', $params['id'])->update([
-                'work_status' => 7,
-                'user_confirm_status' => 5,
-                'service_status' => 3,
-                'work_pay_status' => 2, // 已结算则不执行 onAfterUpdate
-                'settlement_amount' => $paid_amount??0,
-                'worker_price' => $paid_amount??0,
-                'remark' => ($serviceWork->remark?:'')." | 终止结束服务:上门费-{$paid_amount}"
-            ]);
             ServiceWorkLog::create([
                 'work_id' => $params['id'],
                 'master_worker_id' => $serviceWork->master_worker_id,

+ 3 - 0
app/common/controller/InternalApiController.php

@@ -122,6 +122,9 @@ class InternalApiController extends BaseLikeAdminController
             $service_work->service_status = 4;
             $service_work->save();
 
+            // 若存在结算则先退回
+
+
             return $this->success('内部取消工单完成', [], 0, 1);
         }catch(\Exception $e){
             return $this->fail($e->getMessage(),[],$e->getCode());