refactor(xlsx): 优化多个报表的导出功能
- 新增创建导出目录的逻辑,确保目录存在 - 修改文件保存路径,使用动态创建的目录 - 优化 URL 生成逻辑,使其与实际文件路径一致 - 引入异常处理,当目录创建失败时抛出异常
This commit is contained in:
parent
66dbfd5908
commit
99730d82ad
@ -8,6 +8,8 @@ use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|||||||
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Border;
|
use PhpOffice\PhpSpreadsheet\Style\Border;
|
||||||
|
use Webman\Exception\BusinessException;
|
||||||
|
|
||||||
class Beforehand
|
class Beforehand
|
||||||
{
|
{
|
||||||
public function export($data, $system_store)
|
public function export($data, $system_store)
|
||||||
@ -183,8 +185,15 @@ class Beforehand
|
|||||||
// 保存文件到 public 下
|
// 保存文件到 public 下
|
||||||
|
|
||||||
$writer = new Xlsx($spreadsheet);
|
$writer = new Xlsx($spreadsheet);
|
||||||
|
$dir=public_path().'/export/'.date('Y-m');
|
||||||
|
if (!file_exists($dir)) {
|
||||||
|
// 尝试创建目录
|
||||||
|
if (!mkdir($dir)) {
|
||||||
|
throw new BusinessException('创建目录失败:/export/' . date('Y-m'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$file_path = $dir. '/' . $order['info'].'出库单-'.date('Y-m-d H:i') . '.xlsx';
|
||||||
$url = '/export/'.date('Y-m'). '/' . $order['info'].'出库单-'.date('Y-m-d H:i') . '.xlsx';
|
$url = '/export/'.date('Y-m'). '/' . $order['info'].'出库单-'.date('Y-m-d H:i') . '.xlsx';
|
||||||
$file_path = public_path() . $url;
|
|
||||||
// 保存文件到 public 下
|
// 保存文件到 public 下
|
||||||
$writer->save($file_path);
|
$writer->save($file_path);
|
||||||
return getenv('APP_URL').$url;
|
return getenv('APP_URL').$url;
|
||||||
|
@ -6,6 +6,7 @@ use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|||||||
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Border;
|
use PhpOffice\PhpSpreadsheet\Style\Border;
|
||||||
|
use Webman\Exception\BusinessException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单分配
|
* 订单分配
|
||||||
@ -161,8 +162,15 @@ class OrderAllocation
|
|||||||
// 保存文件到 public 下
|
// 保存文件到 public 下
|
||||||
|
|
||||||
$writer = new Xlsx($spreadsheet);
|
$writer = new Xlsx($spreadsheet);
|
||||||
|
$dir=public_path().'/export/'.date('Y-m');
|
||||||
|
if (!file_exists($dir)) {
|
||||||
|
// 尝试创建目录
|
||||||
|
if (!mkdir($dir)) {
|
||||||
|
throw new BusinessException('创建目录失败:/export/' . date('Y-m'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$file_path = $dir. '/' .'订单分配-'.date('Y-m-d H:i') . '.xlsx';
|
||||||
$url = '/export/'.date('Y-m'). '/' .'订单分配-'.date('Y-m-d H:i') . '.xlsx';
|
$url = '/export/'.date('Y-m'). '/' .'订单分配-'.date('Y-m-d H:i') . '.xlsx';
|
||||||
$file_path = public_path() . $url;
|
|
||||||
// 保存文件到 public 下
|
// 保存文件到 public 下
|
||||||
$writer->save($file_path);
|
$writer->save($file_path);
|
||||||
return getenv('APP_URL').$url;
|
return getenv('APP_URL').$url;
|
||||||
|
@ -6,6 +6,7 @@ use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|||||||
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Border;
|
use PhpOffice\PhpSpreadsheet\Style\Border;
|
||||||
|
use Webman\Exception\BusinessException;
|
||||||
|
|
||||||
class OrderDetail
|
class OrderDetail
|
||||||
{
|
{
|
||||||
@ -148,8 +149,15 @@ class OrderDetail
|
|||||||
// 保存文件到 public 下
|
// 保存文件到 public 下
|
||||||
|
|
||||||
$writer = new Xlsx($spreadsheet);
|
$writer = new Xlsx($spreadsheet);
|
||||||
|
$dir=public_path().'/export/'.date('Y-m');
|
||||||
|
if (!file_exists($dir)) {
|
||||||
|
// 尝试创建目录
|
||||||
|
if (!mkdir($dir)) {
|
||||||
|
throw new BusinessException('创建目录失败:/export/' . date('Y-m'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$file_path = $dir . '/' . $system_store.'出库单-'.date('Y-m-d H:i') . '.xlsx';
|
||||||
$url = '/export/'.date('Y-m') . '/' . $system_store.'出库单-'.date('Y-m-d H:i') . '.xlsx';
|
$url = '/export/'.date('Y-m') . '/' . $system_store.'出库单-'.date('Y-m-d H:i') . '.xlsx';
|
||||||
$file_path = public_path() . $url;
|
|
||||||
// 保存文件到 public 下
|
// 保存文件到 public 下
|
||||||
$writer->save($file_path);
|
$writer->save($file_path);
|
||||||
return getenv('APP_URL').$url;
|
return getenv('APP_URL').$url;
|
||||||
|
@ -6,6 +6,7 @@ use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|||||||
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Border;
|
use PhpOffice\PhpSpreadsheet\Style\Border;
|
||||||
|
use Webman\Exception\BusinessException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 采购信息
|
* 采购信息
|
||||||
@ -124,8 +125,15 @@ class OrderInfo
|
|||||||
// 保存文件到 public 下
|
// 保存文件到 public 下
|
||||||
|
|
||||||
$writer = new Xlsx($spreadsheet);
|
$writer = new Xlsx($spreadsheet);
|
||||||
|
$dir=public_path().'/export/'.date('Y-m');
|
||||||
|
if (!file_exists($dir)) {
|
||||||
|
// 尝试创建目录
|
||||||
|
if (!mkdir($dir)) {
|
||||||
|
throw new BusinessException('创建目录失败:/export/' . date('Y-m'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$file_path = $dir . '/' .'采购信息-'.date('Y-m-d H:i') . '.xlsx';
|
||||||
$url = '/export/'.date('Y-m') . '/' .'采购信息-'.date('Y-m-d H:i') . '.xlsx';
|
$url = '/export/'.date('Y-m') . '/' .'采购信息-'.date('Y-m-d H:i') . '.xlsx';
|
||||||
$file_path = public_path() . $url;
|
|
||||||
// 保存文件到 public 下
|
// 保存文件到 public 下
|
||||||
$writer->save($file_path);
|
$writer->save($file_path);
|
||||||
return getenv('APP_URL').$url;
|
return getenv('APP_URL').$url;
|
||||||
|
@ -6,6 +6,7 @@ use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|||||||
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Border;
|
use PhpOffice\PhpSpreadsheet\Style\Border;
|
||||||
|
use Webman\Exception\BusinessException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单清单
|
* 订单清单
|
||||||
@ -159,8 +160,15 @@ class OrderList
|
|||||||
// 保存文件到 public 下
|
// 保存文件到 public 下
|
||||||
|
|
||||||
$writer = new Xlsx($spreadsheet);
|
$writer = new Xlsx($spreadsheet);
|
||||||
|
$dir=public_path().'/export/'.date('Y-m');
|
||||||
|
if (!file_exists($dir)) {
|
||||||
|
// 尝试创建目录
|
||||||
|
if (!mkdir($dir)) {
|
||||||
|
throw new BusinessException('创建目录失败:/export/' . date('Y-m'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$file_path = $dir. '/' .'供投里海农特产品下单清单-'.date('Y-m-d H:i') . '.xlsx';
|
||||||
$url = '/export/' . date('Y-m') . '/' .'供投里海农特产品下单清单-'.date('Y-m-d H:i') . '.xlsx';
|
$url = '/export/' . date('Y-m') . '/' .'供投里海农特产品下单清单-'.date('Y-m-d H:i') . '.xlsx';
|
||||||
$file_path = public_path() . $url;
|
|
||||||
// 保存文件到 public 下
|
// 保存文件到 public 下
|
||||||
$writer->save($file_path);
|
$writer->save($file_path);
|
||||||
return getenv('APP_URL').$url;
|
return getenv('APP_URL').$url;
|
||||||
|
@ -6,6 +6,7 @@ use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|||||||
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Border;
|
use PhpOffice\PhpSpreadsheet\Style\Border;
|
||||||
|
use Webman\Exception\BusinessException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单出库
|
* 订单出库
|
||||||
@ -141,8 +142,15 @@ class OrderOutbound
|
|||||||
// 保存文件到 public 下
|
// 保存文件到 public 下
|
||||||
|
|
||||||
$writer = new Xlsx($spreadsheet);
|
$writer = new Xlsx($spreadsheet);
|
||||||
|
$dir=public_path().'/export/'.date('Y-m');
|
||||||
|
if (!file_exists($dir)) {
|
||||||
|
// 尝试创建目录
|
||||||
|
if (!mkdir($dir)) {
|
||||||
|
throw new BusinessException('创建目录失败:/export/' . date('Y-m'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$file_path = $dir . '/' .$title2.date('Y-m-d H:i') . '.xlsx';
|
||||||
$url = '/export/' . date('Y-m') . '/' .$title2.date('Y-m-d H:i') . '.xlsx';
|
$url = '/export/' . date('Y-m') . '/' .$title2.date('Y-m-d H:i') . '.xlsx';
|
||||||
$file_path = public_path() . $url;
|
|
||||||
// 保存文件到 public 下
|
// 保存文件到 public 下
|
||||||
$writer->save($file_path);
|
$writer->save($file_path);
|
||||||
return getenv('APP_URL').$url;
|
return getenv('APP_URL').$url;
|
||||||
|
@ -6,6 +6,7 @@ use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|||||||
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Border;
|
use PhpOffice\PhpSpreadsheet\Style\Border;
|
||||||
|
use Webman\Exception\BusinessException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 财务订单出库
|
* 财务订单出库
|
||||||
@ -143,8 +144,15 @@ class OrderOutboundFinance
|
|||||||
// 保存文件到 public 下
|
// 保存文件到 public 下
|
||||||
|
|
||||||
$writer = new Xlsx($spreadsheet);
|
$writer = new Xlsx($spreadsheet);
|
||||||
|
$dir=public_path().'/export/'.date('Y-m');
|
||||||
|
if (!file_exists($dir)) {
|
||||||
|
// 尝试创建目录
|
||||||
|
if (!mkdir($dir)) {
|
||||||
|
throw new BusinessException('创建目录失败:/export/' . date('Y-m'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$file_path = $dir . '/' .$title2.date('Y-m-d H:i') . '.xlsx';
|
||||||
$url = '/export/' . date('Y-m') . '/' .$title2.date('Y-m-d H:i') . '.xlsx';
|
$url = '/export/' . date('Y-m') . '/' .$title2.date('Y-m-d H:i') . '.xlsx';
|
||||||
$file_path = public_path() . $url;
|
|
||||||
// 保存文件到 public 下
|
// 保存文件到 public 下
|
||||||
$writer->save($file_path);
|
$writer->save($file_path);
|
||||||
return getenv('APP_URL').$url;
|
return getenv('APP_URL').$url;
|
||||||
|
@ -6,6 +6,7 @@ use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|||||||
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Border;
|
use PhpOffice\PhpSpreadsheet\Style\Border;
|
||||||
|
use Webman\Exception\BusinessException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单出库
|
* 订单出库
|
||||||
@ -149,8 +150,15 @@ class OrderSupplyOutbound
|
|||||||
// 保存文件到 public 下
|
// 保存文件到 public 下
|
||||||
|
|
||||||
$writer = new Xlsx($spreadsheet);
|
$writer = new Xlsx($spreadsheet);
|
||||||
|
$dir=public_path().'/export/'.date('Y-m');
|
||||||
|
if (!file_exists($dir)) {
|
||||||
|
// 尝试创建目录
|
||||||
|
if (!mkdir($dir)) {
|
||||||
|
throw new BusinessException('创建目录失败:/export/' . date('Y-m'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$file_path = $dir . '/' .$title2.date('Y-m-d H:i') . '.xlsx';
|
||||||
$url = '/export/' . date('Y-m') . '/' .$title2.date('Y-m-d H:i') . '.xlsx';
|
$url = '/export/' . date('Y-m') . '/' .$title2.date('Y-m-d H:i') . '.xlsx';
|
||||||
$file_path = public_path() . $url;
|
|
||||||
// 保存文件到 public 下
|
// 保存文件到 public 下
|
||||||
$writer->save($file_path);
|
$writer->save($file_path);
|
||||||
return getenv('APP_URL').$url;
|
return getenv('APP_URL').$url;
|
||||||
|
@ -6,6 +6,7 @@ use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|||||||
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Border;
|
use PhpOffice\PhpSpreadsheet\Style\Border;
|
||||||
|
use Webman\Exception\BusinessException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单退供应商
|
* 订单退供应商
|
||||||
@ -111,8 +112,15 @@ class ReturnSupplier
|
|||||||
// 保存文件到 public 下
|
// 保存文件到 public 下
|
||||||
|
|
||||||
$writer = new Xlsx($spreadsheet);
|
$writer = new Xlsx($spreadsheet);
|
||||||
|
$dir=public_path().'/export/'.date('Y-m');
|
||||||
|
if (!file_exists($dir)) {
|
||||||
|
// 尝试创建目录
|
||||||
|
if (!mkdir($dir)) {
|
||||||
|
throw new BusinessException('创建目录失败:/export/' . date('Y-m'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$file_path = $dir . '/' .'供投里海农特产品退供应商结算单-'.date('Y-m-d H:i') . '.xlsx';
|
||||||
$url = '/export/' . date('Y-m') . '/' .'供投里海农特产品退供应商结算单-'.date('Y-m-d H:i') . '.xlsx';
|
$url = '/export/' . date('Y-m') . '/' .'供投里海农特产品退供应商结算单-'.date('Y-m-d H:i') . '.xlsx';
|
||||||
$file_path = public_path() . $url;
|
|
||||||
// 保存文件到 public 下
|
// 保存文件到 public 下
|
||||||
$writer->save($file_path);
|
$writer->save($file_path);
|
||||||
return getenv('APP_URL').$url;
|
return getenv('APP_URL').$url;
|
||||||
|
@ -6,6 +6,7 @@ use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|||||||
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Border;
|
use PhpOffice\PhpSpreadsheet\Style\Border;
|
||||||
|
use Webman\Exception\BusinessException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单退库
|
* 订单退库
|
||||||
@ -127,8 +128,15 @@ class StockReturn
|
|||||||
// 保存文件到 public 下
|
// 保存文件到 public 下
|
||||||
|
|
||||||
$writer = new Xlsx($spreadsheet);
|
$writer = new Xlsx($spreadsheet);
|
||||||
|
$dir=public_path().'/export/'.date('Y-m');
|
||||||
|
if (!file_exists($dir)) {
|
||||||
|
// 尝试创建目录
|
||||||
|
if (!mkdir($dir)) {
|
||||||
|
throw new BusinessException('创建目录失败:/export/' . date('Y-m'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$file_path = $dir . '/' .'供投里海农特产品退库结算单-'.date('Y-m-d H:i') . '.xlsx';
|
||||||
$url = '/export/' . date('Y-m') . '/' .'供投里海农特产品退库结算单-'.date('Y-m-d H:i') . '.xlsx';
|
$url = '/export/' . date('Y-m') . '/' .'供投里海农特产品退库结算单-'.date('Y-m-d H:i') . '.xlsx';
|
||||||
$file_path = public_path() . $url;
|
|
||||||
// 保存文件到 public 下
|
// 保存文件到 public 下
|
||||||
$writer->save($file_path);
|
$writer->save($file_path);
|
||||||
return getenv('APP_URL').$url;
|
return getenv('APP_URL').$url;
|
||||||
|
@ -6,6 +6,7 @@ use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|||||||
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
||||||
use PhpOffice\PhpSpreadsheet\Style\Border;
|
use PhpOffice\PhpSpreadsheet\Style\Border;
|
||||||
|
use Webman\Exception\BusinessException;
|
||||||
|
|
||||||
class WarehouseOrdeRentry
|
class WarehouseOrdeRentry
|
||||||
{
|
{
|
||||||
@ -120,8 +121,15 @@ class WarehouseOrdeRentry
|
|||||||
// 保存文件到 public 下
|
// 保存文件到 public 下
|
||||||
|
|
||||||
$writer = new Xlsx($spreadsheet);
|
$writer = new Xlsx($spreadsheet);
|
||||||
|
$dir=public_path().'/export/'.date('Y-m');
|
||||||
|
if (!file_exists($dir)) {
|
||||||
|
// 尝试创建目录
|
||||||
|
if (!mkdir($dir)) {
|
||||||
|
throw new BusinessException('创建目录失败:/export/' . date('Y-m'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$file_path = $dir . '/' .$this->company.'公司入库单-'.date('Y-m-d H:i') . '.xlsx';
|
||||||
$url = '/export/' . date('Y-m') . '/' .$this->company.'公司入库单-'.date('Y-m-d H:i') . '.xlsx';
|
$url = '/export/' . date('Y-m') . '/' .$this->company.'公司入库单-'.date('Y-m-d H:i') . '.xlsx';
|
||||||
$file_path = public_path() . $url;
|
|
||||||
// 保存文件到 public 下
|
// 保存文件到 public 下
|
||||||
$writer->save($file_path);
|
$writer->save($file_path);
|
||||||
return getenv('APP_URL').$url;
|
return getenv('APP_URL').$url;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user