service = new PurchaseOrdersService(); } /** * 列表页数据格式化 * * @param array $data * @return array */ protected function indexFormat($data) { if (isset($data['records']) && count($data['records']) > 0) { foreach ($data['records'] as &$record) { $contractFile = $record['contract_file'] ? explode(',', $record['contract_file']) : []; $contractFileUrl = []; if (count($contractFile) > 0) { foreach ($contractFile as $file) { $contractFileUrl[] = (new \app\common\service\OssService)->generatePrivateUrl($file); } } $result = [ 'id' => $record['id'], 'order_no' => $record['order_no'], 'pi_no' => $record['pi_no'], 'buyer_id' => $record['buyer_id'], 'buyer_name' => $record['buyer_name'], 'contract_file' => $contractFile, 'contract_file_url' => $contractFileUrl, 'status' => $record['status'], 'status_text' => array_flip(\app\common\service\SysDictService::pluckKeyValueByCode('purchase_status'))[$record['status']], 'remark' => $record['remark'], 'created_at' => date('Y-m-d H:i:s', $record['created_at']), 'updated_at' => date('Y-m-d H:i:s', $record['updated_at']), ]; $record = $result; } unset($record); } return $data; } /** * 详情页数据格式化 * * @param array $data * @return array */ protected function showFormat($data) { $contractFile = $data['contract_file'] ? explode(',', $data['contract_file']) : []; $contractFileUrl = []; if (count($contractFile) > 0) { foreach ($contractFile as $file) { $contractFileUrl[] = (new \app\common\service\OssService)->generatePrivateUrl($file); } } $result = [ 'id' => $data['id'], 'order_no' => $data['order_no'], 'pi_no' => $data['pi_no'], 'buyer_id' => $data['buyer_id'], 'buyer_name' => $data['buyer_name'], 'contract_file' => $contractFile, 'contract_file_url' => $contractFileUrl, 'status' => $data['status'], 'remark' => $data['remark'] ]; $temps = []; if (isset($data['items']) && count($data['items']) > 0) { foreach ($data['items'] as $record) { if (!in_array($record['stockOrder']['id'], array_keys($temps))) { $temps[$record['stockOrder']['id']] = [ 'id' => $record['stockOrder']['id'], 'order_no' => $record['stockOrder']['order_no'], 'salesperson_snapshot' => $record['stockOrder']['salesperson_snapshot'], 'biz_date' => date('Y-m-d', $record['stockOrder']['biz_date']) ]; } $temps[$record['stockOrder']['id']]['stock_order_items'][] =[ 'id' => $record['stockOrderItems']['id'], 'model_snapshot' => $record['stockOrderItems']['model_snapshot'], 'unique_id' => $record['stockOrderItems']['unique_id'], ]; } } $result['stock_order'] = array_values($temps); return $result; } /** * 前置查询处理 * * @param Request $request * @return array */ public function preQueryData(Request $request) { try { $data = $this->service->preQueryData($request->all()); return $this->success($data); } catch (\Throwable $e) { return $this->error($e->getMessage()); } } /** * 重提 * * @param Request $request * @return mixed */ public function resubmit(Request $request) { try { $raw = $this->service->serviceResubmit($request, $request->all()); return $this->success($raw); } catch (\Throwable $e) { return $this->error($e->getMessage()); } } }