From 9f0add00d40fc00e039b92b2fb3469394b1a24f5 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期五, 28 三月 2025 14:28:59 +0800
Subject: [PATCH] 111

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs |  208 ++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 170 insertions(+), 38 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs"
index e772d08..aad8de4 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs"
@@ -4,11 +4,15 @@
 using System.Text;
 using System.Threading.Tasks;
 using AutoMapper;
+using SqlSugar;
 using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.BaseRepository;
 using WIDESEAWCS_Core.BaseServices;
 using WIDESEAWCS_ITelescopicService;
 using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_DTO;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
+using WIDESEAWCS_DTO.Telescopic;
 
 namespace WIDESEAWCS_TelescopicService
 {
@@ -21,70 +25,138 @@
         {
             _user = user;
         }
-
-        public WebResponseContent ShowMaintence()
+        public WebResponseContent ShowMaintence(PaginationDTO pagination)
         {
             try
             {
-                var sys = _user.QueryData();
-                var main = BaseDal.QueryData();
+                int totalCount = 0;
+                var sys = _user.Db.Queryable<Sys_User>();
+                var main = Db.Queryable<Dt_Maintenance>();
 
-                var result = sys.Join(main,
-                    u => u.UserName,
-                    m => m.UserAccount,
-                    (u, m) => new
+                var query = sys.InnerJoin<Dt_Maintenance>((a, b) => a.UserName == b.UserAccount);
+                if (!string.IsNullOrEmpty(pagination.searchKeyword))
+                {
+                    query = query.Where((a, b) =>
+                       a.UserTrueName.Contains(pagination.searchKeyword) ||
+                         a.UserName.Contains(pagination.searchKeyword) ||
+                        a.CardNumber.ToString().Contains(pagination.searchKeyword)||
+                         a.Userteam.Contains(pagination.searchKeyword)
+                    );
+                }
+                    var result= query .Select((a, b) => new
+                            {
+                               b.ID,
+                               a.UserTrueName,
+                               a.UserName,
+                               a.CardNumber,
+                               a.Userteam,
+                               a.HeadImageUrl,
+                               b.IsPossible
+                           }).ToPageList(pagination.pageIndex, pagination.pageSize, ref totalCount);
+                return new WebResponseContent
+                {
+                    Status = true,
+                    Data = new
                     {
-                        u.UserTrueName,
-                        u.UserName,
-                        u.CardNumber,
-                        u.RoleName,
-                        u.HeadImageUrl,
-                        m.IsPossible,
-                    });
-                return new WebResponseContent { Status = true, Data = result };
+                        TotalCount = totalCount,//鎬绘暟
+                        PageIndex = pagination.pageIndex,//椤垫暟
+                        PageSize = pagination.pageSize,//涓�椤靛灏戜釜鏁版嵁
+                        Items = result
+                    }
+                };
             }
             catch (Exception ex)
             {
-
-                return new WebResponseContent { Status = false, Data = ex };
+                return new WebResponseContent { Status = false, Data = ex.Message };
             }
         }
 
-        public WebResponseContent PersonnelMonitoring(bool ispossible)
+
+
+
+        /// <summary>
+        /// 妯$硦鏌ヨ
+        /// </summary>
+        /// <param name="pageIndex"></param>
+        /// <param name="pageSize"></param>
+        /// <param name="searchKeyword"></param>
+        /// <returns></returns>
+        public WebResponseContent PersonnelMonitoring(PaginationDTO pagination)
         {
             try
             {
-                var sys = _user.QueryData();
-                var main = BaseDal.QueryData();
+                int totalCount = 0;
+                var sys = _user.Db.Queryable<Sys_User>();
+                var main = Db.Queryable<Dt_Maintenance>();
 
-                var result = sys.Join(main,
-                    u => u.UserName,
-                    m => m.UserAccount,
-                    (u, m) => new
+                var query = sys.InnerJoin<Dt_Maintenance>((a, b) => a.UserName == b.UserAccount)
+                               .Where((a, b) => b.IsPossible == "true"); // 鍏堢瓫閫� IsPossible 涓� true 鐨勬暟鎹�
+
+                // 濡傛灉鎻愪緵浜嗘悳绱㈠叧閿瓧锛屽垯杩涜妯$硦鏌ヨ
+                if (!string.IsNullOrEmpty(pagination.searchKeyword))
+                {
+                    query = query.Where((a, b) =>
+                        a.UserTrueName.Contains(pagination.searchKeyword) ||   // 鎸夌湡瀹炲鍚嶆ā绯婃悳绱�
+                        a.Userteam.Contains(pagination.searchKeyword));        // 鎸夌敤鎴风彮缁勬ā绯婃悳绱�
+                }
+
+                // 濡傛灉鎻愪緵浜� status 鍙傛暟锛屽垯鎸夌姸鎬佺瓫閫�
+                if (pagination.status.HasValue)//绛変环if锛坰tatus锛�=null锛�
+                {
+                    query = query.Where((a, b) => b.MaintenanceStatus == pagination.status.Value);
+                }
+
+                var result = query
+                    .Select((a, b) => new
                     {
-                        u.UserTrueName,
-                        u.RoleName,
-                        u.HeadImageUrl,
-                        m.MaintenanceStatus,
-                        m.MaintenanceDate,
-                        m.IsPossible,
-                    }).Where(x=>x.IsPossible== ispossible);
-                return new WebResponseContent { Status = true, Data = result };
+                        a.UserTrueName,
+                        a.Userteam,
+                        a.HeadImageUrl,
+                        b.MaintenanceStatus,
+                        b.MaintenanceDate,
+                        b.IsPossible,
+                    })
+                    .ToPageList(pagination.pageIndex, pagination.pageSize, ref totalCount); // 鍒嗛〉
+
+                return new WebResponseContent
+                {
+                    Status = true,
+                    Data = new
+                    {
+                        TotalCount = totalCount, // 鎬绘暟
+                        PageIndex = pagination.pageIndex,   // 褰撳墠椤电爜
+                        PageSize = pagination.pageSize,     // 姣忛〉鏁版嵁閲�
+                        Items = result
+                    }
+                };
             }
             catch (Exception ex)
             {
-
-                return new WebResponseContent { Status = false, Data = ex };
+                return new WebResponseContent { Status = false, Data = ex.Message };
             }
         }
 
-        public WebResponseContent RunOperation(int id)
+
+
+
+
+
+        public WebResponseContent RunOperation(int id, string  ispossible)
         {
             try
             {
                 var mon = BaseDal.QueryFirst(x => x.ID == id);
-                mon.IsPossible = true;
-                BaseDal.UpdateData(mon);
+                if (ispossible == "true")
+                {
+                    mon.IsPossible = "true";
+                    mon.MaintenanceDate = DateTime.Now;
+                    BaseDal.UpdateData(mon);
+                }
+                else
+                {
+                    mon.IsPossible = "false";
+                    BaseDal.UpdateData(mon);
+                }
                 return new WebResponseContent { Status = true, Data = mon };
             }
             catch (Exception ex)
@@ -134,6 +206,66 @@
         }
 
         /// <summary>
+        /// 妫�淇搷浣滆褰�
+        /// </summary>
+        /// <param name="pageIndex">椤垫暟</param>
+        /// <param name="pageSize">涓�椤靛灏戜釜鏁版嵁</param>
+        /// <returns></returns>
+        public WebResponseContent MaintenanceOperationRecord(PaginationDTO pagination)
+        {
+            try
+            {
+                int totalCount = 0;
+                var sys = _user.Db.Queryable<Sys_User>();
+                var main = Db.Queryable<Dt_Maintenance>();
+
+                var query = sys.InnerJoin<Dt_Maintenance>((a, b) => a.UserName == b.UserAccount);
+
+                if (!string.IsNullOrEmpty(pagination.searchKeyword))
+                {
+                    query = query.Where((a, b) =>
+                        a.UserTrueName.Contains(pagination.searchKeyword)||
+                        a.Userteam.Contains(pagination.searchKeyword)||
+                        a.HeadImageUrl.Contains(pagination.searchKeyword)
+                    );
+                }
+
+                if (pagination.startDate.HasValue && pagination.endDate.HasValue)
+                {
+                    query = query.Where((a, b) => b.MaintenancStartTime >= pagination.startDate.Value && b.MaintenancStartTime <= pagination.endDate.Value);
+                }
+
+                var result = query.Select((a, b) => new
+                {
+                    a.UserTrueName,
+                    a.Userteam,
+                    a.HeadImageUrl,
+                    b.MaintenancStartTime,
+                    b.MaintenancEendTime,
+                }).ToPageList(pagination.pageIndex, pagination.pageSize, ref totalCount);
+
+                return new WebResponseContent
+                {
+                    Status = true,
+                    Data = new
+                    {
+                        TotalCount = totalCount,//鎬绘暟
+                        PageIndex = pagination.pageIndex,//椤垫暟
+                        PageSize = pagination.pageSize,//涓�椤靛灏戜釜鏁版嵁
+                        Items = result
+                    }
+                };
+            }
+            catch (Exception ex)
+            {
+
+                return new WebResponseContent { Status = false, Message = "閿欒淇℃伅锛�" + ex.Message };
+            }
+        }
+
+      
+
+        /// <summary>
         /// 鐘舵�佹灇涓�
         /// </summary>
         private enum Maint

--
Gitblit v1.9.3