fix 批量导入修改
This commit is contained in:
@@ -224,7 +224,7 @@ public class DevicesController : ControllerBase
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("bulkUploads")]
|
||||
public async Task BulkUploadsAsync([FromForm] BulkUploadsRequest request)
|
||||
public async Task BulkUploadsAsync(ImportListRequest request)
|
||||
{
|
||||
await _deviceService.BulkUploadsAsync(request);
|
||||
}
|
||||
|
||||
@@ -5,9 +5,6 @@ namespace Dlhis.Basic.Device.Request
|
||||
{
|
||||
public class ImportDeviceSaveRequest
|
||||
{
|
||||
|
||||
public long? Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 设备唯一号
|
||||
/// </summary>
|
||||
|
||||
7
Src/Dlhis.Basic/Device/Request/ImportListRequest.cs
Normal file
7
Src/Dlhis.Basic/Device/Request/ImportListRequest.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace Dlhis.Basic.Device.Request
|
||||
{
|
||||
public class ImportListRequest
|
||||
{
|
||||
public List<ImportDeviceSaveRequest> Imports { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -27,7 +27,7 @@ public interface IDeviceService : IScopeDependency
|
||||
|
||||
Task<List<RecentNumberResponse>> GetRecentNumbersAsync();
|
||||
|
||||
Task BulkUploadsAsync(BulkUploadsRequest request);
|
||||
Task BulkUploadsAsync(ImportListRequest request);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -11,13 +11,8 @@ using Kurisu.Core.DataAccess.Dto;
|
||||
using Kurisu.SqlSugar.Extensions;
|
||||
using Kurisu.SqlSugar.Services;
|
||||
using Mapster;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using MySqlX.XDevAPI.Relational;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NPOI.OpenXmlFormats;
|
||||
using NPOI.SS.UserModel;
|
||||
using NPOI.XSSF.UserModel;
|
||||
using SqlSugar;
|
||||
|
||||
namespace Dlhis.Basic.Device.Services.Implements;
|
||||
@@ -132,9 +127,9 @@ public class DeviceService : IDeviceService
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
public async Task BulkUploadsAsync(BulkUploadsRequest request)
|
||||
public async Task BulkUploadsAsync(ImportListRequest request)
|
||||
{
|
||||
var lst = ImportFromExcel(request.FormFile);
|
||||
var lst = request.Imports;
|
||||
var places = await _dbContext.Queryable<BusinessPlaceEntity>().ToListAsync();
|
||||
|
||||
foreach (var form in lst)
|
||||
@@ -500,67 +495,6 @@ public class DeviceService : IDeviceService
|
||||
|
||||
return list;
|
||||
}
|
||||
private List<ImportDeviceSaveRequest> ImportFromExcel(IFormFile formFile)
|
||||
{
|
||||
var requests = new List<ImportDeviceSaveRequest>();
|
||||
|
||||
using (var stream = formFile.OpenReadStream())
|
||||
{
|
||||
XSSFWorkbook workbook = new XSSFWorkbook(stream);
|
||||
ISheet sheet = workbook.GetSheetAt(0);
|
||||
|
||||
for (int rowIdx = 1; rowIdx <= sheet.LastRowNum; rowIdx++)
|
||||
{
|
||||
IRow row = sheet.GetRow(rowIdx);
|
||||
if (row == null) continue;
|
||||
|
||||
var request = new ImportDeviceSaveRequest();
|
||||
|
||||
request.UniqueNo = row.GetCell(0).ToString();
|
||||
request.TemplateCode = Guid.Parse(row.GetCell(1).ToString());
|
||||
request.Supplier = row.GetCell(2).ToString();
|
||||
|
||||
var funs = new List<DeviceFuncEnumType>();
|
||||
var fs = row.GetCell(3).ToString().Split(',');
|
||||
foreach (string str in fs)
|
||||
{
|
||||
switch (str)
|
||||
{
|
||||
case "1":
|
||||
funs.Add(DeviceFuncEnumType.Face);
|
||||
break;
|
||||
case "2":
|
||||
funs.Add(DeviceFuncEnumType.Card);
|
||||
break;
|
||||
case "3":
|
||||
funs.Add(DeviceFuncEnumType.QrCode);
|
||||
break;
|
||||
case "4":
|
||||
funs.Add(DeviceFuncEnumType.Control);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
request.Funcs = funs;
|
||||
request.Type = (DeviceTypeEnumType)Enum.Parse(typeof(DeviceTypeEnumType), row.GetCell(4).ToString());
|
||||
request.HeartbeatInterval = int.Parse(row.GetCell(5).ToString());
|
||||
request.DeployPlace = row.GetCell(6).ToString();
|
||||
request.DeployPosition = row.GetCell(7).ToString();
|
||||
request.DeployDirection = row.GetCell(8).ToString();
|
||||
request.ConnectionInfo = row.GetCell(9).ToString();
|
||||
request.Enable = Convert.ToBoolean(Convert.ToInt32(row.GetCell(10).ToString()));
|
||||
request.AsAttendance = Convert.ToBoolean(Convert.ToInt32(row.GetCell(11).ToString()));
|
||||
if (row.GetCell(12) != null)
|
||||
{
|
||||
request.PlaceeCode = Guid.Parse(row.GetCell(12)?.ToString());
|
||||
}
|
||||
requests.Add(request);
|
||||
}
|
||||
}
|
||||
|
||||
return requests;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Kurisu.AspNetCore" Version="0.6.1" />
|
||||
<PackageReference Include="NPOI" Version="2.6.2" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
Reference in New Issue
Block a user