From b9c76ce85e533250cd36de670146530f970859e7 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期五, 01 八月 2025 11:29:49 +0800
Subject: [PATCH] 修改伸缩杆接口

---
 项目代码/后端/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs |   76 +++++++++++++++++++++++++++++---------
 1 files changed, 58 insertions(+), 18 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs"
index 29f169b..190f7f4 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs"
@@ -174,14 +174,24 @@
         //        return new WebResponseContent { Status = false, Data = ex.Message };
         //    }
         //}
-        public WebResponseContent PersonnelMonitoring(PaginationDTO pagination)
+        /// <summary>
+        /// 浜哄憳鐩戞帶锛堟暟瀛楀ぇ灞忥級
+        /// </summary>
+        /// <param name="pageIndex"></param>
+        /// <param name="pageSize"></param>
+        /// <param name="searchKeyw
+        public WebResponseContent PersonnelMonitoring(PaginationDTO pagination, string LocalIP)
         {
             try
             {
                 int totalCount = 0;
 
+                var ip = LocalIP?.Replace("::ffff:", "") ?? ""; // 濡傛灉 LocalIP 鏄� null锛宨p 浼氭槸 ""
+                var cunstomip = _ipaddress.QueryData(x => x.IPaddress == ip).FirstOrDefault();
+
+
                 var query = _user.Db.Queryable<Dt_Maintenance>()
-                    .Where(b => b.MaintenanceStatus == 1)
+                    .Where(b => b.MaintenanceStatus == 1&&b.StationID==cunstomip.StationID)
                     .InnerJoin<Sys_User>((b, a) => b.UserAccount == a.UserName)
                     .LeftJoin<Dt_CustomIPaddress>((b, a, c) => b.IPAddress == c.IPaddress);
 
@@ -235,11 +245,12 @@
             {
                 // 1. 鏌ユ壘鐩爣鐢ㄦ埛锛堣琚己鍒朵笅绾跨殑浜猴級
                 var maint = BaseDal.QueryData().FirstOrDefault(x => x.ID == id);
-                var sysuer = _user.QueryData(x => x.UserName == maint.UserAccount).FirstOrDefault();//user琛�
-                if (maint == null || sysuer==null)
+                if (maint==null)
                 {
                     return new WebResponseContent { Status = false, Message = "娌℃湁鎵惧埌璇ョ敤鎴�" };
                 }
+                var sysuer = _user.QueryData(x => x.UserName == maint.UserAccount).FirstOrDefault();//user琛�
+               
                
 
                 // 2. 鏌ユ壘褰撳墠鐧诲綍鐢ㄦ埛锛堟墽琛屾搷浣滅殑浜猴級
@@ -260,9 +271,11 @@
 
                 // 4. 鎵ц寮哄埗涓嬬嚎
                 maint.MaintenanceStatus = 0;  // 鏀瑰彉鐘舵�佷负涓嬬嚎
+                maint.IPAddress = "";//灏唅p鍦板潃涓簄ull
+                maint.StationID = null;
                 BaseDal.UpdateData(maint);
 
-                var ip = LocalIP.Replace("::ffff:", "");
+                var ip = LocalIP?.Replace("::ffff:", "") ?? ""; // 濡傛灉 LocalIP 鏄� null锛宨p 浼氭槸 ""
 
                 // 5. 璁板綍鎿嶄綔鏃ュ織
                 var recording = new Dt_MaintenanceTeam
@@ -514,7 +527,14 @@
                 var user = BaseDal.QueryData();//妫�淇〃
                 var maint = user.Where(x => x.UserAccount == account).FirstOrDefault(); //鍦ㄦ淇〃涓厛鎵惧埌璇ョ敤鎴�
                 var sysuer = _user.QueryData(x => x.UserName == account).FirstOrDefault();//鍦ㄧ敤鎴疯〃涓壘鍒扮敤鎴�
-                
+                var ip = LocalIP?.Replace("::ffff:", "") ?? ""; // 濡傛灉 LocalIP 鏄� null锛宨p 浼氭槸 ""
+                //鎵捐澶噄p鍦板潃琛�                                                                  
+                var address = _ipaddress.QueryData(x => x.IPaddress == ip).FirstOrDefault();
+                if (address==null)
+                {
+                    return new WebResponseContent { Status = false, Message = "浣犳病鏈夐厤缃搴旂殑ip鍦板潃锛岃鍏堥厤缃紝鍦ㄦ搷浣�" };
+                }
+
                 if (maint == null || sysuer == null)
                 {
                     return new WebResponseContent { Status = false, Message = "娌℃湁鎵惧埌璇ョ敤鎴�" };
@@ -532,20 +552,24 @@
                 //鍏堣鎵惧埌璇ョ敤鎴峰睘浜庨偅涓鑹茬殑锛岃繖涓鑹蹭腑灞炰簬閭d釜浠�涔堢被鍨嬶紙缁勯暱/缁勫憳锛�
                 if (maint.IsLeader != 1)//濡傛灉璇ョ敤鎴蜂笉鏄彮闀匡紝閭d箞瑕佺瓑鐝暱鍏堝仛锛屼粬鎵嶅彲浠ュ仛
                 {
-                    bool leaderStarted = user.Any(x =>  x.IsLeader == 1 && x.MaintenanceStatus == 1); //鍚︽湁婊¤冻鏉′欢 鎵惧埌涓�鏉″氨杩斿洖true MaintenanceStatus锛�0娌℃湁寮�濮嬶紝1寮�濮嬶級
+                    //鎵捐杞ㄩ亾绔欎笂鐨勭粍闀匡紝鏄惁寮�濮嬫淇�
+                    bool leaderStarted = user.Any(x =>  x.IsLeader == 1 && x.MaintenanceStatus == 1&&x.StationID==address.StationID); //鍚︽湁婊¤冻鏉′欢 鎵惧埌涓�鏉″氨杩斿洖true锛� MaintenanceStatus锛�0娌℃湁寮�濮嬶紝1寮�濮嬶級
                     if (!leaderStarted)
                     {
                         return new WebResponseContent { Status = false, Message = "璇风瓑寰呬竴绾т汉鍛樺紑濮嬫淇�" };
                     }
 
                 }
-                var ip = LocalIP.Replace("::ffff:", "");
+               
+               
+               
                 //濡傛灉婊¤冻涓嬮潰鐨勬潯浠跺氨寮�濮�
                 maint.MaintenancStartTime = DateTime.Now;//璁板綍寮�濮嬫椂闂�
                 maint.MaintenanceStatus = 1;//鏇存敼鐘舵��
                 maint.IPAddress = ip;//鏇存敼ip鍦板潃
+                maint.StationID = address.StationID;//璁板綍璇ョ敤鎴锋槸閭d釜杞ㄩ亾绔欏紑濮嬩綔涓�
                 BaseDal.UpdateData(maint);
-                var address = _ipaddress.QueryData(x=>x.IPaddress== ip).FirstOrDefault();
+                
                 var addressIp = "";
                 if (address!=null) //鎵惧埌浜�
                 {
@@ -561,7 +585,7 @@
                     Account = account,
                     MaintenanceStatus=1,
                     OperatorName = sysuer.UserTrueName,
-                    TeamName = sysuer.RoleName,
+                    TeamName = sysuer.Userteam,
                     DistributionTime = DateTime.Now,
                     IPAddress = addressIp,
                 };
@@ -585,8 +609,18 @@
             try
             {
                 var user = BaseDal.QueryData(); // 妫�淇〃
-                var maint = user.Where(x => x.UserAccount == account).FirstOrDefault();
+                var maint = user.Where(x => x.UserAccount == account).FirstOrDefault();// 妫�淇〃
                 var sysuer = _user.QueryData(x => x.UserName == account).FirstOrDefault(); // 鐢ㄦ埛琛�
+
+                var ip = LocalIP?.Replace("::ffff:", "") ?? ""; // 濡傛灉 LocalIP 鏄� null锛宨p 浼氭槸 ""
+                var address = _ipaddress.QueryData(x => x.IPaddress == ip).FirstOrDefault();
+                var addressIp = "";
+                //濡傛灉鐢ㄦ埛涓嶅湪鍘熸湰杞ㄩ亾绔欎笂缁撴潫浠诲姟锛岄偅涔堝氨鎻愮ず浠栬浠栧洖鍘�
+                if (maint.IPAddress != ip)
+                {
+                    return new WebResponseContent { Status = false, Message = "璇峰洖鍒板師鏉ョ殑杞ㄩ亾绔欑粨鏉熶换鍔�" };
+                }
+
 
                 if (maint == null || sysuer == null)
                 {
@@ -619,7 +653,7 @@
                             return new WebResponseContent
                             {
                                 Status = false,
-                                Message = "鎮ㄦ槸鏈�鍚庝竴涓湪鍦虹殑缁勯暱锛岃绛夊緟鎵�鏈夌粍鍛樺畬鎴愭淇悗鍐嶇粨鏉�"
+                                Message = "鎮ㄦ槸鏈�鍚庝竴涓湪鍦虹殑涓�绾т汉鍛橈紝璇风瓑寰呮墍鏈変簩绾т汉鍛樺畬鎴愭淇悗鍐嶇粨鏉�"
                             };
                         }
                     }
@@ -628,9 +662,7 @@
                 //{
                 //    return new WebResponseContent { Status = false, Message = "鎿嶄綔璁惧涓嶅悓锛岃鍥炲埌鍘熸湰璁惧鍐嶇偣鍑荤粨鏉熸淇�" };
                 //}
-                var address = _ipaddress.QueryData(x => x.IPaddress == LocalIP).FirstOrDefault();
-                var ip = LocalIP.Replace("::ffff:", "");
-                var addressIp = "";
+             
                 if (address != null) //鎵惧埌浜�
                 {
                     addressIp = address.Addressname;
@@ -639,10 +671,13 @@
                 {
                     addressIp = ip;
                 }
+             
 
                 // 鏇存柊褰撳墠鐢ㄦ埛鐨勬淇姸鎬�
                 maint.MaintenancEendTime = DateTime.Now; // 璁板綍缁撴潫鏃堕棿
                 maint.MaintenanceStatus = 0; // 鏇存敼鐘舵��
+                maint.IPAddress= "";//缁撴潫浠诲姟鍚庡皢ip鍦板潃鏀逛负null
+                maint.StationID = null;//灏嗚建閬撶珯鍙锋敼涓簄ull
                 BaseDal.UpdateData(maint);
 
                 // 鎻掑叆璁板綍琛�
@@ -651,7 +686,7 @@
                     Account = account,
                     MaintenanceStatus = 0,
                     OperatorName = sysuer.UserTrueName,
-                    TeamName = sysuer.RoleName,
+                    TeamName = sysuer.Userteam,
                     IPAddress = addressIp,
                     EndTime = DateTime.Now,
                 };
@@ -670,11 +705,16 @@
         ///  灞曠ず寮�濮嬫淇汉鍛�
         /// </summary>
         /// <returns></returns>
-        public WebResponseContent YShowStartTake()
+        public WebResponseContent YShowStartTake(string LocalIP)
         {
             try
             {
-                var reslut=BaseDal.QueryData(x => x.MaintenanceStatus == 1).ToList();
+                var ip = LocalIP?.Replace("::ffff:", "") ?? ""; // 濡傛灉 LocalIP 鏄� null锛宨p 浼氭槸 ""
+                //鎵捐澶噄p鍦板潃琛�
+                var address = _ipaddress.QueryData(x => x.IPaddress == ip).FirstOrDefault();
+
+
+                var reslut=BaseDal.QueryData(x => x.MaintenanceStatus == 1&&x.IPAddress==address.IPaddress).ToList();
                 if (reslut.Count<=0)
                 {
                     return new WebResponseContent { Status = false, Message = "杩樻病鏈変汉寮�濮嬫淇�" };

--
Gitblit v1.9.3