Commit 269618f8 authored by zhuwei's avatar zhuwei

1

parent ba20c0db
......@@ -582,14 +582,22 @@ class CostParameter extends Basic
{
header('Access-Control-Allow-Origin:*');
set_time_limit(0);
$params = $this->params;
if(!checkTimeData($params['setting_date'])){
return $this->response("101", '非法时间');
}
$file = $_FILES['file'];
$type = request()->param('type');
$uploadFileService = new UploadFileService();
$uploadResult = $uploadFileService->upload($file, $type, 15000000, ['xls', 'xlsx']);
if ($uploadResult["code"] == 200) {
$path = $_FILES['excel']['tmp_name'];
$result = $this->saveExcelData($path);
return $this->response("200", "excel上传成功", $uploadResult["msg"]);
$result = $this->saveExcelData($path,$params['setting_date']);
if ($result["code"] == 200) {
return $this->response("200", "excel导入成功");
} else {
return $this->response("101", $result["msg"]);
}
} else {
return $this->response("101", $uploadResult["msg"]);
}
......@@ -599,13 +607,13 @@ class CostParameter extends Basic
* 保存数据
* @param $path
* @param $setting_date
* @return bool
* @return array
*/
public function saveExcelData($path,$setting_date)
{
$list = $this->readExcel($path);
if(!$list)
return false;
return ["code"=>101,"msg"=> "空excel"];
foreach ($list as $k => $v) {
$f_params['c.store_id'] = $v['id'];
$f_params['c.setting_date'] = $setting_date;
......@@ -635,16 +643,15 @@ class CostParameter extends Basic
$this->saveStoreData($save_params);
}
}
return true;
}
return ["code"=>200,"msg"=> "成功"];
}
/**
* 门店考勤列表-批量上传
* @param $file_path
* @return string
* @return array
*/
public function readExcel($file_path)
{
......@@ -654,18 +661,14 @@ class CostParameter extends Basic
try {
$spreadsheet = $reader->load($file_path);
} catch (\Exception $exception) {
return "找不到文件路径";
return ["code"=>101,"msg"=> "找不到文件路径"];
}
$sheet = $spreadsheet->getActiveSheet();
$highestRow = $sheet->getHighestRow(); // 最大行数
$highestColumn = $sheet->getHighestColumn(); // 最大列数
$highestColumn = "AB";
// 把下标变成数字,如A-Z分别对应1-26,AA对应27,AB对应28,以此类推
$highestColumnIndex = \PhpOffice\PhpSpreadsheet\Cell\Coordinate::columnIndexFromString($highestColumn);
/* if($highestRow <= 2){ // 因为students.xlsx表格数据是从第三行开始的
exit('Excel没有任何数据');
}*/
if ($highestRow <= 2) {
return ["code"=>101,"msg"=> "Excel没有任何数据"];
}
$data = array();
for ($row = 0; $row <= $highestRow; $row++) {
for ($row = 1; $row <= $highestRow; $row++) {
......
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 to comment