RepairDeviceController.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace App\Http\Controllers\Api\mini;
  3. use App\Models\InnerDevice;
  4. use App\Models\Option;
  5. use App\Models\Part;
  6. use App\Models\Project;
  7. use App\Models\RentType;
  8. use App\Models\RepairDevice;
  9. use Illuminate\Http\Request;
  10. use Illuminate\Support\Facades\Auth;
  11. class RepairDeviceController extends BaseController
  12. {
  13. protected $model;
  14. public function __construct()
  15. {
  16. $this->model = new RepairDevice();
  17. }
  18. public function create(Request $request)
  19. {
  20. $project = Project::find($request->input('project_id'));
  21. if(!$project) return $this->error(['msg' => '找不到项目']);
  22. // $user = Auth::guard('mini')->user();
  23. $data = $request->only(['project_id', 'work_point_id', 'inner_device_id', 'reason', 'day', 'remark', 'money']);
  24. $data['money'] = $this->transMoney($request->input('money'));
  25. $repair = $this->model->create($data);
  26. $repair_status = Option::get('inner_devices', 'status', 'repair');
  27. InnerDevice::where('id', $data['inner_device_id'])->update([
  28. 'status' => $repair_status
  29. ]);
  30. if(!$repair) return $this->error(['msg' => '订单失败']);
  31. $parts = $request->input('parts');
  32. if($parts) {
  33. foreach($parts as $item) {
  34. $price = $this->transMoney($item['price']);
  35. $item['price'] = $price;
  36. Part::create(array_merge($item, [
  37. 'repair_device_id' => $repair->id
  38. ]));
  39. }
  40. }
  41. return $this->success();
  42. }
  43. public function get(Request $request)
  44. {
  45. $items = $this->model->where('inner_device_id', $request->input('id'))->with('parts')->get();
  46. foreach($items as $item) {
  47. $item->date = substr($item->created_at, 0 ,10);
  48. }
  49. return $this->success(['data' => $items]);
  50. }
  51. }