liugc пре 1 година
родитељ
комит
9cb4de0b0c

+ 9 - 1
app/adminapi/controller/works/ServiceWorkController.php

@@ -117,5 +117,13 @@ class ServiceWorkController extends BaseAdminController
         }
         return $this->fail(ServiceWorkLogic::getError());
     }
-
+    public function cancelWorker()
+    {
+        $params = (new ServiceWorkValidate())->post()->goCheck('detail');
+        $result = ServiceWorkLogic::cancel($params);
+        if (true === $result) {
+            return $this->success('取消工单成功!', [], 1, 1);
+        }
+        return $this->fail(ServiceWorkLogic::getError());
+    }
 }

+ 28 - 0
app/adminapi/logic/works/ServiceWorkLogic.php

@@ -458,4 +458,32 @@ class ServiceWorkLogic extends BaseLogic
         }
 
     }
+
+    /**
+     * @notes 取消操作
+     * @param array $params
+     * @return bool
+     * @author likeadmin
+     * @date 2024/09/19 10:48
+     */
+    public static function cancel(array $params): bool
+    {
+        Db::startTrans();
+        try {
+            $work_status = ServiceWork::where('id', $params['id'])->value('work_status');
+            if((int)$work_status !== 0){
+                throw new \Exception('该工单不可取消');
+            }
+            ServiceWork::where('id', $params['id'])->update([
+                'work_status' => 9,
+                'remark' => $params['remark']??''
+            ]);
+            Db::commit();
+            return true;
+        } catch (\Exception $e) {
+            Db::rollback();
+            self::setError($e->getMessage());
+            return false;
+        }
+    }
 }