diff --git a/admin/controllers/base/FinanceController.php b/admin/controllers/base/FinanceController.php index e5bdd42..7c0187b 100644 --- a/admin/controllers/base/FinanceController.php +++ b/admin/controllers/base/FinanceController.php @@ -544,54 +544,53 @@ class FinanceController extends BaseAdminController */ public function actionSaleMoney() { + $get = \Yii::$app->request->get(); $admin = \Yii::$app->user->identity; $role = $admin->role; $timeType = \Yii::$app->request->get('time_type'); - $month = []; - $week = []; - $day = []; - switch ($timeType) { - case 1: - $startTime = strtotime(date('Y-m-1 00:00:00')); - $endTime = strtotime(date('Y-m-d H:i:s')); - $week = $this->getWeekList($startTime, $endTime); - $day = $this->getDayList($startTime, $endTime); - break; - case 2: - $startTime = strtotime(date('Y-1-1 00:00:00')); - $endTime = strtotime(date('Y-m-d H:i:s')); - $month = $this->getMonthsList($startTime, $endTime); - break; - case 3: - $thisYear = date('Y'); - $lastYear = $thisYear - 1; - $startTime = strtotime($lastYear . '-01-01 00:00:00'); - $endTime = strtotime($lastYear . '-12-31 23:59:59'); - $month = $this->getMonthsList($startTime, $endTime); - break; - case 4: - $startTime = strtotime('2023-01-01 00:00:00'); - $endTime = time(); - $month = $this->getMonthsList($startTime, $endTime); - break; - default: - throw new Exception('参数错误'); + $startTime = strtotime($get['start_time']. ' 00:00:00'); + $endTime = strtotime($get['end_time']. ' 23:59:59'); + $day = $this->getDayList($startTime, $endTime); + $month = $this->getMonthsList($startTime, $endTime); + if (count($day) > 60) { + $day = []; } +// switch ($timeType) { +// case 1: +// $startTime = strtotime(date('Y-m-1 00:00:00')); +// $endTime = strtotime(date('Y-m-d H:i:s')); +// $week = $this->getWeekList($startTime, $endTime); +// $day = $this->getDayList($startTime, $endTime); +// break; +// case 2: +// $startTime = strtotime(date('Y-1-1 00:00:00')); +// $endTime = strtotime(date('Y-m-d H:i:s')); +// $month = $this->getMonthsList($startTime, $endTime); +// break; +// case 3: +// $thisYear = date('Y'); +// $lastYear = $thisYear - 1; +// $startTime = strtotime($lastYear . '-01-01 00:00:00'); +// $endTime = strtotime($lastYear . '-12-31 23:59:59'); +// $month = $this->getMonthsList($startTime, $endTime); +// break; +// case 4: +// $startTime = strtotime('2023-01-01 00:00:00'); +// $endTime = time(); +// $month = $this->getMonthsList($startTime, $endTime); +// break; +// default: +// throw new Exception('参数错误'); +// } $where = $this->getFinanceWhere($role, $admin); - $result = $this->getSleMoney($startTime, $endTime, $month, $week, $day, $where); + $result = $this->getSleMoney($startTime, $endTime, $month, [], $day, $where); -// $year = date('Y'); -// $week = array_map(function ($v) use($year) { -// return $year.'-第' . $v . '周'; -// }, $week); return [ 'line' => [ -// 'month' => !empty($month) ? $month : $week, - 'month' => !empty($month) ? $month : $day, + 'month' => !empty($day) ? $day : $month, 'sale_money' => $result['sale_money'], 'legend' => $result['line_legend'], -// 'buy_money' => $result['buy_money'], ], 'drug' => [ 'data' => $result['drug_data'] @@ -685,10 +684,7 @@ class FinanceController extends BaseAdminController // 总金额 $totalMoney = 0; // TODO 暂时不统计供货价 -// $buyMoney = []; // 判断获取时间方法 -// $dateStr = !empty($week) ? 'W' : 'Y-m'; -// $dateArr = !empty($week) ? $week : $month; $dateStr = !empty($day) ? 'm-d' : 'Y-m'; $dateArr = !empty($day) ? $day : $month; @@ -696,7 +692,6 @@ class FinanceController extends BaseAdminController $thisMonth = date($dateStr, $v['created_at']); $saleMoney[$thisMonth] = bcadd($saleMoney[$thisMonth] ?? '0', $v['total_price'], 2); $totalMoney = bcadd($totalMoney, $v['total_price'], 2); -// $buyMoney[$thisMonth] = bcadd($buyMoney[$thisMonth]?? '0', $v['total_buy_price'], 3); // 药品 if (!isset($drugSaleMoney[$v['drug_type']])) { @@ -710,16 +705,13 @@ class FinanceController extends BaseAdminController } foreach ($dateArr as $v) { if (!isset($saleMoney[$v])) $saleMoney[$v] = '0.00'; -// if (!isset($buyMoney[$v])) $buyMoney[$v] = '0.00'; } return [ 'sale_money' => $this->getArrValues($saleMoney), -// 'buy_money' => $this->getArrValues($buyMoney), 'total_money' => $totalMoney, 'line_legend' => ['销售金额'], - // 药品类型统计 'drug_data' => $this->getArrValues($drugSaleMoney), ]; } diff --git a/admin/controllers/base/HomeController.php b/admin/controllers/base/HomeController.php index cbf360e..f86e070 100644 --- a/admin/controllers/base/HomeController.php +++ b/admin/controllers/base/HomeController.php @@ -33,17 +33,19 @@ class HomeController extends BaseAdminController */ public function actionHomeCount() { - $storeCount = Store::find()->where(['is_delete' => 0]); - $userCount = User::find(); - $orderCount = ProductOrder::find()->where(['is_pay' => 1]); - $totalPrice = Reconciliation::find()->where(['status' => 1]); - $drugCount = Drug::find(); - $inventoryWarning = DrugStoreDrug::find()->where(['<', 'stock', 100]); - $inventoryWarningByStore = DrugStoreRelations::find()->where(['<', 'stock', 100]); + $get = \Yii::$app->request->get(); + $whereTime = $this->getWhereTime($get['start_time'], $get['end_time']); + $storeCount = Store::find()->where(['is_delete' => 0])->andWhere($whereTime); + $userCount = \common\models\User::find()->where($whereTime); + $orderCount = ProductOrder::find()->where(['is_pay' => 1])->andWhere($whereTime); + $totalPrice = Reconciliation::find()->where(['status' => 1])->andWhere($whereTime); + $drugCount = Drug::find()->where($whereTime); + $inventoryWarning = DrugStoreDrug::find()->where(['<', 'stock', 100])->andWhere($whereTime); + $inventoryWarningByStore = DrugStoreRelations::find()->where(['<', 'stock', 100])->andWhere($whereTime); // 处方订单 - $prescriptionCount = Prescription::find()->where(['status' => 1]); + $prescriptionCount = Prescription::find()->where(['status' => 1])->andWhere($whereTime); // 挂号人数 - $registerCount = Register::find()->where(['in', 'status', [2,3]]); + $registerCount = Register::find()->where(['in', 'status', [2,3]])->andWhere($whereTime); return [ 'store' => intval($storeCount->count()), 'user' => intval($userCount->count()), @@ -66,6 +68,8 @@ class HomeController extends BaseAdminController */ public function actionHomeCountByStore() { + $get = \Yii::$app->request->get(); + $whereTime = $this->getWhereTime($get['start_time'], $get['end_time']); $admin = \Yii::$app->user->identity; $orderCount = ProductOrder::find()->where(['is_pay' => 1]); $totalPrice = Reconciliation::find()->where(['status' => 1]); @@ -105,12 +109,12 @@ class HomeController extends BaseAdminController break; } if (!empty($where)) { - $orderCount->andWhere($where); - $totalPrice->andWhere($where); - $inventoryWarning->andWhere($where); - $drug->where($where); - $registerCount->andWhere($where); - $prescriptionCount->andWhere($where); + $orderCount->andWhere($where)->andWhere($whereTime); + $totalPrice->andWhere($where)->andWhere($whereTime); + $inventoryWarning->andWhere($where)->andWhere($whereTime); + $drug->where($where)->andWhere($whereTime); + $registerCount->andWhere($where)->andWhere($whereTime); + $prescriptionCount->andWhere($where)->andWhere($whereTime); } $totalPriceArr = 0; $totalPriceSum = $totalPrice->select(['total_price'])->asArray()->all(); @@ -129,6 +133,24 @@ class HomeController extends BaseAdminController ]; } + /** + * 获取时间筛选条件 + * @param $startTime + * @param $endTime + * @return array + */ + public function getWhereTime($startTime, $endTime, $field = 'created_at') + { + if (!empty($startTime) && !empty($endTime)) { + $where = ['between', $field, strtotime(date('Y-m-d 00:00:00', strtotime($startTime))), strtotime(date('Y-m-d 23:59:59', strtotime($endTime)))]; + } else { + $time = time(); + $where = ['between', $field, $time - 86400 * 7, $time]; + } + return $where; + + } + /** * 获取销售量Top10的药品 * @return array|ActiveRecord[] @@ -136,11 +158,15 @@ class HomeController extends BaseAdminController */ public function actionTopDrugs() { + $get = \Yii::$app->request->get(); + $whereTime = $this->getWhereTime($get['start_time'], $get['end_time'], 'rec.created_at'); // 通过yii_reconciliation表统计出前10的药品 $query = Reconciliation::find() + ->alias('rec') ->with(['drug' => function ($query) { $query->select(['id', 'drug_name', 'drug_number', 'type', 'image']); }]) + ->where($whereTime) ->select(['drug_id', 'sum(number) as number', 'sum(total_price) as total_price']) ->groupBy('drug_id') ->orderBy(['total_price' => SORT_DESC]) @@ -234,6 +260,7 @@ class HomeController extends BaseAdminController */ public function storeLowStock() { + return []; $selectStore = $this->request->get('store_id'); $query = DrugStoreRelations::find() ->with(['drug' => function ($query) { @@ -294,11 +321,14 @@ class HomeController extends BaseAdminController */ public function actionTopStore() { + $get = \Yii::$app->request->get(); + $whereTime = $this->getWhereTime($get['start_time'], $get['end_time']); return CashAccount::find() ->with(['store' => function ($query) { $query->select(['id', 'name']); }]) ->where(['user_type' => 1]) + ->andWhere($whereTime) ->select(['user_id', 'total_cash']) ->orderBy(['total_cash' => SORT_DESC]) ->limit(5) @@ -323,7 +353,7 @@ class HomeController extends BaseAdminController }, ]) ->where(['between', 'por.created_at', strtotime('-7 day'), time()]) - ->andWhere(['status' => 0]) + ->andWhere(['por.status' => 0]) // ->where(['por.status' => 0]) ->orderBy(['id' => SORT_DESC]) ->asArray(); diff --git a/admin/controllers/store/WareController.php b/admin/controllers/store/WareController.php index d59bc4c..2bb0566 100644 --- a/admin/controllers/store/WareController.php +++ b/admin/controllers/store/WareController.php @@ -12,13 +12,16 @@ use common\models\DrugStoreDrug; use common\models\DrugStoreRelations; use common\models\ExpressCompanies; use common\models\ExpressNos; +use common\models\FundWater; use common\models\Log; use common\models\ProductOrder; use common\models\Store; +use common\services\ExportService; use GuzzleHttp\Client; use moonland\phpexcel\Excel; use yii\db\Exception; use yii\helpers\Json; +use yii\web\Response; use yii\web\UploadedFile; /** @@ -696,6 +699,30 @@ class WareController extends BaseAdminController } + /** + * @doc-name 导出药品价格 + */ + public function actionExportDrugByWareStore() + { + \Yii::$app->response->format = Response::FORMAT_RAW; + $params = \Yii::$app->request->post(); + $parameter['header'] = ['药品ID', '药品名称', '供货价', '建议零售价', '销售价格']; + $parameter['data'] = DrugStoreRelations::inventory($params, \Yii::$app->user->identity->store_id); + ExportService::ExportByCors($parameter); + } + /** + * @doc-name 导出药品价格 + */ + public function actionExportDrugByWare() + { + \Yii::$app->response->format = Response::FORMAT_RAW; + $params = \Yii::$app->request->post(); + $parameter['header'] = ['药品ID', '药品名称', '供货价', '建议零售价']; + $parameter['data'] = DrugStoreDrug::inventory($params, \Yii::$app->user->identity->store_id); + ExportService::ExportByCors($parameter); + } + + /** * @doc-name 仓库药品列表 - 门店 * @doc-param int status 状态1下架2上架 / optional diff --git a/admin/models/forms/drug/ImportForm.php b/admin/models/forms/drug/ImportForm.php index bfd987e..12479ab 100644 --- a/admin/models/forms/drug/ImportForm.php +++ b/admin/models/forms/drug/ImportForm.php @@ -34,7 +34,7 @@ class ImportForm extends BaseModel //首拼 public function shoupin($name) { - return ArrayHelper::shouzimu($name); + return ArrayHelper::shouzimu($name); } //西药导入 @@ -60,25 +60,25 @@ class ImportForm extends BaseModel $model->setAttribute('drug_alias', trim($item['商品名'])); $model->setAttribute('pinyin_simple', (new Pinyin())->abbr(trim($item['药名']))); $model->setAttribute('drug_number', trim($item['编号'])); - $model->setAttribute('bar_code',trim( $item['条形码'])); + $model->setAttribute('bar_code', trim($item['条形码'])); $model->setAttribute('specification', trim($item['规格'])); $model->setAttribute('guozi_no', trim($item['国字准号'])); - $model->setAttribute('status',trim( $item['药品状态'])); + $model->setAttribute('status', trim($item['药品状态'])); $model->setAttribute('function', trim($item['功能主治'])); $model->setAttribute('source', trim($item['厂家'])); $model->setAttribute('status', trim($item['状态'])); $model->setAttribute('is_otc', trim($item['是否处方药'])); $model->setAttribute('time_id', trim($item['服用时间'])); $model->setAttribute('type_id', trim($item['服用方法'])); - $model->setAttribute('frequency_id',trim( $item['使用频率'])); + $model->setAttribute('frequency_id', trim($item['使用频率'])); $model->setAttribute('unit_id', trim($item['用量单位'])); $model->setAttribute('usage', trim($item['用法'])); $model->setAttribute('type', '2'); $model->setAttribute('created_at', time()); if (!$model->save()) { $errorsMsg = array_values($model->getFirstErrors()); - $errors[] = '条形码:' . $item['条形码'] . ',国子准号:' . $item['国字准号'] . '的西药导入失败,原因:保存失败;'.$errorsMsg[0]; - }else{ + $errors[] = '条形码:' . $item['条形码'] . ',国子准号:' . $item['国字准号'] . '的西药导入失败,原因:保存失败;' . $errorsMsg[0]; + } else { $success[] = '条形码:' . $item['条形码'] . ',国子准号:' . $item['国字准号'] . '的西药导入成功'; } } else { @@ -158,19 +158,19 @@ class ImportForm extends BaseModel if (!$drug) { $model = new Drug(); $model->setAttribute('drug_name', trim($item['药名'])); - $model->setAttribute('pinyin_simple',(new Pinyin())->abbr(trim($item['药名']))); + $model->setAttribute('pinyin_simple', (new Pinyin())->abbr(trim($item['药名']))); $model->setAttribute('drug_number', trim($item['编号'])); $model->setAttribute('drug_alias', trim($item['别名'])); $model->setAttribute('place', trim($item['产地'])); - $model->setAttribute('source',trim( $item['厂家'])); + $model->setAttribute('source', trim($item['厂家'])); $model->setAttribute('status', trim($item['状态'])); $model->setAttribute('is_otc', trim($item['是否处方药'])); $model->setAttribute('type', '3'); $model->setAttribute('created_at', time()); if (!$model->save()) { $errorsMsg = array_values($model->getFirstErrors()); - $errors[] = '编号:' . $item['编号'] . '导入失败,原因:保存失败;'.$errorsMsg[0]; - }else{ + $errors[] = '编号:' . $item['编号'] . '导入失败,原因:保存失败;' . $errorsMsg[0]; + } else { $success[] = '编号:' . $item['编号'] . '的颗粒配方导入成功'; } } else { @@ -208,18 +208,18 @@ class ImportForm extends BaseModel ])->one(); if (!$drug) { $model = new Drug(); - $model->setAttribute('drug_name',trim( $item['药名'])); + $model->setAttribute('drug_name', trim($item['药名'])); $model->setAttribute('drug_alias', trim($item['别名'])); $model->setAttribute('pinyin_simple', (new Pinyin())->abbr(trim($item['药名']))); $model->setAttribute('drug_number', trim($item['编号'])); $model->setAttribute('bar_code', trim($item['条形码'])); $model->setAttribute('specification', trim($item['规格'])); - $model->setAttribute('guozi_no',trim( $item['国字准号'])); + $model->setAttribute('guozi_no', trim($item['国字准号'])); $model->setAttribute('function', trim($item['功能主治'])); - $model->setAttribute('source',trim( $item['厂家'])); + $model->setAttribute('source', trim($item['厂家'])); $model->setAttribute('status', trim($item['状态'])); - $model->setAttribute('is_otc',trim( $item['是否处方药'])); - $model->setAttribute('time_id',trim( $item['服用时间'])); + $model->setAttribute('is_otc', trim($item['是否处方药'])); + $model->setAttribute('time_id', trim($item['服用时间'])); $model->setAttribute('type_id', trim($item['服用方法'])); $model->setAttribute('frequency_id', trim($item['使用频率'])); $model->setAttribute('unit_id', trim($item['用量单位'])); @@ -228,8 +228,8 @@ class ImportForm extends BaseModel $model->setAttribute('created_at', time()); if (!$model->save()) { $errorsMsg = array_values($model->getFirstErrors()); - $errors[] = '条形码:' . $item['条形码'] . ',国子准号:' . $item['国字准号'] . '的中成药导入失败,原因:保存失败;'.$errorsMsg[0]; - }else{ + $errors[] = '条形码:' . $item['条形码'] . ',国子准号:' . $item['国字准号'] . '的中成药导入失败,原因:保存失败;' . $errorsMsg[0]; + } else { $success[] = '条形码:' . $item['条形码'] . ',国子准号:' . $item['国字准号'] . '的中成药导入成功'; } } else { @@ -317,7 +317,7 @@ class ImportForm extends BaseModel if (empty($data)) { throw new Exception('导入数据为空'); } else { - $t=\Yii::$app->db->beginTransaction(); + $t = \Yii::$app->db->beginTransaction(); try { foreach ($data as $item) { $DrugStoreDrug = DrugStoreDrug::find()->where(['drug_id' => trim($item['药品ID']), 'type' => trim($item['类别'])])->one(); @@ -332,15 +332,15 @@ class ImportForm extends BaseModel $model->setAttribute('stock', trim($item['库存'])); if (!$model->save()) { $errorsMsg = array_values($model->getFirstErrors()); - $errors[] = $item['药品ID'] . '导入失败,原因:保存失败;'.$errorsMsg[0]; - }else{ + $errors[] = $item['药品ID'] . '导入失败,原因:保存失败;' . $errorsMsg[0]; + } else { $success[] = $item['药品ID'] . '导入成功!'; } } else { $errors[] = $item['药品ID'] . '导入失败,原因:重复导入'; } } - $t->commit(); + $t->commit(); } catch (\Exception $e) { $t->rollBack(); $errors[] = $e->getMessage(); @@ -354,7 +354,7 @@ class ImportForm extends BaseModel if (empty($data)) { throw new Exception('导入数据为空'); } else { - $t=\Yii::$app->db->beginTransaction(); + $t = \Yii::$app->db->beginTransaction(); try { foreach ($data as $item) { if (empty(trim($item['药品ID']))) { @@ -362,27 +362,32 @@ class ImportForm extends BaseModel continue; } if (empty(trim($item['销售价格']))) { - $errors[] = $item['药品ID'] . '导入失败,原因:药品价格为空【'. $item['销售价格'].'】'; + $errors[] = $item['药品ID'] . '导入失败,原因:药品价格为空【' . $item['销售价格'] . '】'; continue; } $DrugStoreDrug = DrugStoreDrug::find()->where(['drug_id' => trim($item['药品ID'])])->one(); if ($DrugStoreDrug) { - $DrugStoreDrug->setAttribute('drug_id', trim($item['药品ID'])); - $DrugStoreDrug->setAttribute('market_price', trim($item['销售价格'])); - $DrugStoreDrug->updated_at = time(); + if ($DrugStoreDrug->price == trim($item['销售价格']) && $DrugStoreDrug->market_price == trim($item['供货价'])) { + $errors[] = $item['药品ID'] . '导入失败,原因:价格未改变'; + } else { + $DrugStoreDrug->setAttribute('market_price', trim($item['供货价'])); + $DrugStoreDrug->setAttribute('price', trim($item['建议零售价'])); + $DrugStoreDrug->updated_at = time(); - if (!$DrugStoreDrug->save()) { - $errorsMsg = array_values($DrugStoreDrug->getFirstErrors()); - $errors[] = $item['药品ID'] . '导入失败,原因:保存失败;'.$errorsMsg[0]; - }else{ - $success[] = $item['药品ID'] . '导入成功!'; + if (!$DrugStoreDrug->save()) { + $errorsMsg = array_values($DrugStoreDrug->getFirstErrors()); + $errors[] = $item['药品ID'] . '导入失败,原因:保存失败;' . $errorsMsg[0]; + } else { + $success[] = $item['药品ID'] . '导入成功!'; + } } + } else { $errors[] = $item['药品ID'] . '导入失败,原因:未找到对应药品'; } } - $t->commit(); + $t->commit(); } catch (\Exception $e) { $t->rollBack(); $errors[] = $e->getMessage(); @@ -396,27 +401,30 @@ class ImportForm extends BaseModel if (empty($data)) { throw new Exception('导入数据为空'); } else { - $t=\Yii::$app->db->beginTransaction(); + $t = \Yii::$app->db->beginTransaction(); try { foreach ($data as $item) { $DrugStoreDrug = DrugStoreRelations::find()->where(['drug_id' => trim($item['药品ID']), 'store_id' => $storeId])->one(); if ($DrugStoreDrug) { - $DrugStoreDrug->setAttribute('drug_id', trim($item['药品ID'])); - $DrugStoreDrug->setAttribute('price', trim($item['销售价格'])); - $DrugStoreDrug->updated_at = date('Y-m-d H:i:s'); + if ($DrugStoreDrug->price == trim($item['销售价格'])) { + $errors[] = $item['药品ID'] . '导入失败,原因:价格未改变'; + } else { + $DrugStoreDrug->setAttribute('price', trim($item['销售价格'])); + $DrugStoreDrug->updated_at = date('Y-m-d H:i:s'); - if (!$DrugStoreDrug->save()) { - $errorsMsg = array_values($DrugStoreDrug->getFirstErrors()); - $errors[] = $item['药品ID'] . '导入失败,原因:保存失败;'.$errorsMsg[0]; - }else{ - $success[] = $item['药品ID'] . '导入成功!'; + if (!$DrugStoreDrug->save()) { + $errorsMsg = array_values($DrugStoreDrug->getFirstErrors()); + $errors[] = $item['药品ID'] . '导入失败,原因:保存失败;' . $errorsMsg[0]; + } else { + $success[] = $item['药品ID'] . '导入成功!'; + } } } else { $errors[] = $item['药品ID'] . '导入失败,原因:未找到对应药品'; } } - $t->commit(); + $t->commit(); } catch (\Exception $e) { $t->rollBack(); $errors[] = $e->getMessage(); diff --git a/common/models/DrugStoreDrug.php b/common/models/DrugStoreDrug.php index 4553225..3e580b3 100644 --- a/common/models/DrugStoreDrug.php +++ b/common/models/DrugStoreDrug.php @@ -31,4 +31,19 @@ class DrugStoreDrug extends \common\modelsgii\DrugStoreDrug { return $this->hasOne(Drug::class,['id' => 'drug_id']); } + + + public static function inventory($params, $storeId) + { + $list = self::find()->with(['drug'])->asArray()->all(); + $result = []; + foreach ($list as $k => $v) { + $result[$k]['drug_id'] = $v['drug_id']; + $result[$k]['drug_name'] = $v['drug']['drug_name']; + $result[$k]['market_price'] = $v['market_price']; + $result[$k]['price'] = $v['price']; + } + return $result; + + } } diff --git a/common/models/DrugStoreRelations.php b/common/models/DrugStoreRelations.php index 825564a..eb75bd0 100644 --- a/common/models/DrugStoreRelations.php +++ b/common/models/DrugStoreRelations.php @@ -26,4 +26,22 @@ class DrugStoreRelations extends \common\modelsgii\DrugStoreRelations { return $this->hasOne(Store::class,['id' => 'store_id']); } + + public static function inventory($params, $storeId) + { + $list = self::find()->with(['drugStoreDrug', 'drug'])->where(['store_id' => $storeId])->select([ + 'drug_id', + 'price', + ])->asArray()->all(); + $result = []; + foreach ($list as $k => $v) { + $result[$k]['drug_id'] = $v['drug_id']; + $result[$k]['drug_name'] = $v['drug']['drug_name']; + $result[$k]['market_price'] = $v['drugStoreDrug']['market_price']; + $result[$k]['test_price'] = $v['drugStoreDrug']['price']; + $result[$k]['price'] = $v['price']; + } + return $result; + + } }