Commit 248cf850 by 赵增煜
parents 8a44edf3 a9160242
...@@ -2,48 +2,59 @@ ...@@ -2,48 +2,59 @@
namespace App\Admin\Extensions\ToolBar\Forms; namespace App\Admin\Extensions\ToolBar\Forms;
use App\Models\DrugModel;
use Dcat\Admin\Http\JsonResponse; use Dcat\Admin\Http\JsonResponse;
use Dcat\Admin\Widgets\Form; use Dcat\Admin\Widgets\Form;
use Dcat\EasyExcel\Excel; use Dcat\EasyExcel\Excel;
use Dcat\EasyExcel\Support\SheetCollection;
use Exception; use Exception;
class DrugImportForm extends Form class DrugImportForm extends Form
{ {
const IS_MAP = [
'Y' => 1,
'N' => 0,
];
/** /**
* 处理表单提交逻辑. * 处理表单提交逻辑.
*/ */
public function handle(array $input): JsonResponse public function handle(array $input): JsonResponse
{ {
// 表单参数 // 表单参数
// $file = $input['import_file']; $file = $input['import_file'];
// $remark = $input['remark'] ?? ''; $filePath = storage_path('app/'.$file);
// $filePath = storage_path('uploads/'.$file); try {
// 每100行数据为一批数据进行读取
// try { $chunkSize = 10;
// $rows = Excel::import($filePath)->first()->toArray(); $successNum = 0;
// $context = ''; $failNum = 0;
// foreach ($rows as $row) { Excel::import($filePath)->first()->chunk($chunkSize, function (SheetCollection $collection) use ($successNum) {
// $orderId = $row['订单号'] ?? ''; // 此处的数组下标依然是excel表中数据行的行号
// $deliveryCode = $row['快递公司'] ?? ''; $rows = $collection->toArray();
// $deliveryNo = $row['快递单号'] ?? ''; foreach ($rows as $row) {
// if (! $orderId || ! $deliveryCode || ! $deliveryNo) { $drugModel = new DrugModel;
// continue; $drugModel->name = $row['药品名称'];
// } $drugModel->code = '';
// $rowData = trim($orderId).','.trim($deliveryNo).','.trim($deliveryCode); $drugModel->standard_code = $row['本位码'];
// $context .= $rowData."\n"; // 拼接数据并加上换行符 $drugModel->unit = $row['单位'];
// } $drugModel->spec = $row['规格'];
// $context = rtrim($context, "\n"); $drugModel->dosage_form = $row['剂型'];
// $deliveryImport = new ShopDeliveryImport(); $drugModel->factory = $row['生产厂家'];
// $deliveryImport->context = $context; $drugModel->approval_no = $row['批准文号'];
// $deliveryImport->remark = $remark; $drugModel->is_rx = self::IS_MAP[$row['是否处方药']];
// if ($deliveryImport->save()) { $drugModel->is_si = self::IS_MAP[$row['是否医保药品']];
// $id = $deliveryImport->id; $drugModel->product_id = $row['君元ID'] ?? 0;
// ShopService::deliveryImportNotice($id); if ($drugModel->save()) {
// } $successNum++;
// $return = $this->response()->success('导入成功')->refresh(); }
// } catch (Exception $e) { }
// $return = $this->response()->error('导入失败:'.$e->getMessage()); });
// } $return = $this->response()->success("导入成功{$successNum}条")->refresh();
unlink($filePath);
} catch (Exception $e) {
$return = $this->response()->error("导入失败{$failNum}条:".$e->getMessage());
}
return $return; return $return;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment