From 7bd3f5d3a986a45095728e0a9745bdf0d099d77a Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期三, 30 七月 2025 08:36:39 +0800
Subject: [PATCH] 1.IPQC巡检单查询范围为当前时段的巡检单

---
 service/QC/IpqcService.cs |   82 +++++++++++++++++++++++++++++++++-------
 1 files changed, 67 insertions(+), 15 deletions(-)

diff --git a/service/QC/IpqcService.cs b/service/QC/IpqcService.cs
index 8186562..d9bcc43 100644
--- a/service/QC/IpqcService.cs
+++ b/service/QC/IpqcService.cs
@@ -104,21 +104,73 @@
 
         var totalCount = 0;
 
-        var pageList = Db.Queryable<VIpqcXj>()
-            .WhereIF(!string.IsNullOrWhiteSpace(queryObj.keyword), a =>
-                a.ItemNo.Contains(queryObj.keyword) ||
-                a.ItemName.Contains(queryObj.keyword) ||
-                a.Daa001.Contains(queryObj.keyword) ||
-                a.ReleaseNo.Contains(queryObj.keyword) ||
-                a.DepartmentName.Contains(queryObj.keyword) ||
-                a.xtName.Contains(queryObj.keyword)
-            )
-            .WhereIF(UtilityHelper.CheckGuid(parsedGuid),
-                a => a.Guid == parsedGuid.ToString())
-            .Where(a => (a.FSubmit ?? 0) == 0)
-            .OrderByDescending(a => a.CreateDate)
-            .OrderBy(a => a.checkTimeSlot)
-            .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
+        //var pageList = Db.Queryable<VIpqcXj>()
+        //    .WhereIF(!string.IsNullOrWhiteSpace(queryObj.keyword), a =>
+        //        a.ItemNo.Contains(queryObj.keyword) ||
+        //        a.ItemName.Contains(queryObj.keyword) ||
+        //        a.Daa001.Contains(queryObj.keyword) ||
+        //        a.ReleaseNo.Contains(queryObj.keyword) ||
+        //        a.DepartmentName.Contains(queryObj.keyword) ||
+        //        a.xtName.Contains(queryObj.keyword)
+        //    )
+        //    .WhereIF(UtilityHelper.CheckGuid(parsedGuid),
+        //        a => a.Guid == parsedGuid.ToString())
+        //    .Where(a => (a.FSubmit ?? 0) == 0)
+        //    .OrderByDescending(a => a.CreateDate)
+        //    .OrderBy(a => a.checkTimeSlot)
+        //    .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
+
+        var sql = string.Format(@"SELECT [guid],
+       [fsubmit],
+       [MODIFY1_FLAG],
+       [LOT_NO],
+       [FNG_HANDLE],
+       [FVERSION],
+       [LOT_NO1],
+       [FCOVERT_QTY],
+       [FCHECK_RESU],
+       [RELEASE_NO],
+       [DAA001],
+       [FBATCH_QTY],
+       [ITEM_NO],
+       [FCHECK_BY],
+       [FNG_DESC],
+       [CREATE_BY],
+       [DAA013],
+       [sj_xt],
+       [departmentname],
+       [name],
+       [ITEM_NAME],
+       [remarks],
+       [DATE_01],
+       [ITEM_MODEL],
+       [CREATE_DATE],
+       [line_id],
+       [check_time_slot],
+       ROW_NUMBER() OVER (ORDER BY [CREATE_DATE] DESC, [check_time_slot] ASC) AS RowIndex
+FROM [V_IPQC_XJ]
+WHERE
+    ISNULL([fsubmit], 0) = 0
+    AND (
+        -- 澶勭悊22瀛楃鐨勬爣鍑嗘椂闂存 (e.g. '2025-07-29 08:00-10:00')
+        (
+            LEN([check_time_slot]) = 22
+            AND TRY_CONVERT(date, SUBSTRING([check_time_slot], 1, 10)) = CAST(GETDATE() AS date)
+            AND CAST(GETDATE() AS time) BETWEEN
+                TRY_CAST(SUBSTRING([check_time_slot], 12, 5) + ':00' AS time)
+                AND TRY_CAST(SUBSTRING([check_time_slot], 18, 5) + ':00' AS time)
+        )
+        OR
+        -- 澶勭悊13瀛楃鐨勫姞鐝牸寮� (e.g. '2025-07-29 鍔犵彮')
+        (
+            LEN([check_time_slot]) = 13
+            AND [check_time_slot] LIKE '%鍔犵彮'
+            AND TRY_CONVERT(date, SUBSTRING([check_time_slot], 1, 10)) = CAST(GETDATE() AS date)
+            AND CAST(GETDATE() AS time) >= '17:00:00'
+        )
+    )");
+
+        var pageList = Db.Ado.SqlQuery<VIpqcXj>(sql).ToList();
 
         return (pageList, totalCount);
     }

--
Gitblit v1.9.3