From d883e7249dcd37f9bd23ea0c68d6f42bf90e398f Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期四, 11 十二月 2025 09:56:27 +0800
Subject: [PATCH] 11
---
StandardPda/MES.Service/service/Warehouse/MesInvItemStocksManager.cs | 103 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 99 insertions(+), 4 deletions(-)
diff --git a/StandardPda/MES.Service/service/Warehouse/MesInvItemStocksManager.cs b/StandardPda/MES.Service/service/Warehouse/MesInvItemStocksManager.cs
index 10d370f..27520c0 100644
--- a/StandardPda/MES.Service/service/Warehouse/MesInvItemStocksManager.cs
+++ b/StandardPda/MES.Service/service/Warehouse/MesInvItemStocksManager.cs
@@ -4,6 +4,8 @@
using SqlSugar;
using Newtonsoft.Json;
using System.Text;
+using OfficeOpenXml;
+using OfficeOpenXml.Style;
namespace MES.Service.service.Warehouse;
@@ -23,10 +25,10 @@
throw new Exception("椤电爜蹇呴』澶т簬0");
}
- if (!new[] { 10, 20, 50 }.Contains(searchDto.PageSize))
- {
- throw new Exception("姣忛〉鏉℃暟蹇呴』涓�10銆�20鎴�50");
- }
+ // if (!new[] { 10, 20, 50 }.Contains(searchDto.PageSize))
+ // {
+ // throw new Exception("姣忛〉鏉℃暟蹇呴』涓�10銆�20鎴�50");
+ // }
// 1. 鏌ヨXB_RACKING_TASK_SYXT_LOG涓璉temBarcode鍜孭alletCode鐨勬槧灏勫叧绯�
var allRackingTaskData = Db.Queryable<XbRackingTaskSyxtLog>()
@@ -678,4 +680,97 @@
throw;
}
}
+
+ /// <summary>
+ /// 瀵煎嚭鍙��璐х墿鏂欏簱瀛樹负Excel
+ /// </summary>
+ /// <param name="searchDto">鎼滅储璇锋眰鍙傛暟</param>
+ /// <returns>Excel鏂囦欢瀛楄妭鏁扮粍</returns>
+ public byte[] ExportReturnableStocksToExcel(
+ ReturnableStockSearchDto searchDto)
+ {
+ // 璁剧疆 EPPlus 璁稿彲璇佷笂涓嬫枃(闈炲晢涓氱敤閫�)
+ ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
+
+ // 鑾峰彇鎵�鏈夋暟鎹�(涓嶅垎椤�)
+ var tempSearchDto = new ReturnableStockSearchDto
+ {
+ PageIndex = 1,
+ PageSize = int.MaxValue, // 鑾峰彇鎵�鏈夋暟鎹�
+ Conditions = searchDto.Conditions
+ };
+
+ // 璋冪敤鏌ヨ鏂规硶鑾峰彇鏁版嵁
+ var result = GetReturnableStocks(tempSearchDto);
+ var dataList = result.TbBillList;
+
+ // 鍒涘缓 Excel 鏂囦欢
+ using var package = new ExcelPackage();
+ var worksheet = package.Workbook.Worksheets.Add("鍙��璐х墿鏂欏簱瀛�");
+
+ // 璁剧疆琛ㄥご
+ var headers = new[]
+ {
+ "鑹搧鐘舵��",
+ "鏄惁鎴愬搧",
+ "姣嶆墭鐩樼紪鍙�",
+ "浠撳簱缂栫爜",
+ "浠撳簱鍚嶇О",
+ "铏氭嫙搴撲綅",
+ "鐗╂枡缂栧彿",
+ "鐗╂枡鍚嶇О",
+ "鐗╂枡瑙勬牸",
+ "鐗╂枡鏁伴噺",
+ "鐗╂枡鍗曚綅",
+ "鍏ュ簱鏃堕棿",
+ "缁勭粐缂栫爜",
+ "缁勭粐鍚嶇О",
+ "鐗╂枡鏉$爜",
+ "搴撳瓨鐘舵��"
+ };
+
+ // 鍐欏叆琛ㄥご
+ for (int i = 0; i < headers.Length; i++)
+ {
+ worksheet.Cells[1, i + 1].Value = headers[i];
+ worksheet.Cells[1, i + 1].Style.Font.Bold = true;
+ worksheet.Cells[1, i + 1].Style.Fill.PatternType =
+ ExcelFillStyle.Solid;
+ worksheet.Cells[1, i + 1].Style.Fill.BackgroundColor
+ .SetColor(System.Drawing.Color.LightGray);
+ worksheet.Cells[1, i + 1].Style.HorizontalAlignment =
+ ExcelHorizontalAlignment.Center;
+ }
+
+ // 鍐欏叆鏁版嵁
+ int row = 2;
+ foreach (var item in dataList)
+ {
+ worksheet.Cells[row, 1].Value =
+ item.IqcStatus == "1" ? "鑹搧" : "涓嶈壇鍝�";
+ worksheet.Cells[row, 2].Value = item.ItemType == "1" ? "鎴愬搧" : "闈炴垚鍝�";
+ worksheet.Cells[row, 3].Value = item.StackCode;
+ worksheet.Cells[row, 4].Value = item.DepotCode;
+ worksheet.Cells[row, 5].Value = item.DepotName;
+ worksheet.Cells[row, 6].Value = item.DepotSectionsCode;
+ worksheet.Cells[row, 7].Value = item.ItemNo;
+ worksheet.Cells[row, 8].Value = item.ItemName;
+ worksheet.Cells[row, 9].Value = item.ItemModel;
+ worksheet.Cells[row, 10].Value = item.Quantity;
+ worksheet.Cells[row, 11].Value = item.ItemUnitName;
+ worksheet.Cells[row, 12].Value =
+ item.IndepDate?.ToString("yyyy-MM-dd HH:mm:ss");
+ worksheet.Cells[row, 13].Value = item.OrgCode;
+ worksheet.Cells[row, 14].Value = item.OrgName;
+ worksheet.Cells[row, 15].Value = item.ItemBarcode;
+ worksheet.Cells[row, 16].Value = item.StockStatus;
+ row++;
+ }
+
+ // 鑷姩璋冩暣鍒楀
+ worksheet.Cells[worksheet.Dimension.Address].AutoFitColumns();
+
+ // 杩斿洖 Excel 鏂囦欢瀛楄妭鏁扮粍
+ return package.GetAsByteArray();
+ }
}
\ No newline at end of file
--
Gitblit v1.9.3