#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(); 
 | 
        //} 
 | 
    } 
 | 
} 
 |