From 74907784c7005b7307b690d010ce6f8292e0dc9b Mon Sep 17 00:00:00 2001 From: yanjinhui <3306209981@qq.com> Date: 星期五, 22 八月 2025 09:36:56 +0800 Subject: [PATCH] 修改单机版bug --- 项目代码/后端/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs | 75 +++++++++++++++++++++++++++++-------- 1 files changed, 59 insertions(+), 16 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 f714a20..1c5e22f 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" @@ -16,6 +16,8 @@ using SqlSugar.DistributedSystem.Snowflake; using System.IO; using System.Net; +using OfficeOpenXml.FormulaParsing.Excel.Functions.Math; +using WIDESEAWCS_Common; namespace WIDESEAWCS_TelescopicService { @@ -174,14 +176,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); @@ -249,18 +261,25 @@ { return new WebResponseContent { Status = false, Message = "褰撳墠鐧诲綍鐢ㄦ埛鏃犳晥" }; } - - // 3. 鏉冮檺妫�鏌ワ細褰撳墠鐢ㄦ埛鏄� admin 鎴� 褰撳墠鐢ㄦ埛鏄粍闀匡紙IsLeader == 1锛� - bool isAdmin = account == "admin"; + + // 3. 鏉冮檺妫�鏌ワ細褰撳墠鐢ㄦ埛鏄� admin(绠$悊鍛�) 鎴� 褰撳墠鐢ㄦ埛鏄粍闀匡紙IsLeader == 1锛� + //bool isAdmin = account == "admin"; + var isState = currentUser.Role_Id=1; //妫�鏌ユ槸涓嶆槸绠$悊鍛樿鑹诧紙绠$悊鍛樿鑹睮D涓�1锛� bool isLeader = currentUser.IsLeader == 1; // 鍋囪 Sys_User 琛ㄦ湁 IsLeader 瀛楁 - if (!isAdmin && !isLeader) + //if (!isAdmin && !isLeader) + //{ + // return new WebResponseContent { Status = false, Message = "浣犳病鏈夋潈闄愬己鍒朵笅绾�" }; + //} + if (isState != 1 && !isLeader) { return new WebResponseContent { Status = false, Message = "浣犳病鏈夋潈闄愬己鍒朵笅绾�" }; } // 4. 鎵ц寮哄埗涓嬬嚎 maint.MaintenanceStatus = 0; // 鏀瑰彉鐘舵�佷负涓嬬嚎 + maint.IPAddress = "";//灏唅p鍦板潃涓簄ull + maint.StationID = null; BaseDal.UpdateData(maint); var ip = LocalIP?.Replace("::ffff:", "") ?? ""; // 濡傛灉 LocalIP 鏄� null锛宨p 浼氭槸 "" @@ -515,7 +534,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 = "娌℃湁鎵惧埌璇ョ敤鎴�" }; @@ -533,7 +559,8 @@ //鍏堣鎵惧埌璇ョ敤鎴峰睘浜庨偅涓鑹茬殑锛岃繖涓鑹蹭腑灞炰簬閭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 = "璇风瓑寰呬竴绾т汉鍛樺紑濮嬫淇�" }; @@ -541,13 +568,15 @@ } - var ip = LocalIP?.Replace("::ffff:", "") ?? ""; // 濡傛灉 LocalIP 鏄� null锛宨p 浼氭槸 "" + + //濡傛灉婊¤冻涓嬮潰鐨勬潯浠跺氨寮�濮� 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) //鎵惧埌浜� { @@ -587,9 +616,12 @@ 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 == null || sysuer == null) { return new WebResponseContent { Status = false, Message = "娌℃湁鎵惧埌璇ョ敤鎴�" }; @@ -603,6 +635,11 @@ if (lastRecord == null || lastRecord.MaintenanceStatus != 1) { return new WebResponseContent { Status = false, Message = "浣犺繕娌℃湁寮�濮嬫淇紝璇峰厛鐐瑰嚮寮�濮嬫淇�" }; + } + //濡傛灉鐢ㄦ埛涓嶅湪鍘熸湰杞ㄩ亾绔欎笂缁撴潫浠诲姟锛岄偅涔堝氨鎻愮ず浠栬浠栧洖 + if (maint.IPAddress != ip) + { + return new WebResponseContent { Status = false, Message = "璇峰洖鍒板師鏉ョ殑杞ㄩ亾绔欑粨鏉熶换鍔�" }; } // 妫�鏌ユ槸鍚﹁嚦灏戞湁涓�涓粍闀垮湪鍦� @@ -630,9 +667,7 @@ //{ // return new WebResponseContent { Status = false, Message = "鎿嶄綔璁惧涓嶅悓锛岃鍥炲埌鍘熸湰璁惧鍐嶇偣鍑荤粨鏉熸淇�" }; //} - var address = _ipaddress.QueryData(x => x.IPaddress == LocalIP).FirstOrDefault(); - var ip = LocalIP?.Replace("::ffff:", "") ?? ""; // 濡傛灉 LocalIP 鏄� null锛宨p 浼氭槸 "" - var addressIp = ""; + if (address != null) //鎵惧埌浜� { addressIp = address.Addressname; @@ -641,10 +676,13 @@ { addressIp = ip; } + // 鏇存柊褰撳墠鐢ㄦ埛鐨勬淇姸鎬� maint.MaintenancEendTime = DateTime.Now; // 璁板綍缁撴潫鏃堕棿 maint.MaintenanceStatus = 0; // 鏇存敼鐘舵�� + maint.IPAddress= "";//缁撴潫浠诲姟鍚庡皢ip鍦板潃鏀逛负null + maint.StationID = null;//灏嗚建閬撶珯鍙锋敼涓簄ull BaseDal.UpdateData(maint); // 鎻掑叆璁板綍琛� @@ -672,11 +710,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