From ac93c4092a21dbf0fa9cf8b9b1302f2d5d183f61 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期一, 09 六月 2025 20:48:20 +0800
Subject: [PATCH] 修改提示字段

---
 project/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs |  161 ++++++++++++++++++++++-------------------------------
 1 files changed, 67 insertions(+), 94 deletions(-)

diff --git a/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs b/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs
index 81671f3..a99fa9d 100644
--- a/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs
+++ b/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs
@@ -111,42 +111,22 @@
 
 
         /// <summary>
-        /// 浜哄憳鐩戞帶
+        /// 浜哄憳鐩戞帶锛堟暟瀛楀ぇ灞忥級
         /// </summary>
         /// <param name="pageIndex"></param>
         /// <param name="pageSize"></param>
         /// <param name="searchKeyword"></param>
-        /// <returns></returns>(杩欎釜娌℃湁鐢ㄥ埌浜�)
+        /// <returns></returns>
         public WebResponseContent PersonnelMonitoring(PaginationDTO pagination)
         {
             try
             {
-                // 绗竴姝ワ細鑷姩娓呯悊杩囨湡妫�淇姸鎬�
-                var today = DateTime.Today;
-                var recordsToUpdate = Db.Queryable<Dt_Maintenance>()
-                    .Where(b => b.MaintenanceDate != null &&
-                                b.MaintenanceDate.Value.Date < today  ) 
-                    .ToList();
-
-                if (recordsToUpdate.Count > 0)
-                {
-                    foreach (var record in recordsToUpdate)//鏇存柊
-                    {
-                        record.MaintenanceDate = null;//娓呯┖妫�淇棩鏈�
-                        record.MaintenancStartTime = null;//娓呯┖寮�濮嬫椂闂�
-                        record.MaintenancEendTime = null;//娓呯┖缁撴潫鏃堕棿
-                        record.MaintenanceStatus = 0; // Set to false
-                        record.IsPossible = "NULL"; //鏇存敼鐘舵�佷负false涓嶈繍琛屾淇�//榛樿涓篘ULL
-                    }
-                    Db.Updateable(recordsToUpdate).ExecuteCommand();
-                }
-
                 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)
-                              .Where((a, b) => b.IsPossible == "true"); // 灞曠ず杩愯妫�淇殑
+                              .Where((a, b) => b.MaintenanceStatus==1); // 灞曠ず杩愯妫�淇殑
 
                 // 鎼滅储鍏抽敭瀛�
                 if (!string.IsNullOrEmpty(pagination.searchKeyword))
@@ -156,37 +136,22 @@
                         a.Userteam.Contains(pagination.searchKeyword));
                 }
 
-                // 鐘舵�佸弬鏁�
-                if (pagination.status.HasValue)
-                {
-                    query = query.Where((a, b) => b.MaintenanceStatus == pagination.status.Value);
-                }
-
-                // 濡傛灉涓嶆槸绠$悊鍛橈紝璇锋寜閮ㄩ棬杩囨护
-                if (pagination.account != "admin")
-                {
-                    var currentUser = _user.Db.Queryable<Sys_User>()
-                        .Where(u => u.UserName == pagination.account)
-                        .First();
-
-                    if (currentUser == null)
-                    {
-                        return new WebResponseContent { Status = false, Data = "鏈幏鍙栧埌鐢ㄦ埛淇℃伅" };
-                    }
-
-                    int? deptId = currentUser.Dept_Id;
-                    query = query.Where((a, b) => a.Dept_Id == deptId);
-                }
+                //// 鐘舵�佸弬鏁�
+                //if (pagination.status.HasValue) //澶氫紶涓�涓姸鎬�
+                //{
+                //    query = query.Where((a, b) => b.MaintenanceStatus == pagination.status.Value);
+                //}
 
                 var result = query
                     .Select((a, b) => new
                     {
                         a.UserTrueName,
-                        a.Userteam,
-                        a.HeadImageUrl,
-                        b.MaintenanceStatus,
-                        b.MaintenanceDate,
-                        b.IsPossible,
+                        a.Userteam,//鐝粍
+                        a.Unit,//鍗曚綅
+                        b.ID,//id
+                        b.MaintenanceStatus,//妫�淇姸鎬�
+                        b.CreateDate,//鏃ユ湡
+                        b.MaintenancStartTime,//寮�濮嬫椂闂�
                     })
                     .ToPageList(pagination.pageIndex, pagination.pageSize, ref totalCount);
 
@@ -213,43 +178,38 @@
 
 
         /// <summary>
-        /// 鏇存柊鐘舵�佹槸鍚﹀厑璁歌繘鍏ユ淇紙娣诲姞浜嗘淇褰曪級
+        /// 鏇存柊鐘舵�佸己鍒朵笅绾匡紙娣诲姞浜嗘淇褰曪級
         /// </summary>
         /// <param name="id"></param>
         /// <param name="ispossible"></param>
         /// <returns></returns>
-        public WebResponseContent RunOperation(int id, string  ispossible)
+        public WebResponseContent RunOperation(int id,string LocalIP)
         {
             try
             {
-                var mon = BaseDal.QueryFirst(x => x.ID == id);
-                if (mon == null)
+                var user = BaseDal.QueryData();//妫�淇〃
+                
+                var maint = user.Where(x => x.ID == id).FirstOrDefault(); //鍦ㄦ淇〃涓厛鎵惧埌璇ョ敤鎴�
+                var sysuer = _user.QueryData(x => x.UserName == maint.UserAccount).FirstOrDefault();
+                if (maint == null ||sysuer==null)
                 {
-                    return new WebResponseContent { Status = false, Message = "鏃犳硶鏇存敼锛屾病鏈夋壘鍒拌鐢ㄦ埛" };
+                    return new WebResponseContent { Status = false, Message = "娌℃湁鎵惧埌璇ョ敤鎴�" };
                 }
-                var sysuer = _user.QueryData(x => x.UserName == mon.UserAccount).FirstOrDefault();
-                if (ispossible == "true")
+                 maint.MaintenanceStatus = 0;//鏀瑰彉鐘舵�佸己鍒朵笅绾�
+                BaseDal.UpdateData(maint);
+                                            //鎻掑叆璁板綍琛�
+                var recording = new Dt_MaintenanceTeam  //娣诲姞璁板綍
                 {
-                    mon.IsPossible = "true";
-                    mon.MaintenanceDate = DateTime.Now;
-                    BaseDal.UpdateData(mon);
-                    var recording = new Dt_MaintenanceTeam  //娣诲姞璁板綍
-                    {
-                        OperatorName = sysuer.UserTrueName,
-                        TeamName = sysuer.RoleName,
-                        DistributionTime = DateTime.Now,
-                        Creater = "admin",
-                        CreateDate = DateTime.Now,
+                    Account = maint.UserAccount,
+                    MaintenanceStatus = 0,
+                    OperatorName = sysuer.UserTrueName,
+                    TeamName = sysuer.RoleName,
+                    DistributionTime = DateTime.Now,
+                    IPAddress = LocalIP,
+                };
+                _team.AddData(recording);
 
-                    };
-                    _team.AddData(recording);
-                }
-                else
-                {
-                    mon.IsPossible = "false";
-                    BaseDal.UpdateData(mon);
-                }
-                return new WebResponseContent { Status = true, Data = mon };
+                return new WebResponseContent { Status = true,Message="寮哄埗涓嬬嚎鎴愬姛", Data = recording };
             }
             catch (Exception ex)
             {
@@ -642,19 +602,19 @@
             }
         }
 
-
         /// <summary>
         /// 缁撴潫妫�淇�
-        /// </summary>MaintenanceStatus 0浠h〃妫�淇畬鎴�  1浠h〃妫�淇腑
+        /// </summary>
         /// <param name="account"></param>
         /// <returns></returns>
         public WebResponseContent StopMaintenanceTask(string account)
         {
             try
             {
-                var user = BaseDal.QueryData();//妫�淇〃
+                var user = BaseDal.QueryData(); // 妫�淇〃
                 var maint = user.Where(x => x.UserAccount == account).FirstOrDefault();
-                var sysuer = _user.QueryData(x => x.UserName == account).FirstOrDefault();//鐢ㄦ埛琛�
+                var sysuer = _user.QueryData(x => x.UserName == account).FirstOrDefault(); // 鐢ㄦ埛琛�
+
                 if (maint == null || sysuer == null)
                 {
                     return new WebResponseContent { Status = false, Message = "娌℃湁鎵惧埌璇ョ敤鎴�" };
@@ -662,33 +622,46 @@
 
                 // 鏌ユ壘璇ョ敤鎴峰湪 _team 琛ㄤ腑鐨勬渶鏂颁竴鏉¤褰�
                 var lastRecord = _team.QueryData(x => x.Account == account)
-                                      .OrderByDescending(x => x.CreateDate)
-                                      .FirstOrDefault();
+                                    .OrderByDescending(x => x.CreateDate)
+                                    .FirstOrDefault();
 
                 if (lastRecord == null || lastRecord.MaintenanceStatus != 1)
                 {
                     return new WebResponseContent { Status = false, Message = "浣犺繕娌℃湁寮�濮嬫淇紝璇峰厛鐐瑰嚮寮�濮嬫淇�" };
                 }
 
-                if (maint.IsLeader == 1)//濡傛灉璇ョ敤鎴锋槸鐝暱锛岄偅涔堣绛夊叏閮ㄤ汉閮芥淇畬鎴愶紝浠栨墠鍙互缁撴潫妫�淇�
+                // 妫�鏌ユ槸鍚﹁嚦灏戞湁涓�涓粍闀垮湪鍦�
+                var activeLeaders = user.Where(x => x.IsLeader == 1 && x.MaintenanceStatus == 1).ToList();
+
+                // 濡傛灉褰撳墠鐢ㄦ埛鏄粍闀�
+                if (maint.IsLeader == 1)
                 {
-                    //鍏堟煡鎵炬墍鏈夌敤鎴风殑缁勬槸閭d釜缁勭殑锛岀粍鍛樼姸鎬佹湁涓�涓笉鏄�1               
-                    // 鏌ユ壘鍚岀粍鏈畬鎴愮殑缁勫憳锛圛sLeader=0 && MaintenanceStatus=1锛�
-                    var hasUnfinishedMembers = user.Where(x =>x.IsLeader == 0 &&x.MaintenanceStatus == 1).ToList(); //锛欰ny()鏈変竴涓弧瓒冲氨杩斿洖true琛ㄧず瀛樺湪婊¤冻鏉′欢鐨勮褰�
-                    if (hasUnfinishedMembers.Count>0)
+                    // 濡傛灉鏄渶鍚庝竴涓湪鍦虹殑缁勯暱
+                    if (activeLeaders.Count == 1 && activeLeaders[0].UserAccount == account)
                     {
-                        return new WebResponseContent { Status = false, Message = "杩樻湁缁勫憳鏈畬鎴愬綋鍓嶆壒娆℃淇�" };
+                        // 妫�鏌ユ槸鍚﹁繕鏈夋湭瀹屾垚鐨勭粍鍛�
+                        var unfinishedMembers = user.Where(x => x.IsLeader == 0 && x.MaintenanceStatus == 1).Any();
+                        if (unfinishedMembers)
+                        {
+                            return new WebResponseContent
+                            {
+                                Status = false,
+                                Message = "鎮ㄦ槸鏈�鍚庝竴涓湪鍦虹殑缁勯暱锛岃绛夊緟鎵�鏈夌粍鍛樺畬鎴愭淇悗鍐嶇粨鏉�"
+                            };
+                        }
                     }
                 }
-                //濡傛灉婊¤冻涓嬮潰鐨勬潯浠跺氨寮�濮�
-                maint.MaintenancEendTime = DateTime.Now;//璁板綍缁撴潫鏃堕棿
-                maint.MaintenanceStatus = 0;//鏇存敼鐘舵��
+
+                // 鏇存柊褰撳墠鐢ㄦ埛鐨勬淇姸鎬�
+                maint.MaintenancEendTime = DateTime.Now; // 璁板綍缁撴潫鏃堕棿
+                maint.MaintenanceStatus = 0; // 鏇存敼鐘舵��
                 BaseDal.UpdateData(maint);
-                ////鎻掑叆璁板綍琛�
-                var recording = new Dt_MaintenanceTeam  //娣诲姞璁板綍
+
+                // 鎻掑叆璁板綍琛�
+                var recording = new Dt_MaintenanceTeam  // 娣诲姞璁板綍
                 {
                     Account = account,
-                    MaintenanceStatus=0,
+                    MaintenanceStatus = 0,
                     OperatorName = sysuer.UserTrueName,
                     TeamName = sysuer.RoleName,
                     EndTime = DateTime.Now,

--
Gitblit v1.9.3