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 | 184 +++++++++++++++------------------------------ 1 files changed, 63 insertions(+), 121 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 bd567dd..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,7 +271,11 @@ // 4. 鎵ц寮哄埗涓嬬嚎 maint.MaintenanceStatus = 0; // 鏀瑰彉鐘舵�佷负涓嬬嚎 + maint.IPAddress = "";//灏唅p鍦板潃涓簄ull + maint.StationID = null; BaseDal.UpdateData(maint); + + var ip = LocalIP?.Replace("::ffff:", "") ?? ""; // 濡傛灉 LocalIP 鏄� null锛宨p 浼氭槸 "" // 5. 璁板綍鎿嶄綔鏃ュ織 var recording = new Dt_MaintenanceTeam @@ -270,7 +285,7 @@ OperatorName = sysuer.UserTrueName, // 鎿嶄綔浜哄鍚� TeamName = sysuer.RoleName, // 鎿嶄綔浜鸿鑹� DistributionTime = DateTime.Now, - IPAddress = LocalIP, + IPAddress = ip, }; _team.AddData(recording); @@ -499,108 +514,6 @@ - - ///// <summary> - ///// 寮�濮嬫淇� - ///// </summary> - ///// <param name="account">璐﹀彿</param> - ///// <param name="LocalIP">閭e彴鐢佃剳鐧诲叆鐨刬p鍦板潃</param> - ///// <returns></returns> - //public WebResponseContent StartMaintenceTask(string account,string LocalIP) - //{ - // try - // { - // var user = BaseDal.QueryData(); - // var maint = user.Where(x =>x.UserAccount == account).FirstOrDefault(); - // var sysuer = _user.QueryData(x => x.UserName == account).FirstOrDefault();//鐢ㄦ埛琛� - // if (maint == null || sysuer == null) - // { - // return new WebResponseContent { Status = false, Message = "娌℃湁鎵惧埌璇ョ敤鎴�" }; - // } - // if (maint.IsLeader!=1)//濡傛灉璇ョ敤鎴蜂笉鏄彮闀匡紝閭d箞瑕佺瓑鐝暱鍏堝仛锛屼粬鎵嶅彲浠ュ仛 - // { - // bool leaderStarted = user.Any(x =>x.Roleid == maint.Roleid &&x.IsLeader == 1 &&x.MaintenanceStatus == 1); //娌℃壘鍒拌偗瀹氭槸false - // if (!leaderStarted) - // { - // return new WebResponseContent { Status = false, Message = "璇风瓑寰呯粍闀垮紑濮嬫淇�" }; - // } - - // } - // //濡傛灉婊¤冻涓嬮潰鐨勬潯浠跺氨寮�濮� - // maint.MaintenancStartTime = DateTime.Now;//璁板綍寮�濮嬫椂闂� - // maint.MaintenanceStatus = 1;//鏇存敼鐘舵�� - // BaseDal.UpdateData(maint); - // //鎻掑叆璁板綍琛� - // var recording = new Dt_MaintenanceTeam //娣诲姞璁板綍 - // { - // OperatorName = sysuer.UserTrueName, - // TeamName = sysuer.RoleName, - // DistributionTime = DateTime.Now, - // IPAddress= LocalIP, - // //Creater = "admin", - // //CreateDate = DateTime.Now, - // }; - // _team.AddData(recording); - - // return new WebResponseContent { Status = true, Data = maint,Message="寮�濮嬫淇�" }; - // } - // catch (Exception ex) - // { - // return new WebResponseContent { Status = false, Message = "閿欒淇℃伅锛�" + ex.Message }; - // } - //} - - - ///// <summary> - ///// 缁撴潫妫�淇� - ///// </summary>MaintenanceStatus 0浠h〃妫�淇畬鎴� 1浠h〃妫�淇腑 - ///// <param name="account"></param> - ///// <returns></returns> - //public WebResponseContent StopMaintenanceTask(string account) - //{ - // try - // { - // var user = BaseDal.QueryData();//妫�淇〃 - // var maint = user.Where(x => x.UserAccount == account).FirstOrDefault(); - // var sysuer = _user.QueryData(x => x.UserName == account).FirstOrDefault();//鐢ㄦ埛琛� - // if (maint == null || sysuer == null) - // { - // return new WebResponseContent { Status = false, Message = "娌℃湁鎵惧埌璇ョ敤鎴�" }; - // } - // if (maint.IsLeader == 1)//濡傛灉璇ョ敤鎴锋槸鐝暱锛岄偅涔堣绛夊叏閮ㄤ汉閮芥淇畬鎴愶紝浠栨墠鍙互缁撴潫妫�淇� - // { - // //鍏堟煡鎵炬墍鏈夌敤鎴风殑缁勬槸閭d釜缁勭殑锛岀粍鍛樼姸鎬佹湁涓�涓笉鏄�1 - // // 鏌ユ壘鍚岀粍鏈畬鎴愮殑缁勫憳锛圛sLeader=0 && MaintenanceStatus=1锛� - // bool hasUnfinishedMembers = user.Any(x =>x.Roleid == maint.Roleid && x.IsLeader == 0 && - // x.MaintenanceStatus == 1); //锛欰ny()鏈変竴涓弧瓒冲氨杩斿洖true琛ㄧず瀛樺湪婊¤冻鏉′欢鐨勮褰� - // if (hasUnfinishedMembers) - // { - // return new WebResponseContent { Status = false, Message = "杩樻湁缁勫憳鏈畬鎴愬綋鍓嶆壒娆℃淇�" }; - // } - // } - // //濡傛灉婊¤冻涓嬮潰鐨勬潯浠跺氨寮�濮� - // maint.MaintenancEendTime = DateTime.Now;//璁板綍缁撴潫鏃堕棿 - // maint.MaintenanceStatus = 0;//鏇存敼鐘舵�� - // BaseDal.UpdateData(maint); - // ////鎻掑叆璁板綍琛� - // //var recording = new Dt_MaintenanceTeam //娣诲姞璁板綍 - // //{ - // // OperatorName = sysuer.UserTrueName, - // // TeamName = sysuer.RoleName, - // // DistributionTime = DateTime.Now, - // // EndTime=DateTime.Now, - // //}; - // //_team.AddData(recording); - - // return new WebResponseContent { Status = true, Data = maint, Message = "瀹屾垚妫�淇�" }; - // } - // catch (Exception ex) - // { - // return new WebResponseContent { Status = false, Message = "閿欒淇℃伅锛�" + ex.Message }; - // } - //} - - /// <summary> /// 寮�濮嬫淇� /// </summary> @@ -614,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 = "娌℃湁鎵惧埌璇ョ敤鎴�" }; @@ -632,19 +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 = "璇风瓑寰呬竴绾т汉鍛樺紑濮嬫淇�" }; } } + + + //濡傛灉婊¤冻涓嬮潰鐨勬潯浠跺氨寮�濮� maint.MaintenancStartTime = DateTime.Now;//璁板綍寮�濮嬫椂闂� maint.MaintenanceStatus = 1;//鏇存敼鐘舵�� - maint.IPAddress = LocalIP;//鏇存敼ip鍦板潃 + maint.IPAddress = ip;//鏇存敼ip鍦板潃 + maint.StationID = address.StationID;//璁板綍璇ョ敤鎴锋槸閭d釜杞ㄩ亾绔欏紑濮嬩綔涓� BaseDal.UpdateData(maint); - var address = _ipaddress.QueryData(x=>x.IPaddress== LocalIP).FirstOrDefault(); + var addressIp = ""; if (address!=null) //鎵惧埌浜� { @@ -652,7 +577,7 @@ } else { - addressIp = LocalIP; + addressIp = ip; } //鎻掑叆璁板綍琛� var recording = new Dt_MaintenanceTeam //娣诲姞璁板綍 @@ -660,7 +585,7 @@ Account = account, MaintenanceStatus=1, OperatorName = sysuer.UserTrueName, - TeamName = sysuer.RoleName, + TeamName = sysuer.Userteam, DistributionTime = DateTime.Now, IPAddress = addressIp, }; @@ -684,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) { @@ -718,7 +653,7 @@ return new WebResponseContent { Status = false, - Message = "鎮ㄦ槸鏈�鍚庝竴涓湪鍦虹殑缁勯暱锛岃绛夊緟鎵�鏈夌粍鍛樺畬鎴愭淇悗鍐嶇粨鏉�" + Message = "鎮ㄦ槸鏈�鍚庝竴涓湪鍦虹殑涓�绾т汉鍛橈紝璇风瓑寰呮墍鏈変簩绾т汉鍛樺畬鎴愭淇悗鍐嶇粨鏉�" }; } } @@ -727,20 +662,22 @@ //{ // return new WebResponseContent { Status = false, Message = "鎿嶄綔璁惧涓嶅悓锛岃鍥炲埌鍘熸湰璁惧鍐嶇偣鍑荤粨鏉熸淇�" }; //} - var address = _ipaddress.QueryData(x => x.IPaddress == LocalIP).FirstOrDefault(); - var addressIp = ""; + if (address != null) //鎵惧埌浜� { addressIp = address.Addressname; } else { - addressIp = LocalIP; + addressIp = ip; } + // 鏇存柊褰撳墠鐢ㄦ埛鐨勬淇姸鎬� maint.MaintenancEendTime = DateTime.Now; // 璁板綍缁撴潫鏃堕棿 maint.MaintenanceStatus = 0; // 鏇存敼鐘舵�� + maint.IPAddress= "";//缁撴潫浠诲姟鍚庡皢ip鍦板潃鏀逛负null + maint.StationID = null;//灏嗚建閬撶珯鍙锋敼涓簄ull BaseDal.UpdateData(maint); // 鎻掑叆璁板綍琛� @@ -749,7 +686,7 @@ Account = account, MaintenanceStatus = 0, OperatorName = sysuer.UserTrueName, - TeamName = sysuer.RoleName, + TeamName = sysuer.Userteam, IPAddress = addressIp, EndTime = DateTime.Now, }; @@ -768,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