#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<Dt_DeviceProtocol, IDeviceProtocolRepository>, IDeviceProtocolService
|
{
|
private readonly IUnitOfWorkManage _unitOfWorkManage;
|
public DeviceProtocolService(IDeviceProtocolRepository BaseDal, IUnitOfWorkManage unitOfWorkManage) : base(BaseDal)
|
{
|
_unitOfWorkManage = unitOfWorkManage;
|
}
|
|
/// <summary>
|
/// 读取导入文件的数据返回到前端
|
/// </summary>
|
/// <param name="fileInput">文件</param>
|
/// <returns>返回读取结果,成功返回数据,失败返回错误信息</returns>
|
public WebResponseContent GetImportData(List<IFormFile> 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);
|
}
|
ExcelImporter importer = new ExcelImporter();
|
ImportResult<Dt_DeviceProtocol> importResult = importer.Import<Dt_DeviceProtocol>(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);
|
}
|
|
//public WebResponseContent InsertProtocol_Line(int PLCid, string ChildCode,decimal ProOffsetStart)
|
//{
|
// Type type = typeof();
|
//}
|
}
|
}
|