#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); } ExcelImporter importer = new ExcelImporter(); 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); } //public WebResponseContent InsertProtocol_Line(int PLCid,string ChildCode,) //{ //} } }