|
|
@@ -2,16 +2,16 @@
|
|
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
|
|
-use App\Components\AsyncResponse;
|
|
|
use App\Demand;
|
|
|
+use App\Components\AsyncResponse;
|
|
|
use App\Filters\DemandFilters;
|
|
|
use App\Http\Requests\Demand\DemandRequest;
|
|
|
use App\Services\DemandService;
|
|
|
use Illuminate\Http\Request;
|
|
|
use Illuminate\Contracts\Foundation\Application;
|
|
|
use Illuminate\Contracts\View\Factory;
|
|
|
+use Illuminate\Support\Facades\Auth;
|
|
|
use Illuminate\View\View;
|
|
|
-use Ramsey\Uuid\Uuid;
|
|
|
|
|
|
class DemandController extends Controller
|
|
|
{
|
|
|
@@ -27,9 +27,8 @@ class DemandController extends Controller
|
|
|
{
|
|
|
// 查询权限
|
|
|
|
|
|
- $demands = Demand::query()->with(['processes', 'initiator', 'handler', 'uploadFile'])->filter($filters)->sql();
|
|
|
-
|
|
|
$demands = Demand::query()->with(['processes', 'initiator', 'handler', 'uploadFile'])->filter($filters)->paginate($request['paginate'] ?? 50);
|
|
|
+
|
|
|
return view('maintenance.demand.index', compact('demands'));
|
|
|
}
|
|
|
|
|
|
@@ -37,30 +36,33 @@ class DemandController extends Controller
|
|
|
* @param DemandRequest $request
|
|
|
* @param DemandService $service
|
|
|
*/
|
|
|
- public function storeApi(DemandRequest $request,DemandService $service)
|
|
|
+ public function storeApi(DemandRequest $request, DemandService $service)
|
|
|
{
|
|
|
- // 创建权限
|
|
|
/** @var Demand $demand */
|
|
|
- $demand = Demand::query()->create($request->all());
|
|
|
+ $params = $request->all();
|
|
|
+ $params['initiator'] = Auth::user()['id'];
|
|
|
+
|
|
|
+ $demand = Demand::query()->create($params);
|
|
|
|
|
|
if ($demand) {
|
|
|
|
|
|
$file = $request->file('file');
|
|
|
- if(isset($file))$service->saveUPLoadFile($demand,$file);
|
|
|
+ if (isset($file)) $service->saveUPLoadFile($demand, $file);
|
|
|
|
|
|
$this->success($demand);
|
|
|
- } else{
|
|
|
+ } else {
|
|
|
$this->error('需求创建出现异常');
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @param DemandRequest $request
|
|
|
- * @param Demand $demand
|
|
|
*/
|
|
|
- public function updateApi(DemandRequest $request, Demand $demand)
|
|
|
+ public function updateApi(DemandRequest $request)
|
|
|
{
|
|
|
// 编辑权限
|
|
|
+ $this->gate('需求管理-问题-编辑');
|
|
|
+ $demand = Demand::query()->find($request['id'])->first();
|
|
|
|
|
|
$bool = $demand->update($request->all());
|
|
|
|
|
|
@@ -73,14 +75,15 @@ class DemandController extends Controller
|
|
|
|
|
|
/**
|
|
|
* @param DemandRequest $request
|
|
|
- * @param Demand $demand
|
|
|
* @param DemandService $service
|
|
|
*/
|
|
|
- public function uploadFileApi(DemandRequest $request, Demand $demand,DemandService $service)
|
|
|
+ public function uploadFileApi(DemandRequest $request, DemandService $service)
|
|
|
{
|
|
|
// 文件上传
|
|
|
|
|
|
- $service->saveUPLoadFile($demand,$request['file']);
|
|
|
+ $demand = Demand::query()->find($request['id'])->first();
|
|
|
+
|
|
|
+ $service->saveUPLoadFile($demand, $request->file('file'));
|
|
|
|
|
|
$demand->loadMissing('authority', 'initiator', 'handler', 'uploadFile', 'processes');
|
|
|
|
|
|
@@ -90,31 +93,54 @@ class DemandController extends Controller
|
|
|
|
|
|
/**
|
|
|
* @param DemandRequest $request
|
|
|
- * @param Demand $demand
|
|
|
*/
|
|
|
- public function destroyApi(DemandRequest $request, Demand $demand)
|
|
|
+ public function destroyApi(DemandRequest $request)
|
|
|
{
|
|
|
- // 删除权限
|
|
|
+ $this->gate('需求管理-问题-删除');
|
|
|
|
|
|
+ $demand = Demand::query()->find($request['id']);
|
|
|
try {
|
|
|
- if ($demand->delete()) $this->success();
|
|
|
+ $bool = $demand->delete();
|
|
|
+ if ($bool) $this->success();
|
|
|
+ else $this->error('删除失败');
|
|
|
} catch (\Exception $e) {
|
|
|
$this->error($e->getMessage());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 完结需求
|
|
|
+ * 完结问题
|
|
|
*
|
|
|
* @param DemandRequest $request
|
|
|
- * @param Demand $demand
|
|
|
+ * @param DemandService $service
|
|
|
*/
|
|
|
- public function finishApi(DemandRequest $request, Demand $demand)
|
|
|
+ public function finishApi(DemandRequest $request,DemandService $service)
|
|
|
{
|
|
|
- if($demand->update(['status','1']))
|
|
|
- $this->success($demand);
|
|
|
- else
|
|
|
- $this->error('修改失败');
|
|
|
+ $demand = Demand::query()->find($request['id'])->first();
|
|
|
+
|
|
|
+ $result = $service->finishDemand($demand);
|
|
|
+ if($result['success']){
|
|
|
+ $this->success($result['data']);
|
|
|
+ }
|
|
|
+ $this->error($result['message']);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 问题认领
|
|
|
+ *
|
|
|
+ * @param DemandRequest $request
|
|
|
+ * @param DemandService $service
|
|
|
+ */
|
|
|
+ public function claimApi(DemandRequest $request,DemandService $service)
|
|
|
+ {
|
|
|
+ $demand = Demand::query()->find($request['id'])->first();
|
|
|
+ $handler = Auth::user()['id'];
|
|
|
+
|
|
|
+ $result = $service->claimDemand($demand,$handler);
|
|
|
+ if($result['success']){
|
|
|
+ $this->success($result['data']);
|
|
|
+ }
|
|
|
+ $this->error($result['message']);
|
|
|
}
|
|
|
|
|
|
}
|