service = new InvRequisitionItemReturnService(); } /** * 获取列表 * * @param Request $request 请求对象 * @return mixed 返回分页数据及总数 */ public function index(Request $request) { try { //$request->setGet('$request'); $raw = $this->service->serviceList($request); $data = $this->transformData($raw, method_exists($this, 'indexFormat') ? [$this, 'indexFormat'] : null); return $this->success($data); } catch (\Throwable $e) { return $this->error($e->getMessage()); } } /** * 列表页数据格式化 * * @param array $data * @return array */ protected function indexFormat($data) { if(isset($data['id'])){ $data['return_item'] = InvRequisitionItemReturn::where('return_id', $data['id'])->get(); foreach ($data['return_item'] as $key => $value) { $data['return_item'][$key]['item'] = InvItem::where('id', $value['item_id'])->get(); } } if (isset($data['return_at'])) $data['return_at'] = date('Y-m-d H:i:s', $data['return_at']); if (isset($data['created_at'])) $data['created_at'] = date('Y-m-d H:i:s', $data['created_at']); if (isset($data['updated_at'])) $data['updated_at'] = date('Y-m-d H:i:s', $data['updated_at']); return $data; } /** * 获取详情 * * @param Request $request 请求对象 * @param int|string $id 资源 ID * @return mixed 返回资源详情数据 */ public function show(Request $request) { try { $raw = $this->service->serviceShow($request); $data = $this->transformData($raw, method_exists($this, 'showFormat') ? [$this, 'showFormat'] : null); return $this->success($data); } catch (\Throwable $e) { return $this->error($e->getMessage()); } } /** * 列表页数据格式化 * * @param array $data * @return array */ protected function showFormat($data) { foreach ($data['item_return'] as $key => $item){ $data['item_return'][$key]['requisition_item'] = InvRequisitionItem::where('id', $item['requisition_item_id'])->first(); } if (isset($data['return_at'])) $data['return_at'] = date('Y-m-d H:i:s', $data['return_at']); if (isset($data['id'])){ //归还附件 $data['return_attachment'] = InvRequisitionItemReturnAttachment::where('return_id', $data['id'])->get(); $ossservice = new OssService(); foreach ($data['return_attachment'] as $item){ $item['file_path_pull'] = $ossservice->generatePrivateUrl($item['file_path']); } //归还审核附件 $data['return_approve_attachment'] = InvRequisitionItemReturnAttachment::where('return_id', $data['id'])->get(); foreach ($data['return_approve_attachment'] as $item){ $item['file_path_pull'] = $ossservice->generatePrivateUrl($item['file_path']); } } /*if (isset($data['created_at'])) $data['created_at'] = date('Y-m-d H:i:s', $data['created_at']); if (isset($data['updated_at'])) $data['updated_at'] = date('Y-m-d H:i:s', $data['updated_at']);*/ return $data; } /** * 更新 * * @param Request $request 请求对象 * @return mixed 返回更新成功的数据或信息 */ public function update(Request $request) { try { $data = $this->validate($this->service->getValidator(), $request->post(), 'update'); $res = $this->service->serviceUpdate($request, $data); return $this->success([], '更新成功'); } catch (\Throwable $e) { return $this->error($e->getMessage()); } } /** * 物品归还确认 * * @param Request $request * @return mixed */ public function returnItemConfirm(Request $request) { try { // 验证申请数据 $data = $this->validate($this->service->getValidator(), $request->post(), 'returnConfirm'); // 处理申请逻辑 $result = $this->service->serviceReturnItemConfirm($request, $data, 'returnConfirm'); return $this->success($result, '申请提交成功'); } catch (\Throwable $e) { return $this->error($e->getMessage()); } } /** * 物品归还确认 * * @param Request $request * @return mixed */ public function returnConfirm(Request $request) { try { // 验证申请数据 $data = $this->validate($this->service->getValidator(), $request->post(), 'returnConfirm'); // 处理申请逻辑 $result = $this->service->serviceReturnConfirm($request, $data, 'returnConfirm'); return $this->success($result, '申请提交成功'); } catch (\Throwable $e) { return $this->error($e->getMessage()); } } }