This commit is contained in:
qianhao.xu
2024-04-15 11:36:08 +08:00
parent de3001d933
commit 0f4ea6c5ba
6 changed files with 104 additions and 41 deletions

View File

@@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using ZR.Admin.WebApi.Extensions;
using ZR.Admin.WebApi.Filters;
using ZR.Model.MES.wms;
@@ -116,6 +117,68 @@ namespace ZR.Admin.WebApi.Controllers
return SUCCESS(nowProduction);
}
[HttpGet("download_template")]
[Log(Title = "下载物料清单模版", BusinessType = BusinessType.EXPORT, IsSaveRequestData = true, IsSaveResponseData = false)]
[AllowAnonymous] //不需要授权 就可以访问
public IActionResult DownloadTemplate()
{
(string, string) result = DownloadImportTemplate("物料清单模版");//返回文件名和路径
return ExportExcel(result.Item2, result.Item1);
}
[HttpGet("importData")]
[Log(Title = "物料清单批量导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false, IsSaveResponseData = true)]
[AllowAnonymous] //不需要授权 就可以访问
public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile, bool updateSupport)
{
//1.0 读取excel 文件 保存在指定位置
IWebHostEnvironment webHostEnvironment = (IWebHostEnvironment)App.ServiceProvider.GetService(typeof(IWebHostEnvironment));
string sFileName = DateTime.Now.ToString("yyyyMMddHHmmss") + formFile.FileName;
string target = Path.Combine(webHostEnvironment.WebRootPath, "wmmaterial", sFileName);
if (!Directory.Exists(Path.Combine(webHostEnvironment.WebRootPath, "wmmaterial")))
{
// 如果目录不存在就创建
Directory.CreateDirectory(Path.Combine(webHostEnvironment.WebRootPath, "wmmaterial"));
}
//2.0 解析 excel
using (var stream = formFile.OpenReadStream())
{
FileStream targetFileStream = new FileStream(target, FileMode.Create, FileAccess.Write);
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = stream.Read(buffer, 0, buffer.Length)) > 0)
{
targetFileStream.Write(buffer, 0, bytesRead);
}
//IWorkbook workbook = new XSSFWorkbook(stream);
//ISheet sheet = workbook.GetSheetAt(0); // 读取第一个工作表
//for (int i = 0; i <= sheet.LastRowNum; i++)
//{
// IRow row = sheet.GetRow(i);
// if (row != null)
// {
// for (int j = 0; j < row.LastCellNum; j++)
// {
// Console.Write(row.GetCell(j) + "\t");
// }
// Console.WriteLine();
// }
//}
}
return null;
}