From 885bd60ed54a0642c48c57a3d685cba24e4c763b Mon Sep 17 00:00:00 2001 From: huanghongfeng <huanghongfeng@hnkhzn.com> Date: 星期日, 08 十二月 2024 11:33:07 +0800 Subject: [PATCH] 1 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Service/InboundOrderService.cs | 127 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 126 insertions(+), 1 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Service/InboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Service/InboundOrderService.cs" index cb616ac..999b4a4 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Service/InboundOrderService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Service/InboundOrderService.cs" @@ -1,12 +1,21 @@ 锘縰sing AutoMapper; +using Magicodes.ExporterAndImporter.Core; +using Magicodes.ExporterAndImporter.Core.Models; +using Magicodes.ExporterAndImporter.Excel; +using MailKit.Search; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc.RazorPages; +using Org.BouncyCastle.Asn1.X509; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; +using System.Reflection; using System.Reflection.Metadata; using System.Text; using System.Threading.Tasks; using WIDESEA_Core; +using WIDESEA_Core.Attributes; using WIDESEA_Core.BaseRepository; using WIDESEA_Core.BaseServices; using WIDESEA_Core.Enums; @@ -20,6 +29,7 @@ using WIDESEA_IStockService; using WIDESEA_ITaskInfoRepository; using WIDESEA_Model.Models; +using OrderByType = SqlSugar.OrderByType; namespace WIDESEA_InboundService { @@ -246,6 +256,121 @@ } } - + //涓嬭浇妯$増 + public virtual WebResponseContent DownLoadTemplate() + { + WebResponseContent content = new WebResponseContent(); + IExporter exporter = new ExcelExporter(); + Inbounddaoc inbounddaoc = new Inbounddaoc(); + byte[] data = exporter.ExportHeaderAsByteArray(inbounddaoc).Result; + string fileName = ""; + fileName ="妯℃澘.xlsx"; + string savePath = AppDomain.CurrentDomain.BaseDirectory + $"ExcelImprotTemplate"; + FileHelper.WriteFile(savePath, fileName, data); + + content = WebResponseContent.Instance.OK(data: savePath + "\\" + fileName); + return content; + } + + //瀵煎叆 + public virtual WebResponseContent Import(List<IFormFile> files) + { + try + { + if (files == null || files.Count == 0) + return new WebResponseContent { Status = true, Message = "璇烽�夋嫨涓婁紶鐨勬枃浠�" }; + + Microsoft.AspNetCore.Http.IFormFile formFile = files[0]; + + // 浣跨敤Path.Combine锛岄伩鍏嶇‖缂栫爜璺緞鍒嗛殧绗� + string dicPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ExcelImport", DateTime.Now.ToString("yyyyMMdd")); + if (!Directory.Exists(dicPath)) + Directory.CreateDirectory(dicPath); + + string fileName = $"{Guid.NewGuid()}_{formFile.FileName}"; + string fullPath = Path.Combine(dicPath, fileName); + + // 浣跨敤FileStream淇濆瓨鏂囦欢 + using (FileStream stream = new FileStream(fullPath, FileMode.Create)) + { + formFile.CopyTo(stream); + } + + // 鍒濆鍖朎xcel瀵煎叆宸ュ叿 + ExcelImporter importer = new ExcelImporter(); + + // 瀵煎叆Excel鏁版嵁 + ImportResult<Inbounddaoc> importResult = importer.Import<Inbounddaoc>(fullPath, "").Result; + + + if (importResult.HasError) + { + return WebResponseContent.Instance.Error(importResult.TemplateErrors.Serialize()); + } + // 鍋囪BaseDal鏄暟鎹闂眰锛岃繘琛屾暟鎹瓨鍌� + List<Dt_InboundOrder> dt_Inbounds = new List<Dt_InboundOrder>(); + + + + foreach (var item in importResult.Data) + { + int Startingcolumn = 0; + int Terminationcolumn = 0; + if (item.OrderType == "鎴愬搧") + { + if (item.UpperOrderNo.Contains("鍥炴枡")) + { + Startingcolumn = 14; + Terminationcolumn = 37; + } + } + + Dt_InboundOrder dt_2 = new Dt_InboundOrder() + { + OrderName = item.OrderName, + UpperOrderNo = item.UpperOrderNo, + OrderType = item.OrderType == "鍘熸潗鏂�" ? (int)InventoryMaterialType.鍘熸潗鏂� : (int)InventoryMaterialType.鎴愬搧, + OrderNo = item.OrderNo, + CreateType = (int)CreateType.daoru, + Creater = "瀵煎叆", + CreateDate = DateTime.Now, + Startingcolumn= Startingcolumn, + Terminationcolumn= Terminationcolumn + }; + dt_Inbounds.Add(dt_2); + } + BaseDal.AddData(dt_Inbounds); + + return WebResponseContent.Instance.OK(); + } + catch (Exception ex) + { + // 鎹曡幏寮傚父骞惰繑鍥為敊璇秷鎭� + return WebResponseContent.Instance.Error(ex.Message); + } + } + + public class Inbounddaoc + { + [ImporterHeader(Name = "鐗╂枡鍙�")] + [ExporterHeader(DisplayName = "鐗╂枡鍙�")] + [SugarColumn(IsNullable = true, ColumnDescription = "鐗╂枡鍙�", ColumnName = "鐗╂枡鍙�")] + public string OrderName { get; set; } + + [ImporterHeader(Name = "鐗╂枡鍚嶇О")] + [ExporterHeader(DisplayName = "鐗╂枡鍚嶇О")] + [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "鐗╂枡鍚嶇О", ColumnName = "鐗╂枡鍚嶇О")] + public string UpperOrderNo { get; set; } + + [ImporterHeader(Name = "绫诲瀷")] + [ExporterHeader(DisplayName = "绫诲瀷")] + [SugarColumn(IsNullable = true, ColumnDescription = "绫诲瀷", ColumnName = "绫诲瀷")] + public string OrderType { get; set; } + + [ImporterHeader(Name = "鐗╂枡璇︽儏")] + [ExporterHeader(DisplayName = "鐗╂枡璇︽儏")] + [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "鐗╂枡璇︽儏", ColumnName = "鐗╂枡璇︽儏")] + public string OrderNo { get; set; } + } } } -- Gitblit v1.9.3