#region << 版 本 注 释 >>
/*----------------------------------------------------------------
* 命名空间:WIDESEAWCS_QuartzJob
* 创建者:胡童庆
* 创建时间:2024/8/2 16:13:36
* 版本:V1.0.0
* 描述:设备协议业务实现层
*
* ----------------------------------------------------------------
* 修改人:
* 修改时间:
* 版本:V1.0.1
* 修改说明:
*
*----------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
using Magicodes.ExporterAndImporter.Core.Models;
using Magicodes.ExporterAndImporter.Excel;
using Microsoft.AspNetCore.Http;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_QuartzJob.Models;
using WIDESEAWCS_QuartzJob.Repository;
namespace WIDESEAWCS_QuartzJob.Service
{
///
/// 设备协议信息业务层
///
public class DeviceProtocolService : ServiceBase, IDeviceProtocolService
{
private readonly IUnitOfWorkManage _unitOfWorkManage;
///
/// 设备协议信息业务层
///
public DeviceProtocolService(IDeviceProtocolRepository BaseDal, IUnitOfWorkManage unitOfWorkManage) : base(BaseDal)
{
_unitOfWorkManage = unitOfWorkManage;
}
///
/// 读取导入文件的数据返回到前端
///
/// 文件
/// 返回读取结果,成功返回数据,失败返回错误信息
public WebResponseContent GetImportData(List fileInput)
{
try
{
// 判断上传的文件是否为空
if (fileInput == null || fileInput.Count == 0)
return new WebResponseContent { Status = true, Message = "请选择上传的文件" };
// 获取上传的文件
Microsoft.AspNetCore.Http.IFormFile formFile = fileInput[0];
// 获取文件保存路径
string dicPath = AppDomain.CurrentDomain.BaseDirectory + $"ExcelImprot/{DateTime.Now.ToString("yyyMMdd")}/{typeof(Dt_DeviceProtocol).Name}/";
// 判断路径是否存在,不存在则创建
if (!Directory.Exists(dicPath)) Directory.CreateDirectory(dicPath);
// 生成文件名
string fileName = $"{Guid.NewGuid()}_{formFile.FileName}";
// 获取文件保存路径
dicPath = $"{dicPath}{fileName}";
// 将文件保存到指定路径
using (FileStream stream = new FileStream(dicPath, FileMode.Create))
{
formFile.CopyTo(stream);
}
// 创建Excel导入器
ExcelImporter importer = new ExcelImporter();
// 导入Excel文件
ImportResult importResult = importer.Import(dicPath, "").Result;
// 判断导入结果是否有错误
if (importResult.HasError)
{
// 返回错误信息
return WebResponseContent.Instance.Error(importResult.TemplateErrors.Serialize());
}
// 返回导入结果
return WebResponseContent.Instance.OK(data: importResult.Data);
}
catch (Exception ex)
{
// 返回异常信息
return WebResponseContent.Instance.Error(ex.Message);
}
}
///
/// 添加数据
///
///
///
public override WebResponseContent AddData(SaveModel saveModel)
{
//saveModel.MainData[""]
return base.AddData(saveModel);
}
}
}