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_StockService/Service/StockInfoService.cs |  108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 108 insertions(+), 0 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs"
index 4203711..c1920c5 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs"
@@ -1,9 +1,12 @@
 锘縰sing AutoMapper;
+using Magicodes.ExporterAndImporter.Core;
+using Magicodes.ExporterAndImporter.Excel;
 using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup;
 using SqlSugar;
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Reflection;
 using System.Text;
 using System.Threading.Tasks;
 using WIDESEA_Core;
@@ -181,5 +184,110 @@
             residueQuantity = needQuantity;
             return outStocks;
         }
+
+        //瀵煎嚭
+        public override WebResponseContent Export(PageDataOptions options)
+        {
+
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                string savePath = AppDomain.CurrentDomain.BaseDirectory + $"ExcelExport";
+                IExporter exporter = new ExcelExporter();
+                //娣诲姞鏉′欢
+                string wheres = options.ValidatePageOptions(TProperties);
+                //鑾峰彇鎺掑簭瀛楁
+                Dictionary<string, OrderByType> orderbyDic = options.GetPageDataSort(TProperties);
+
+                List<Dt_StockInfo> entities = BaseDal.QueryData(wheres, orderbyDic);
+                List<Dt_StockInfoDetail> detdata = _stockInfoDetail.QueryData();
+                List<Dt_StockInfodt> stolist= new List<Dt_StockInfodt>();
+                for (int i = 0; i < entities.Count; i++)
+                {
+                    Dt_StockInfoDetail dt_StockIndet = detdata.Where(x => x.StockId == entities[i].Id).FirstOrDefault();
+                    string MaterialTypet = "鍘熸潗鏂�";
+                    if (entities[i].MaterialType == (int)InventoryMaterialType.鎴愬搧)
+                    {
+                        MaterialTypet = "鎴愬搧";
+                    }
+                    else if(entities[i].MaterialType == (int)InventoryMaterialType.绌烘墭)
+                    {
+                        MaterialTypet = "绌烘墭";
+                    }
+
+                    string Wlstatust = "寰呮";
+                    if (entities[i].Wlstatus== (int)InventoryMaterialStatus.鍚堟牸)
+                    {
+                        Wlstatust = "鍚堟牸";
+                    }
+                    else if (entities[i].Wlstatus == (int)InventoryMaterialStatus.涓嶅悎鏍�)
+                    {
+                        Wlstatust = "涓嶅悎鏍�";
+                    }
+                    else if (entities[i].Wlstatus == (int)InventoryMaterialStatus.绌烘墭)
+                    {
+                        Wlstatust = "绌烘墭";
+                    }
+                    else if (entities[i].Wlstatus == (int)InventoryMaterialStatus.閫�璐�)
+                    {
+                        Wlstatust = "閫�璐�";
+                    }
+                    else if (entities[i].Wlstatus == (int)InventoryMaterialStatus.杩斿伐)
+                    {
+                        Wlstatust = "杩斿伐";
+                    }
+                    else if (entities[i].Wlstatus == (int)InventoryMaterialStatus.鐗归噰)
+                    {
+                        Wlstatust = "鐗归噰";
+                    }
+
+                    Dt_StockInfodt dt_ = new Dt_StockInfodt()
+                    {
+                        PalletCode = entities[i].PalletCode,
+                        MaterialType = MaterialTypet,
+                        LocationCode = entities[i].LocationCode,
+                        Wlstatus = Wlstatust,
+                        MaterielCode = dt_StockIndet?.MaterielCode ?? "", // 濡傛灉 dt_StockIndet 涓� null锛屼娇鐢ㄧ┖瀛楃涓蹭綔涓洪粯璁ゅ��
+                        MaterielName = dt_StockIndet?.MaterielName ?? "",
+                        OrderNo = dt_StockIndet?.OrderNo ?? "",
+                        BatchNo = dt_StockIndet?.BatchNo ?? "",
+                        SerialNumber = dt_StockIndet?.SerialNumber ?? "",
+                        StockQuantity = dt_StockIndet?.StockQuantity ?? 0, // 鍋囪 StockQuantity 鏄暟鍊肩被鍨嬶紝浣跨敤 0 浣滀负榛樿鍊�
+                        BatchNoName = dt_StockIndet?.BatchNoName ?? "",
+                        CreateDate = dt_StockIndet?.CreateDate ?? DateTime.MinValue, // 鍋囪 CreateDate 鏄棩鏈熺被鍨嬶紝浣跨敤榛樿鏃堕棿
+                        Remark = entities[i].Remark,
+                    };
+                    stolist.Add(dt_);
+                }
+
+                byte[] data = exporter.ExportAsByteArray(stolist).Result;
+
+                string fileName = "1.xlsx";
+
+                FileHelper.WriteFile(savePath, fileName, data);
+
+                content = WebResponseContent.Instance.OK(data: savePath + "\\" + fileName);
+            }
+            catch (Exception ex)
+            {
+                content = WebResponseContent.Instance.Error(ex.Message);
+            }
+            return content;
+        }
+
+        public class Dt_StockInfodt: Dt_StockInfoDetail
+        {
+            [ExporterHeader(DisplayName = "鎵樼洏缂栧彿")]
+            public string PalletCode { get; set; }
+
+            [ExporterHeader(DisplayName = "绫诲瀷")]
+            public string MaterialType { get; set; }
+
+            [ExporterHeader(DisplayName = "璐т綅缂栧彿")]
+            public string LocationCode { get; set; }
+
+            [ExporterHeader(DisplayName = "鐗╂枡鐘舵��")]
+            public string Wlstatus { get; set; }
+        }
     }
 }

--
Gitblit v1.9.3