From 661370ec981cb639e1345b007ad7e908f1cd36db Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期四, 30 四月 2026 11:01:34 +0800
Subject: [PATCH] 导出及PP出库优化

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/ProStockViewDTO.cs        |    4 ++--
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockViewService.cs |   15 +++++++++++++--
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/PP仓/StackerCraneJob_PP.cs  |    8 ++++++--
 3 files changed, 21 insertions(+), 6 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/PP\344\273\223/StackerCraneJob_PP.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/PP\344\273\223/StackerCraneJob_PP.cs"
index f3f70c4..432ea03 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/PP\344\273\223/StackerCraneJob_PP.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/PP\344\273\223/StackerCraneJob_PP.cs"
@@ -302,10 +302,14 @@
                     {
                         return existTask;
                     }
+                    //else if (existTask != null && existTask.TaskState != (int)TaskStatusEnum.SC_Execute)
+                    //{
+                    //    WriteError(commonStackerCrane.DeviceCode, $"浠诲姟{task.TaskNum}娴呰揣浣嶄换鍔existTask.TaskNum}浠诲姟鐘舵�佷笉涓哄爢鍨涘緟鎵ц");
+                    //    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"浠诲姟{task.TaskNum}娴呰揣浣嶄换鍔existTask.TaskNum}浠诲姟鐘舵�佷笉涓哄爢鍨涘緟鎵ц");
+                    //    return null;
+                    //}
                     else if (existTask != null && existTask.TaskState != (int)TaskStatusEnum.SC_Execute)
                     {
-                        WriteError(commonStackerCrane.DeviceCode, $"浠诲姟{task.TaskNum}娴呰揣浣嶄换鍔existTask.TaskNum}浠诲姟鐘舵�佷笉涓哄爢鍨涘緟鎵ц");
-                        _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"浠诲姟{task.TaskNum}娴呰揣浣嶄换鍔existTask.TaskNum}浠诲姟鐘舵�佷笉涓哄爢鍨涘緟鎵ц");
                         return null;
                     }
                     else
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/ProStockViewDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/ProStockViewDTO.cs"
index 412d4ff..2712e90 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/ProStockViewDTO.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/ProStockViewDTO.cs"
@@ -90,9 +90,9 @@
         [ExporterHeader(DisplayName = "鐗堟湰")]
         public string ProductVersion { get; set; }
         /// <summary>
-        /// 鐗堟湰
+        /// 閿�鍞寚娲剧増鏈�
         /// </summary>
-        [ExporterHeader(DisplayName = "鐗堟湰")]
+        [ExporterHeader(DisplayName = "閿�鍞寚娲剧増鏈�")]
         public string SpecifyVer { get; set; }
 
         /// <summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockViewService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockViewService.cs"
index 1c3b428..9cc3061 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockViewService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockViewService.cs"
@@ -254,6 +254,14 @@
                             }
 
                             {
+                                SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_ProStockInfoDetail.LotNumber).FirstLetterToLower());
+                                if (searchParameters != null)
+                                {
+                                    sugarQueryable1 = sugarQueryable1.Where(x => x.proStockInfoDetails.Any(v => v.LotNumber.Contains(searchParameters.Value)));
+                                }
+                            }
+
+                            {
                                 SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_ProStockInfoDetail.ProductVersion).FirstLetterToLower());
                                 if (searchParameters != null)
                                 {
@@ -274,7 +282,6 @@
                 ISugarQueryable<Dt_LocationInfo> sugarQueryable = _dbBase.Queryable<Dt_LocationInfo>().Where(whereLo);
 
                 EntityProperties.ValidatePageOptions(options, ref sugarQueryable);
-
                 ISugarQueryable<ProStockViewDTO> list = sugarQueryable1.InnerJoin(sugarQueryable, (b, a) => a.LocationCode == b.LocationCode).Select((b, a)
                     => new ProStockViewDTO
                     {
@@ -327,7 +334,11 @@
                 //stockViewDTOs.AddRange(pklist.ToList());
                 stockViewDTOs.ForEach(x =>
                 {
-                    x.ProductCode = string.Join(",", x.Details.Select(x => x.ProductCode).Distinct());
+                    x.ProductCode = string.Join(",", 
+                        x.Details
+                            .GroupBy(d => d.ProductCode)
+                            .Select(g => $"锛堝瀷鍙穥g.Key}锛屾暟閲弡g.Sum(s=>s.StockPcsQty)}锛�")
+                    );
                     x.ProductVersion = string.Join(",", x.Details.Select(x => x.ProductVersion).Distinct());
                     x.SpecifyVer = string.Join(",", x.Details.Select(x => x.SpecifyVer).Distinct());
                     x.DateCode = x.Details.FirstOrDefault()?.DateCode ?? "";

--
Gitblit v1.9.3