From bc42866b302006865a605da028a447592b5dbda9 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 11 6月 2024 15:04:36 +0800
Subject: [PATCH] 工序产量查询

---
 iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/Dto/QueryYieldOutput.cs       |  364 +++++++++++---------------------
 iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/WorkPieceProcessService.cs    |  143 ++++++------
 iWara.SCADA.Code/iWare.Wms.Core/Util/PagedUtil.cs                                             |    6 
 iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/Dto/WorkPieceProcessOutput.cs |    4 
 iWara.SCADA.Code/iWare.Wms.Application/iWare.Wms.Application.xml                              |  119 ----------
 5 files changed, 209 insertions(+), 427 deletions(-)

diff --git a/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/Dto/QueryYieldOutput.cs b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/Dto/QueryYieldOutput.cs
index 17ceaf5..17d2490 100644
--- a/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/Dto/QueryYieldOutput.cs
+++ b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/Dto/QueryYieldOutput.cs
@@ -10,153 +10,147 @@
     /// <summary>
     /// 浜ч噺鏌ヨ杈撳嚭鍙傛暟
     /// </summary>
-    public class QueryYieldOutput
+    public class QueryYieldOutput: ExportYieldOutput
     {
-        /// <summary>
-        /// 宸ヤ欢鍙�
-        /// </summary>
-        public string WorkPieceID { get; set; }
-
-        /// <summary>
-        /// 鎴愬搧鐮�
-        /// </summary>
-        public virtual string OP80NewCode { get; set; }
-
-        /// <summary>
-        /// 褰撳墠宸ュ簭
-        /// </summary>
-        public string WorkingProcedureCurrent { get; set; }
-
         /// <summary>
         /// 褰撳墠璁惧
         /// </summary>
         public string EquipmentID { get; set; }
 
-        /// <summary>
-        /// 璁惧鍚嶇О
-        /// </summary>
-        public string EquipmentName { get; set; }
+       
 
-        /// <summary>
-        /// 宸ュ簭涓婄嚎鏃堕棿
-        /// </summary>
-        public DateTime? StartTime { get; set; }
+        ///// <summary>
+        ///// 宸ヤ欢鍙�
+        ///// </summary>
+        //public string WorkPieceID { get; set; }
 
-        private DateTime? m_EndTime = null;
+        ///// <summary>
+        ///// 鎴愬搧鐮�
+        ///// </summary>
+        //public virtual string OP80NewCode { get; set; }
 
-        /// <summary>
-        /// 宸ュ簭涓嬬嚎鏃堕棿
-        /// </summary>
-        public DateTime? EndTime
-        {
-            get
-            {
 
-                if (m_EndTime == null)
-                {
-                    return null;
-                }
 
-                if (m_EndTime == Convert.ToDateTime("0001-01-01"))
-                {
-                    return null;
-                }
-                else
-                {
-                    return m_EndTime;
-                }
-            }
-            set { m_EndTime = value; }
-        }
 
-        /// <summary>
-        /// 鍔犲伐鏃堕暱
-        /// </summary>
-        public string TimeSceonds
-        {
-            get
-            {
-                if (EndTime == null || StartTime == null || EndTime == Convert.ToDateTime("0001-01-01") || StartTime == Convert.ToDateTime("0001-01-01"))
-                {
-                    return "";
-                }
 
-                TimeSpan ts = Convert.ToDateTime(EndTime) - Convert.ToDateTime(StartTime);
 
-                return Convert.ToInt32(ts.TotalMinutes).ToString() + "min";
-            }
-        }
 
-        /// <summary>
-        /// 璐ㄩ噺鐘舵��
-        /// </summary>
-        public int QualityState { get; set; }
 
-        /// <summary>
-        /// 璐ㄩ噺鐘舵�佸悕瀛�
-        /// </summary>
-        public string QualityStateName
-        {
-            get
-            {
-                if (1 == QualityState)
-                {
-                    return "鍚堟牸";
+        //private DateTime? m_EndTime = null;
 
-                }
-                else if (2 == QualityState)
-                {
+        ///// <summary>
+        ///// 宸ュ簭涓嬬嚎鏃堕棿
+        ///// </summary>
+        //public DateTime? EndTime
+        //{
+        //    get
+        //    {
 
-                    return "涓嶅悎鏍�";
-                }
-                else if (3 == QualityState)
-                {
+        //        if (m_EndTime == null)
+        //        {
+        //            return null;
+        //        }
 
-                    return "鐤戜技";
-                }
-                else
-                {
-                    return "";
-                }
-            }
-        }
+        //        if (m_EndTime == Convert.ToDateTime("0001-01-01"))
+        //        {
+        //            return null;
+        //        }
+        //        else
+        //        {
+        //            return m_EndTime;
+        //        }
+        //    }
+        //    set { m_EndTime = value; }
+        //}
 
-        /// <summary>
-        /// 鎿嶄綔绫诲瀷锛圫PC/鐢熶骇锛�
-        /// </summary>
-        public string OperationType { get; set; }
-        /// <summary>
-        /// 鎿嶄綔绫诲瀷
-        /// </summary>
-        public string OperationTypeHand
-        {
-            get
-            {
-                string str = "";
-                if (string.IsNullOrEmpty(OperationType))
-                {
-                    str = "鍏朵粬";
-                }
-                else
-                {
-                    str = OperationType;
-                }
-                return str;
-            }
-        }
-        /// <summary>
-        /// 璐ㄩ噺淇℃伅id
-        /// </summary>
-        public long QualityDataInfoID { get; set; }
+        ///// <summary>
+        ///// 鍔犲伐鏃堕暱
+        ///// </summary>
+        //public string TimeSceonds
+        //{
+        //    get
+        //    {
+        //        if (EndTime == null || StartTime == null || EndTime == Convert.ToDateTime("0001-01-01") || StartTime == Convert.ToDateTime("0001-01-01"))
+        //        {
+        //            return "";
+        //        }
 
-        /// <summary>
-        /// Id涓婚敭
-        /// </summary>
-        public long Id { get; set; }
-        /// <summary>
-        /// 鍒涘缓浜�
-        /// </summary>
-        public string CreateUserName { get; set; }
+        //        TimeSpan ts = Convert.ToDateTime(EndTime) - Convert.ToDateTime(StartTime);
+
+        //        return Convert.ToInt32(ts.TotalMinutes).ToString() + "min";
+        //    }
+        //}
+
+        ///// <summary>
+        ///// 璐ㄩ噺鐘舵��
+        ///// </summary>
+        //public int QualityState { get; set; }
+
+        ///// <summary>
+        ///// 璐ㄩ噺鐘舵�佸悕瀛�
+        ///// </summary>
+        //public string QualityStateName
+        //{
+        //    get
+        //    {
+        //        if (1 == QualityState)
+        //        {
+        //            return "鍚堟牸";
+
+        //        }
+        //        else if (2 == QualityState)
+        //        {
+
+        //            return "涓嶅悎鏍�";
+        //        }
+        //        else if (3 == QualityState)
+        //        {
+
+        //            return "鐤戜技";
+        //        }
+        //        else
+        //        {
+        //            return "";
+        //        }
+        //    }
+        //}
+
+        ///// <summary>
+        ///// 鎿嶄綔绫诲瀷锛圫PC/鐢熶骇锛�
+        ///// </summary>
+        //public string OperationType { get; set; }
+        ///// <summary>
+        ///// 鎿嶄綔绫诲瀷
+        ///// </summary>
+        //public string OperationTypeHand
+        //{
+        //    get
+        //    {
+        //        string str = "";
+        //        if (string.IsNullOrEmpty(OperationType))
+        //        {
+        //            str = "鍏朵粬";
+        //        }
+        //        else
+        //        {
+        //            str = OperationType;
+        //        }
+        //        return str;
+        //    }
+        //}
+        ///// <summary>
+        ///// 璐ㄩ噺淇℃伅id
+        ///// </summary>
+        //public long QualityDataInfoID { get; set; }
+
+        ///// <summary>
+        ///// Id涓婚敭
+        ///// </summary>
+        //public long Id { get; set; }
+        ///// <summary>
+        ///// 鍒涘缓浜�
+        ///// </summary>
+        //public string CreateUserName { get; set; }
 
     }
 
@@ -166,11 +160,11 @@
     [Description("浜ч噺鏌ヨ")]
     public class ExportYieldOutput
     {
-        /// <summary>
-        /// 宸ヤ欢鍙�
-        /// </summary>
-        [Description("宸ヤ欢鍙�")]
-        public string WorkPieceID { get; set; }
+        ///// <summary>
+        ///// 璁惧鍚嶇О
+        ///// </summary>
+        //[Description("褰撳墠璁惧")]
+        //public string EquipmentName { get; set; }
 
         /// <summary>
         /// 褰撳墠宸ュ簭
@@ -178,114 +172,16 @@
         [Description("褰撳墠宸ュ簭")]
         public string WorkingProcedureCurrent { get; set; }
 
-        /// <summary>
-        /// 璁惧鍚嶇О
-        /// </summary>
-        [Description("璁惧鍚嶇О")]
-        public string EquipmentName { get; set; }
+
 
         /// <summary>
-        /// 宸ュ簭涓婄嚎鏃堕棿
+        /// 浜ч噺姹囨�� 銆怑ditby shaocx,2024-06-11銆�
         /// </summary>
-        [Description("涓婄嚎鏃堕棿")]
-        public string StartTime { get; set; }
-
-        private string m_EndTime = "";
-        /// <summary>
-        /// 宸ュ簭涓嬬嚎鏃堕棿
-        /// </summary>
-        [Description("涓嬬嚎鏃堕棿")]
-        public string EndTime
-        {
-            get
-            {
-                if (string.IsNullOrEmpty(m_EndTime))
-                {
-                    return "";
-                }
-
-                if (m_EndTime.Contains("0001-01-01"))
-                {
-                    return "";
-                }
-                else
-                {
-                    return m_EndTime;
-                }
-            }
-            set { m_EndTime = value; }
-        }
-
-        /// <summary>
-        /// 鍔犲伐鏃堕暱
-        /// </summary>
-        [Description("鍔犲伐鏃堕暱")]
-        public string TimeSceonds
-        {
-            get
-            {
-                if (string.IsNullOrEmpty(EndTime) || string.IsNullOrEmpty(StartTime))
-                {
-                    return "";
-                }
-
-                TimeSpan ts = Convert.ToDateTime(EndTime) - Convert.ToDateTime(StartTime);
-
-                return Convert.ToInt32(ts.TotalMinutes).ToString() + "min";
-            }
-        }
-
-        /// <summary>
-        /// 璐ㄩ噺鐘舵��
-        /// </summary>
-        public int QualityState { get; set; }
-        /// <summary>
-        /// 璐ㄩ噺鐘舵�佸悕绉�
-        /// </summary>
-        [Description("璐ㄩ噺鐘舵��")]
-        public string QualityStateName
-        {
-            get
-            {
-                if (1 == QualityState)
-                {
-                    return "鍚堟牸";
-
-                }
-                else if (2 == QualityState)
-                {
-
-                    return "涓嶅悎鏍�";
-                }
-                else if (3 == QualityState)
-                {
-
-                    return "鐤戜技";
-                }
-                else
-                {
-                    return "";
-                }
-            }
-        }
-        /// <summary>
-        /// 鎴愬搧鐮�
-        /// </summary>
-        [Description("鎴愬搧鐮�")]
-        public string OP80NewCode { get; set; }
-
-        /// <summary>
-        /// Id涓婚敭
-        /// </summary>
-        public long Id { get; set; }
-        /// <summary>
-        /// 鍒涘缓浜�
-        /// </summary>
-        [Description("鏁版嵁鏉ユ簮")]
-        public string CreateUserName { get; set; }
+        [Description("浜ч噺")]
+        public int YieldCount { get; set; }
 
     }
 
-    
+
 }
 
diff --git a/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/Dto/WorkPieceProcessOutput.cs b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/Dto/WorkPieceProcessOutput.cs
index b4a0dec..9961ca5 100644
--- a/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/Dto/WorkPieceProcessOutput.cs
+++ b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/Dto/WorkPieceProcessOutput.cs
@@ -26,6 +26,10 @@
     /// </summary>
     public class WorkPieceProcessOutput
     {
+
+    
+
+
         /// <summary>
         /// 宸ヤ欢鍙�
         /// </summary>
diff --git a/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/WorkPieceProcessService.cs b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/WorkPieceProcessService.cs
index ca9e64d..a5bd838 100644
--- a/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/WorkPieceProcessService.cs
+++ b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/WorkPieceProcessService.cs
@@ -16,7 +16,9 @@
 using System.Linq;
 using System.Linq.Dynamic.Core;
 using System.Text;
+using System.Text.RegularExpressions;
 using System.Web;
+using static OfficeOpenXml.FormulaParsing.EpplusExcelDataProvider;
 
 namespace iWare.Wms.Application
 {
@@ -261,41 +263,70 @@
         [HttpGet("queryYield")]
         public async Task<PageResult<QueryYieldOutput>> QueryYield([FromQuery] WorkPieceProcessSearch input)
         {
-          
-            var workPieceProcesss = await (from process in _workPieceProcessRep.DetachedEntities
-                                           join baseinfo in _equipmentBaseInfoRep.DetachedEntities on process.EquipmentID equals baseinfo.EquipmentId into joinedEmpty
-                                           from baseinfo2 in joinedEmpty.DefaultIfEmpty()
-                                           join workPiece in _workPieceInfoRep.DetachedEntities on process.WorkPieceID equals workPiece.WorkPieceID into joined2Empty
-                                           from workPiece2 in joined2Empty.DefaultIfEmpty()
-                                           where process.IsDeleted == false && process.WorkPieceID.Contains(string.IsNullOrEmpty(input.WorkPieceID) ? "" : input.WorkPieceID)
-                     && process.QualityState == (input.QualityState.HasValue ? input.QualityState.Value : process.QualityState)
-                     && process.EquipmentID == (string.IsNullOrEmpty(input.EquipmentID) ? process.EquipmentID : input.EquipmentID)
-                     && process.WorkingProcedureCurrent == (string.IsNullOrEmpty(input.WorkingProcedureCurrent) ? process.WorkingProcedureCurrent : input.WorkingProcedureCurrent)
-                     && workPiece2.OP80NewCode == (string.IsNullOrEmpty(input.OP80NewCode) ? workPiece2.OP80NewCode : input.OP80NewCode)
-                     && process.EquipmentID == (string.IsNullOrEmpty(input.EquipmentID) ? process.EquipmentID : input.EquipmentID)
-                     && process.OperationType == (string.IsNullOrEmpty(input.OperationType) ? process.OperationType : input.OperationType)
-                     && !string.IsNullOrEmpty(process.WorkPieceID)
-                     && process.StartTime >= (input.StartTimeBeginTime.HasValue ? input.StartTimeBeginTime : DateTime.MinValue)
-                     && process.StartTime <= (input.StartTimeEndTime.HasValue ? input.StartTimeEndTime : DateTime.MaxValue)
-                                           select new WorkPieceProcessOutput
-                                           {
 
-                                               Id = process.Id,
-                                               WorkPieceID = process.WorkPieceID,
-                                               EquipmentID = process.EquipmentID,
-                                               EquipmentName = (baseinfo2 == null ? "" : baseinfo2.EquipmentName),
-                                               OP80NewCode = workPiece2.OP80NewCode,
+            var workPieceProcesss2 = await (from process in _workPieceProcessRep.DetachedEntities
+                                                //join baseinfo in _equipmentBaseInfoRep.DetachedEntities on process.EquipmentID equals baseinfo.EquipmentId into joinedEmpty
+                                                //from baseinfo2 in joinedEmpty.DefaultIfEmpty()
+                                                //join workPiece in _workPieceInfoRep.DetachedEntities on process.WorkPieceID equals workPiece.WorkPieceID into joined2Empty
+                                                //from workPiece2 in joined2Empty.DefaultIfEmpty()
+                                            where process.IsDeleted == false && process.WorkPieceID.Contains(string.IsNullOrEmpty(input.WorkPieceID) ? "" : input.WorkPieceID)
+                      && process.QualityState == (input.QualityState.HasValue ? input.QualityState.Value : process.QualityState)
+                      && process.EquipmentID == (string.IsNullOrEmpty(input.EquipmentID) ? process.EquipmentID : input.EquipmentID)
+                      && process.WorkingProcedureCurrent == (string.IsNullOrEmpty(input.WorkingProcedureCurrent) ? process.WorkingProcedureCurrent : input.WorkingProcedureCurrent)
+                      //&& workPiece2.OP80NewCode == (string.IsNullOrEmpty(input.OP80NewCode) ? workPiece2.OP80NewCode : input.OP80NewCode)
+                      && process.EquipmentID == (string.IsNullOrEmpty(input.EquipmentID) ? process.EquipmentID : input.EquipmentID)
+                      && process.OperationType == (string.IsNullOrEmpty(input.OperationType) ? process.OperationType : input.OperationType)
+                      && !string.IsNullOrEmpty(process.WorkPieceID)
+                      && process.StartTime >= (input.StartTimeBeginTime.HasValue ? input.StartTimeBeginTime : DateTime.MinValue)
+                      && process.StartTime <= (input.StartTimeEndTime.HasValue ? input.StartTimeEndTime : DateTime.MaxValue)
+                                            select new QueryYieldOutput
+                                            {
+                                                //EquipmentID = process.EquipmentID,
+                                                //EquipmentName = baseinfo2.EquipmentName,
+                                                WorkingProcedureCurrent = process.WorkingProcedureCurrent,
+                                                //StartTime = grouped.Key.StartTime,
+                                                YieldCount = 0
+                                            }).ToListAsync();
 
-                                               WorkingProcedureCurrent = process.WorkingProcedureCurrent,
-                                               StartTime = process.StartTime,
-                                               EndTime = process.EndTime,
-                                               QualityState = process.QualityState,
-                                               QualityDataInfoID = process.QualityDataInfoID,
-                                               OperationType = process.OperationType,
-                                               CreateUserName = process.CreatedUserName
-                                           }).OrderBy(o => o.StartTime)
-             .ProjectToType<QueryYieldOutput>()
-              .ToADPagedListAsync(input.PageNo, input.PageSize);
+            var workPieceProcesss = workPieceProcesss2.GroupBy(x => new { x.WorkingProcedureCurrent }).Select(y => new QueryYieldOutput
+            {
+                //EquipmentID = y.Key.EquipmentID,
+                //EquipmentName = y.Key.EquipmentName,
+                WorkingProcedureCurrent = y.Key.WorkingProcedureCurrent,
+                //StartTime = grouped.Key.StartTime,
+                YieldCount = y.ToList().Count
+            })
+              .ToADPagedList(input.PageNo, input.PageSize);
+
+            //var workPieceProcesss = await (from process in _workPieceProcessRep.DetachedEntities
+            //                               join baseinfo in _equipmentBaseInfoRep.DetachedEntities on process.EquipmentID equals baseinfo.EquipmentId into joinedEmpty
+            //                               from baseinfo2 in joinedEmpty.DefaultIfEmpty()
+            //                               join workPiece in _workPieceInfoRep.DetachedEntities on process.WorkPieceID equals workPiece.WorkPieceID into joined2Empty
+            //                               from workPiece2 in joined2Empty.DefaultIfEmpty()
+            //                               where process.IsDeleted == false && process.WorkPieceID.Contains(string.IsNullOrEmpty(input.WorkPieceID) ? "" : input.WorkPieceID)
+            //         && process.QualityState == (input.QualityState.HasValue ? input.QualityState.Value : process.QualityState)
+            //         && process.EquipmentID == (string.IsNullOrEmpty(input.EquipmentID) ? process.EquipmentID : input.EquipmentID)
+            //         && process.WorkingProcedureCurrent == (string.IsNullOrEmpty(input.WorkingProcedureCurrent) ? process.WorkingProcedureCurrent : input.WorkingProcedureCurrent)
+            //         && workPiece2.OP80NewCode == (string.IsNullOrEmpty(input.OP80NewCode) ? workPiece2.OP80NewCode : input.OP80NewCode)
+            //         && process.EquipmentID == (string.IsNullOrEmpty(input.EquipmentID) ? process.EquipmentID : input.EquipmentID)
+            //         && process.OperationType == (string.IsNullOrEmpty(input.OperationType) ? process.OperationType : input.OperationType)
+            //         && !string.IsNullOrEmpty(process.WorkPieceID)
+            //         && process.StartTime >= (input.StartTimeBeginTime.HasValue ? input.StartTimeBeginTime : DateTime.MinValue)
+            //         && process.StartTime <= (input.StartTimeEndTime.HasValue ? input.StartTimeEndTime : DateTime.MaxValue)
+            //                               //group new { process, baseinfo2 } by new { process.WorkingProcedureCurrent, process.EquipmentID, baseinfo2.EquipmentName } into grouped
+            //                               //group process by new { process.WorkingProcedureCurrent, process.EquipmentID } into grouped
+            //                               group process by new { process.WorkingProcedureCurrent } into grouped
+            //                               select new QueryYieldOutput
+            //                               {
+            //                                   // EquipmentID = grouped.Key.EquipmentID,
+            //                                   //EquipmentName = grouped.Key.EquipmentName,
+            //                                   WorkingProcedureCurrent = grouped.Key.WorkingProcedureCurrent,
+            //                                   //StartTime = grouped.Key.StartTime,
+            //                                   YieldCount = grouped.ToList().Count,
+
+            //                               }).OrderBy(o => o.StartTime)
+            // .ProjectToType<QueryYieldOutput>()
+            //  .ToADPagedListAsync(input.PageNo, input.PageSize);
 
             return workPieceProcesss;
         }
@@ -308,48 +339,14 @@
         [HttpGet("exportYield")]
         public async Task<IActionResult> ExportYield([FromQuery] WorkPieceProcessSearch input)
         {
-            var workPieceMachiningInfos = await (from process in _workPieceProcessRep.DetachedEntities
-                                                 join baseinfo in _equipmentBaseInfoRep.DetachedEntities
-                                               on process.EquipmentID equals baseinfo.EquipmentId into joinedEmpty
-                                                 from baseinfo2 in joinedEmpty.DefaultIfEmpty()
-                                                 join workPiece in _workPieceInfoRep.DetachedEntities on process.WorkPieceID equals workPiece.WorkPieceID into joined2Empty
-                                                 from workPiece2 in joined2Empty.DefaultIfEmpty()
-                                                 where process.IsDeleted == false && process.WorkPieceID.Contains(string.IsNullOrEmpty(input.WorkPieceID) ? "" : input.WorkPieceID)
-                    && process.QualityState == (input.QualityState.HasValue ? input.QualityState.Value : process.QualityState)
-                                                 && process.EquipmentID == (string.IsNullOrEmpty(input.EquipmentID) ? process.EquipmentID : input.EquipmentID)
-                                                 && process.WorkingProcedureCurrent == (string.IsNullOrEmpty(input.WorkingProcedureCurrent) ? process.WorkingProcedureCurrent : input.WorkingProcedureCurrent)
-                                                 && process.EquipmentID == (string.IsNullOrEmpty(input.EquipmentID) ? process.EquipmentID : input.EquipmentID)
-                                                 && workPiece2.OP80NewCode == (string.IsNullOrEmpty(input.OP80NewCode) ? workPiece2.OP80NewCode : input.OP80NewCode)
-                    && process.OperationType == (string.IsNullOrEmpty(input.OperationType) ? process.OperationType : input.OperationType)
-                                                && !string.IsNullOrEmpty(process.WorkPieceID)
-                    && process.StartTime >= (input.StartTimeBeginTime.HasValue ? input.StartTimeBeginTime : DateTime.MinValue)
-                    && process.StartTime <= (input.StartTimeEndTime.HasValue ? input.StartTimeEndTime : DateTime.MaxValue)
-                                                 select new WorkPieceProcessExcelOutput
-                                                 {
-                                                     OP80NewCode = workPiece2.OP80NewCode,
-
-                                                     Id = process.Id,
-                                                     WorkPieceID = process.WorkPieceID,
-                                                     //EquipmentID = process.EquipmentID,
-                                                     EquipmentName = (baseinfo2 == null ? "" : baseinfo2.EquipmentName),
-                                                     WorkingProcedureCurrent = process.WorkingProcedureCurrent,
-                                                     StartTime = process.StartTime.ToString(),
-                                                     EndTime = process.EndTime.ToString(),
-                                                     //QualityState = process.QualityState,
-                                                     CreateUserName = process.CreatedUserName
-                                                 }).OrderBy(o => o.StartTime).Distinct()
-            .ProjectToType<WorkPieceProcessExcelOutput>()
-             .ToListAsync();
-
-
-            foreach (WorkPieceProcessExcelOutput item in workPieceMachiningInfos)
-            {
-                item.StartTime = string.IsNullOrEmpty(item.StartTime) ? "" : Convert.ToDateTime(item.StartTime).ToString("yyyy-MM-dd hh:mm:ss");
-                item.EndTime = string.IsNullOrEmpty(item.EndTime) ? "" : Convert.ToDateTime(item.EndTime).ToString("yyyy-MM-dd hh:mm:ss");
-            }
+            input.PageNo = 1;
+            input.PageSize = 1000000;
+            var workPieceMachiningInfos2 = QueryYield(input);
+            var workPieceMachiningInfos = workPieceMachiningInfos2.Result.Rows.ToList();
+            var daList = workPieceMachiningInfos.Adapt<List<ExportYieldOutput>>();
 
             MemoryStream ms = new();
-            DataConvertUtil.ToExcelData(workPieceMachiningInfos, _sysDictTypeRep, _sysDictDataRep, out List<string> headers,
+            DataConvertUtil.ToExcelData(daList, _sysDictTypeRep, _sysDictDataRep, out List<string> headers,
                 out List<List<object>> data, out string sheetName);
 
             ExcelUtil.ToExcel(headers, data, sheetName, ms);
diff --git a/iWara.SCADA.Code/iWare.Wms.Application/iWare.Wms.Application.xml b/iWara.SCADA.Code/iWare.Wms.Application/iWare.Wms.Application.xml
index d0b3287..f823055 100644
--- a/iWara.SCADA.Code/iWare.Wms.Application/iWare.Wms.Application.xml
+++ b/iWara.SCADA.Code/iWare.Wms.Application/iWare.Wms.Application.xml
@@ -14926,79 +14926,9 @@
             浜ч噺鏌ヨ杈撳嚭鍙傛暟
             </summary>
         </member>
-        <member name="P:iWare.Wms.Application.QueryYieldOutput.WorkPieceID">
-            <summary>
-            宸ヤ欢鍙�
-            </summary>
-        </member>
-        <member name="P:iWare.Wms.Application.QueryYieldOutput.OP80NewCode">
-            <summary>
-            鎴愬搧鐮�
-            </summary>
-        </member>
-        <member name="P:iWare.Wms.Application.QueryYieldOutput.WorkingProcedureCurrent">
-            <summary>
-            褰撳墠宸ュ簭
-            </summary>
-        </member>
         <member name="P:iWare.Wms.Application.QueryYieldOutput.EquipmentID">
             <summary>
             褰撳墠璁惧
-            </summary>
-        </member>
-        <member name="P:iWare.Wms.Application.QueryYieldOutput.EquipmentName">
-            <summary>
-            璁惧鍚嶇О
-            </summary>
-        </member>
-        <member name="P:iWare.Wms.Application.QueryYieldOutput.StartTime">
-            <summary>
-            宸ュ簭涓婄嚎鏃堕棿
-            </summary>
-        </member>
-        <member name="P:iWare.Wms.Application.QueryYieldOutput.EndTime">
-            <summary>
-            宸ュ簭涓嬬嚎鏃堕棿
-            </summary>
-        </member>
-        <member name="P:iWare.Wms.Application.QueryYieldOutput.TimeSceonds">
-            <summary>
-            鍔犲伐鏃堕暱
-            </summary>
-        </member>
-        <member name="P:iWare.Wms.Application.QueryYieldOutput.QualityState">
-            <summary>
-            璐ㄩ噺鐘舵��
-            </summary>
-        </member>
-        <member name="P:iWare.Wms.Application.QueryYieldOutput.QualityStateName">
-            <summary>
-            璐ㄩ噺鐘舵�佸悕瀛�
-            </summary>
-        </member>
-        <member name="P:iWare.Wms.Application.QueryYieldOutput.OperationType">
-            <summary>
-            鎿嶄綔绫诲瀷锛圫PC/鐢熶骇锛�
-            </summary>
-        </member>
-        <member name="P:iWare.Wms.Application.QueryYieldOutput.OperationTypeHand">
-            <summary>
-            鎿嶄綔绫诲瀷
-            </summary>
-        </member>
-        <member name="P:iWare.Wms.Application.QueryYieldOutput.QualityDataInfoID">
-            <summary>
-            璐ㄩ噺淇℃伅id
-            </summary>
-        </member>
-        <member name="P:iWare.Wms.Application.QueryYieldOutput.Id">
-            <summary>
-            Id涓婚敭
-            </summary>
-        </member>
-        <member name="P:iWare.Wms.Application.QueryYieldOutput.CreateUserName">
-            <summary>
-            鍒涘缓浜�
             </summary>
         </member>
         <member name="T:iWare.Wms.Application.ExportYieldOutput">
@@ -15006,59 +14936,14 @@
             浜ч噺鏌ヨ瀵煎嚭杈撳嚭鍙傛暟
             </summary>
         </member>
-        <member name="P:iWare.Wms.Application.ExportYieldOutput.WorkPieceID">
-            <summary>
-            宸ヤ欢鍙�
-            </summary>
-        </member>
         <member name="P:iWare.Wms.Application.ExportYieldOutput.WorkingProcedureCurrent">
             <summary>
             褰撳墠宸ュ簭
             </summary>
         </member>
-        <member name="P:iWare.Wms.Application.ExportYieldOutput.EquipmentName">
+        <member name="P:iWare.Wms.Application.ExportYieldOutput.YieldCount">
             <summary>
-            璁惧鍚嶇О
-            </summary>
-        </member>
-        <member name="P:iWare.Wms.Application.ExportYieldOutput.StartTime">
-            <summary>
-            宸ュ簭涓婄嚎鏃堕棿
-            </summary>
-        </member>
-        <member name="P:iWare.Wms.Application.ExportYieldOutput.EndTime">
-            <summary>
-            宸ュ簭涓嬬嚎鏃堕棿
-            </summary>
-        </member>
-        <member name="P:iWare.Wms.Application.ExportYieldOutput.TimeSceonds">
-            <summary>
-            鍔犲伐鏃堕暱
-            </summary>
-        </member>
-        <member name="P:iWare.Wms.Application.ExportYieldOutput.QualityState">
-            <summary>
-            璐ㄩ噺鐘舵��
-            </summary>
-        </member>
-        <member name="P:iWare.Wms.Application.ExportYieldOutput.QualityStateName">
-            <summary>
-            璐ㄩ噺鐘舵�佸悕绉�
-            </summary>
-        </member>
-        <member name="P:iWare.Wms.Application.ExportYieldOutput.OP80NewCode">
-            <summary>
-            鎴愬搧鐮�
-            </summary>
-        </member>
-        <member name="P:iWare.Wms.Application.ExportYieldOutput.Id">
-            <summary>
-            Id涓婚敭
-            </summary>
-        </member>
-        <member name="P:iWare.Wms.Application.ExportYieldOutput.CreateUserName">
-            <summary>
-            鍒涘缓浜�
+            浜ч噺姹囨�� 銆怑ditby shaocx,2024-06-11銆�
             </summary>
         </member>
         <member name="T:iWare.Wms.Application.WorkPieceProcessDto">
diff --git a/iWara.SCADA.Code/iWare.Wms.Core/Util/PagedUtil.cs b/iWara.SCADA.Code/iWare.Wms.Core/Util/PagedUtil.cs
index d3feb26..cf9ca3a 100644
--- a/iWara.SCADA.Code/iWare.Wms.Core/Util/PagedUtil.cs
+++ b/iWara.SCADA.Code/iWare.Wms.Core/Util/PagedUtil.cs
@@ -60,15 +60,15 @@
                     TotalPage = totalPages
                 };
             }
-            catch(Exception ex)
+            catch (Exception ex)
             {
 
                 return new PageResult<TEntity>
                 {
                     PageNo = 1,
                     PageSize = 1,
-                    Rows = new  List<TEntity>(),
-                    TotalRows = 1,
+                    Rows = new List<TEntity>(),
+                    TotalRows = 0,
                     TotalPage = 1
                 };
             }

--
Gitblit v1.9.3