From b2be3b6939b4382f9165c78857a072f1aa7b01d0 Mon Sep 17 00:00:00 2001
From: zyf <1071160500@qq.com>
Date: 星期六, 12 四月 2025 12:34:02 +0800
Subject: [PATCH] 更新平板功能,首检页面生成巡检单

---
 MES.Service/service/MessageCenterManager.cs |   79 ++++++++++++++++++++++++++++++++++++---
 1 files changed, 73 insertions(+), 6 deletions(-)

diff --git a/MES.Service/service/MessageCenterManager.cs b/MES.Service/service/MessageCenterManager.cs
index c835790..6f322c6 100644
--- a/MES.Service/service/MessageCenterManager.cs
+++ b/MES.Service/service/MessageCenterManager.cs
@@ -1,5 +1,6 @@
 锘縰sing MES.Service.DB;
 using MES.Service.Modes;
+using SqlSugar;
 
 namespace MES.Service.service;
 
@@ -7,25 +8,87 @@
 {
     //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
 
-    public List<MessageCenter> getPushFailedPage(MessageCenter query)
+    public (List<MessageCenter> item, int TotalCount) GetPushFailedPage(
+        MessageCenter query)
+    {
+        var totalCount = IsShow(query);
+
+        //璁$畻鍒嗛〉鍙傛暟
+        var startRow = (query.PageIndex - 1) * query.Limit + 1;
+        var endRow = query.PageIndex * query.Limit;
+
+        var sql = string.Format(
+            "SELECT * FROM (SELECT \"ID\",\"TABLE_NAME\",\"URL\",\"METHOD\",\"DATA\",\"RESULT\",\"RESULT_DATA\",\"STATUS\",\"CREATE_BY\",\"CREATE_DATE\",\"TITLE\",\"PAGE_NAME\",\"DEAL_WITH\",\"PID\",\"SEQ\",\"ROUTE\",\"CONTENT_TYPE\",\"IS_MESSAGE\",\"UPDATE_BY\",\"UPDATE_DATE\", ROW_NUMBER() OVER (ORDER BY DEAL_WITH) AS RowIndex\n      FROM (SELECT \"ID\",\"TABLE_NAME\",\"URL\",\"METHOD\",\"DATA\",\"RESULT\",\"RESULT_DATA\",\"STATUS\",\"CREATE_BY\",\"CREATE_DATE\",\"TITLE\",\"PAGE_NAME\",\"DEAL_WITH\",\"PID\",\"SEQ\",\"ROUTE\",\"CONTENT_TYPE\",\"IS_MESSAGE\",\"UPDATE_BY\",\"UPDATE_DATE\" FROM MESSAGE_CENTER WHERE RESULT = 0 AND SEQ = 1 AND TITLE IS NOT NULL ORDER BY CREATE_DATE DESC)) T WHERE RowIndex BETWEEN {0} AND {1} ",
+            startRow, endRow);
+
+        var messageCenters =
+            Db.Ado.SqlQuery<MessageCenter>(sql);
+
+        return (messageCenters, totalCount);
+    }
+
+    //鏌ョ湅鏄惁鏈夋湭澶勭悊鐨勬秷鎭�
+    public int IsShow(MessageCenter query)
     {
         return Context.Queryable<MessageCenter>()
             .Where(it =>
                 it.Result == 0 && it.Status == 1 &&
-                it.Seq == 1 &&
-                it.CreateBy == query.CreateBy)
+                it.Seq == 1 && it.Title != null)
             .WhereIF(query.isShow == 1, it => it.DealWith == 0)
-            .OrderByDescending(it => it.CreateDate)
-            .ToPageList(1, 20);
+            .Count();
     }
 
-    public bool save(MessageCenter entity)
+
+    //灏嗘秷鎭缃负宸茶鐨�
+    public int UpdateRead(MessageCenter query)
+    {
+        return Db.Updateable<MessageCenter>()
+            .SetColumns(s => s.DealWith == 1)
+            .SetColumns(s => s.UpdateBy == query.UpdateBy)
+            .SetColumns(s =>
+                s.UpdateDate == DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))
+            .Where(s => s.Id == query.Id)
+            .ExecuteCommand();
+    }
+
+
+    public int save(MessageCenter entity)
     {
         entity.CreateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
         entity.Method = "POST";
+        return Db.Insertable(entity).ExecuteReturnIdentity();
+    }
+
+    public bool SetError(MessageCenter entity)
+    {
+        entity.CreateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+        entity.Method = "POST";
+        entity.Result = 0;
+        entity.DealWith = 0;
+        entity.Status = 1;
         return base.Insert(entity);
     }
 
+    //鑾峰彇鎵�鏈夋病鏈夋垚鍔熺殑璇锋眰
+    public List<MessageCenter> ErrorMsg()
+    {
+        return Context.Queryable<MessageCenter>()
+            .GroupBy(a => new
+            {
+                a.TableName, a.Pid, a.Title, a.PageName
+            })
+            .Where(a =>
+                a.DealWith == 0 && a.Status == 0 && a.Result == 0 &&
+                a.Title == null)
+            .Select<MessageCenter>(a => new MessageCenter
+            {
+                TableName = a.TableName,
+                Pid = a.Pid,
+                Title = a.Title,
+                PageName = a.PageName,
+                Count = SqlFunc.AggregateCount(a.Id)
+            }).ToList();
+    }
     //鏍规嵁鍑犵鎯呭喌鏇存柊  淇濇寔椤甸潰id鏄浐瀹氱殑
 
 
@@ -40,6 +103,10 @@
                 .SetColumns(a => a.ResultData == entity.ResultData)
                 .SetColumns(a => a.Status == entity.Status)
                 .SetColumns(a => a.DealWith == entity.DealWith)
+                .SetColumnsIF(!string.IsNullOrEmpty(entity.UpdateBy),
+                    a => a.UpdateBy == entity.UpdateBy)
+                .SetColumnsIF(!string.IsNullOrEmpty(entity.UpdateDate),
+                    a => a.UpdateDate == entity.UpdateDate)
                 .Where(a => a.Id == entity.Id)
                 .ExecuteCommand();
         });

--
Gitblit v1.9.3